Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » tic tac toe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.12.2004, 17:21 Uhr
~myzinsky
Gast


hi ho ich bin gerade dabei das spiel tic tac toe zu programmierne
natürlich lasse ich die einzelen spielzüge über eine schleife laufen
das probmel ist nur wenn drei X oder drei O nebemeinander sind bricht die schleife nicht ab.
hier ist meine schleife:
vielleicht kann hier jemand sagen was ich falsch mache


C++:
while( //Vertikale überprüfung -----------------------------------
               ((feld[0][0]!='X')&&(feld[1][0]!='X')&&(feld[2][0]!='X'))||
               ((feld[0][0]!='O')&&(feld[1][0]!='O')&&(feld[2][0]!='O'))||
               ((feld[0][1]!='X')&&(feld[1][1]!='X')&&(feld[2][1]!='X'))||
               ((feld[0][1]!='O')&&(feld[1][1]!='O')&&(feld[2][1]!='O'))||
               ((feld[0][2]!='X')&&(feld[1][2]!='X')&&(feld[2][2]!='X'))||
               ((feld[0][2]!='O')&&(feld[1][2]!='O')&&(feld[2][2]!='O'))||
               //Horizontale Überprüfung ---------------------------------
               ((feld[0][0]!='X')&&(feld[0][1]!='X')&&(feld[0][2]!='X'))||
               ((feld[0][0]!='O')&&(feld[0][1]!='O')&&(feld[0][1]!='O'))||
               ((feld[1][0]!='X')&&(feld[1][1]!='X')&&(feld[1][2]!='X'))||
               ((feld[1][0]!='O')&&(feld[1][1]!='O')&&(feld[1][2]!='O'))||
               ((feld[2][0]!='X')&&(feld[2][1]!='X')&&(feld[2][2]!='X'))||
               ((feld[2][0]!='O')&&(feld[2][1]!='O')&&(feld[2][2]!='O'))||
               //Diagonale Überprüfung -----------------------------------
               ((feld[0][0]!='X')&&(feld[1][1]!='X')&&(feld[2][2]!='X'))||
               ((feld[0][0]!='O')&&(feld[1][1]!='O')&&(feld[2][1]!='O'))||
               ((feld[2][2]!='X')&&(feld[1][1]!='X')&&(feld[2][0]!='X'))||
               ((feld[2][2]!='O')&&(feld[1][1]!='O')&&(feld[2][0]!='O'))
             )




Bearbeitung von Pablo:

Wie oft muss man denn euch noch sagen, dass ihr die CPP Tags selber benutzen sollt?


Dieser Post wurde am 18.12.2004 um 19:24 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.12.2004, 22:28 Uhr
ao

(Operator)


Bei sowas macht man leicht Logikfehler, ich glaube, das ist dir auch passiert. Ich formuliere solche komplizierteren Sachen meist so:


C++:
while (!Finished (...))  // Finished: bool-Funktion, die true liefert, wenn die Ende-Bedingung erfüllt ist. Unter Umständen mit Parametern zu füttern.
{
    // Schleifencode
}


bool Finished ()
{
    return (
                ( (feld[0][0] == 'X') && (feld[0][0] == 'X') && (feld[0][0] == 'X') )
            || ( (feld[0][0] == 'O') && (feld[0][0] == 'O') && (feld[0][0] == 'O') )
            // .......
             );
}



ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.12.2004, 23:14 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


www.fun-soft.de/showtopic.php?threadid=8075
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: