4 Gewinnt in C (2)?

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?


officialcuser 
Beitragsersteller
 12.04.2019, 16:16

ja keine Ahnung Zeile 177 passt was nicht sonst wär nicht das rote Quadrat da und lies mal unten

0
officialcuser 
Beitragsersteller
 12.04.2019, 16:27
@Franky12345678
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;
                                    }

0
Franky12345678  12.04.2019, 16:29
@officialcuser

"Unexpected end of file" = Unerwartetes Dateiende (Dein Code ist unvollständig und unten abgeschnitten.)

0

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.