Wie kann man dieses Spiel zum Laufen bekommen?

Dino

Neues Mitglied
Ich habe ein Programm programmiert, bei welchem kugeln zufällig oben in einem Viereck erscheinen und senkrecht runterfallen. Diese Kugeln muss man dann mit einer Platte auffangen, welche sich auf einer bestimmten Höhe jedeglich horizontal, also nach links und rechts bewegen kann. Fängt man die Kugel nicht, so hat man verloren, sollte man sie aber fangen, so bekommt man einen Punkt dazu. Alle 20 Punkte steigt das Level und das Spiel wird schneller. Ich habe hier das Programm, jedoch läuft es nicht durch den Compiler und hat mit Sicherheit viele Fehler. Ich bin noch Anfänger und benötige Hilfe. Was muss man alles ändern und tun dass es funktioniert. Übrigens erscheint die Main Funktion erst sehr spät, da ich sehr viele Funktionen zunächst gemacht habe.

C:
int plattex;  // Startposition der Platte in der Mitte
int plattey=19
int kugelx 
int kugely
#define breite 90
#define laenge 25
char Spielfeld[laenge][breite];
void Spielfeldgraphik() {
   

   
    for (int i = 0; i < laenge; i++) {
        for (int j = 0; j < breite; j++) {
            if (i == 0 || i == laenge - 1 || j == 0 || j == breite - 1) {
                Spielfeld[j] = '|'; // Ränder
            } else {
                
                
                void bestandteile() {
    for (int i = 0; i < laenge; i++) {
        for (int j = 0; j < breite; j++) {
            if (i == laenge - 2) {
                printf("^"); // Boden
            } else if (i == kugely && j == kugelx) {
                printf("O"); // Kugel
            }else if (i == bombey && j == bombex) {
                printf("Q"); // Kugel
            } else if (i == plattey && j ==plattex) {
                printf("="); // Platte
            } else {
                printf(" "); // Leerzeichen für den Rest des Spielfelds
            }
        
        printf("\n");
    }
}

            }
        }
    }

    // Ausgabe des Spielfeldes
    for (int i = 0; i < laenge; i++) {
        for (int j = 0; j < breite; j++) {
            printf("%c", Spielfeld[j]);
        }
        printf("\n");
    }
}

int Punkte;
void platte_bewegen(char richtung) {
    switch (richtung) {
        case 'a':
            plattex--;
            break;
        case 'd':
            plattex++;
            break;
        default:
            break;
    }
}

int Auffangen() {
    // Überprüfe ob die Platte die Kugel aufgefangen hat
    if (plattex == kugelx && 19 == kugely) {
        return 1;
    }
    return 0;
}


int vorbei() {

    // Überprüfe am Boden?
    if (kugely == laenge - 2) {
        return 1;
    }
    return 0;
}

int Auffangen_Bombe() {

    if (plattex == bombex && 19 == bombey) {
        return 1;
    }
    return 0;
}

kugel_level1(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(250);
}

if (Auffangen()==1) break;
} sleep(1000);
}


kugel_level2(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(225);
}

if (Auffangen()==1) break;
} sleep(500);
}


kugel_level3(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(200);
}

if (Auffangen()==1) break;
} sleep(250);
}


kugel_level4(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(175);
}
if (Auffangen()==1) break;
} sleep(225);
}

kugel_level5(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(150);
}

if (Auffangen()==1) break;
} sleep(200);
}

kugel_level6(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(100);
}

if (Auffangen()==1) break;
} sleep(100);
}


kugel_level7(){
 while(1) {
int kugelx = rand() % 90;
int kugely = 0;

while(Auffangen()==0){
kugely++;
sleep(80);
}
if (Auffangen()==1) break;
} sleep(80);
}

bombe(){
 while(1) {
int bombex = rand() % 90;
int bombey = 0;

while(1){
bombey++;
sleep(150);
}

if (Auffangen()=1) break;
} sleep(10000);
}


char Spiel;

int main()
{
    
    while(1){
    printf("wollen Sie spielen, a: ja oder b: nein?");
    scanf("%c", &Spiel);
    if( Spiel == 'a') {printf("Sie müssen die Kugeln O einsammeln, sonst haben Sie verloren. Vorsicht! Beim Einsammeln der Bomben Q ist game over. Alle 20 Punkte wird das Level höher und das Spiel somit schneller, bis Level7.");
    else break;
    while(1){
    Spielfeldgraphik();

    plattey = 19;
    plattex=breite/2;
    
if (Punkte < 20){
    printf ("level1\n")
    kugel_level1();
    bombe();
}

else if (Punkte >= 20 && <40){
    printf ("level2\n")
    kugel_level2();
    bombe();
}

else if (Punkte >= 40 && <60){
    printf ("level3\n")
    kugel_level3();
    bombe();
}

else if (Punkte >=60 && <80){
    printf ("level4\n")
    kugel_level4();
    bombe();
}

else if (Punkte >=80 && <100){
    printf ("level5\n")
    kugel_level5();
    bombe();
}

else if (Punkte >=100 && <120){
    printf ("level6\n")
    kugel_level6();
    bombe();
}

else if (Punkte >=120 && <140){
    printf ("level7\n")
    kugel_level7();
    bombe();
}



char input = _getch();
        platte_bewegen(input);

if (Auffangen()==1) Punkte++; 
printf(Punkte: "%d", Punkte);



if (vorbei()==1) break;
if (Auffangen_Bombe()==1) break;

}
printf("\nGame over, Punkte: &d", Punkte);
}}
 
Zuletzt bearbeitet von einem Moderator:
Welche Fehlermeldungen zeigt der Compiler denn? Diese Probleme dann nach und nach beheben.

Als erstes kommt bestimmt: "expected ',' or ';' before 'int'" in der dritten Zeile. Woran liegt das?
 
Danke dir, ich habe nach den einfacheren Fehlern nun gesucht und diese nach und nach behoben, jedoch denke ich , dass die es noch komplexere Fehler gibt, die das Funktionieren des Programmes verhindern. Es gibt teilweise Fehlermeldungen bei welchen ich nicht in der Lage bin, diese zu beheben...
 
Dann den neuen Code posten, die Fehlermeldung des Compilers nennen, die Du nicht verstehst, und ein Bisschen Initiative zeigen bei der Interpretation dieser Fehlermeldung. Ich verstehe nicht, was Du sonst mit diesem Thread bezweckst.
 
Zurück
Oben Unten