4 Gewinnt in C (2)?
zu der frage mit dem 4 gewinnt zurück habe die Sachen gemacht die falsch waren aber das mit dem a=true das passt noch nicht wie geht das das es stimmt
2 Antworten
zu der frage mit dem 4 gewinnt zurück habe die Sachen gemacht die falsch waren aber das mit dem a=true das passt noch nicht wie geht das das es stimmt
Geht das auch in verständlichem Deutsch?
Wo genau ist das Problem an dem Code?
Hast du meine Frage gelesen? (die sich auf das unten geschriebene bezieht).
ja ich habs gelesen weiß aber nicht was falsch ist
void feldausgeben();
void spielerWechsel();
void eingabe();
void zug();
void gewinn();
int main()
{
bool a=false;
printf(" 4 GEWINNT!\n");
feldausgeben();
while(a==false)
{
spielerWechsel();
eingabe();
zug();
feldausgeben();
gewinn();
}
printf("Spieler %ld hat gewonnen!!! /**grafischer smiley**/");
printf("Taste ... _");
getch();
return EXIT_SUCCESS;
}
char feld[7][7];
int zeilen=7;
int spalten=7;
int fuellstand[7];
bool a=false;
int spieler=2;
int spalte=0;
int zcounter;
int scounter;
void feldausgeben()
{
int zeile=0,spalte=0;
int zcounter;
int scounter;
printf("1 \t2 \t3 \t4 \t5 \t6 \t7 \n");
printf("--------------------------------------------------\n");
for(zeile=0; zeile<=ROWS-1; zeile++)
{
for(spalte=0; spalte<COLS; spalte++)
{
printf("%d\t",feld[zeile][spalte]);
}
printf("\n");
}
for(zcounter=0; zcounter<zeilen; zcounter++)
{
printf("| | | | | | |\n");
for(scounter=0; scounter<spalten; scounter++)
{
if(feld[zcounter][scounter]==0)
{
printf("| ");
}
else if(feld[zcounter][scounter]==1)
{
printf("| X ");
if(feld[zcounter][scounter]==2)
{
printf("| O");
}
}
printf("|");
printf("\n");
printf("|__|__|__|__|__|__|__|");
}
printf("\n");
}
}
void spielerWechsel()
{
if(spieler==1)
spieler=2;
else
spieler=1;
}
void eingabe()
{
do
{
printf("Spieler %d: Spaltennummer eingeben: ",spieler);
scanf("%d %d",&spalte);
if(spalte<1 || spalte>7)
printf("Ungueltige Eingabe!!!");
if(fuellstand[spalte-1]>5)
printf("Diese Spalte ist voll waehlen Sie eine andere!");
}
while(spalte<1 || spalte>7 || fuellstand[spalte-1]>5);
fuellstand[spalte-1]++;
}
void zug()
{
feld[7-fuellstand[spalte-1]][spalte-1]=spieler;
}
void gewinn()
{
int i=0,j=0;
for(i=0; i<=2; i++)
{
for(j=0; j<=7; j++)
{
if(feld[i][j]==spieler && feld [i+1][j]==spieler && feld[i+2][j]==spieler &&feld[i+3][j]==spieler)
{
a=true;
}
for(i=0; i<=7; i++)
{
for(j=0; j<=3; j++)
{
if(feld[i][j]==spieler && feld [i][j+1]==spieler && feld[i][j+2]==spieler &&feld[i][j+3]==spieler)
{
a=true;
}
for(i=0; i<=2; i++)
{
for(j=0; j<=3; j++)
{
if(feld[i][j]==spieler && feld [i+1][j+1]==spieler && feld[i+2][j+2]==spieler &&feld[i+3][j+3]==spieler)
{
a=true;
}
for(i=0; i<3; i++)
{
for(j=7; j>2; j--)
{
if(feld[i][j]==spieler && feld [i+1][j-1]==spieler && feld[i+2][j-2]==spieler &&feld[i+3][j-3]==spieler)
{
a=true;
}
"Unexpected end of file" = Unerwartetes Dateiende (Dein Code ist unvollständig und unten abgeschnitten.)
So wie es aussieht, hast du leider noch so einiges, was ich bereits in meinem Kommentar zu deiner vorherigen Frage angemerkt habe, ignoriert.
Mehrere geschweifte Klammern, die all die Kontrollstrukturen in gewinn schließen sollten, fehlen auch noch, falls dein Post diesmal tatsächlich sämtlichen Code deines Programms zeigt.
ja keine Ahnung Zeile 177 passt was nicht sonst wär nicht das rote Quadrat da und lies mal unten