ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
293
293
EMPFEHLEN
-
Hallo
Habe gerade ein Tic,Tac,Toe Spiel für den CMD-Editor programmiert und bekomme jetzt immer wenn ich eine Zahl für das anzukreuzende Feld eingeben möchte einen Fehler :/
Hier der Code (würde mich über Tipps dazu SEHR freuen, Code einfach selber ausprobieren):
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
#include <iostream> #include <conio.h> using namespace std; int main () { char cSquare1 = '1'; char cSquare2 = '2'; char cSquare3 = '3'; char cSquare4 = '4'; char cSquare5 = '5'; char cSquare6 = '6'; char cSquare7 = '7'; char cSquare8 = '8'; char cSquare9 = '9'; int iSpieler = 1; bool bGameOver = true; do { cout << cSquare1 << " | " << cSquare2 << " | " << cSquare3 << endl; cout << cSquare4 << " | " << cSquare5 << " | " << cSquare6 << endl; cout << cSquare7 << " | " << cSquare8 << " | " << cSquare9 << endl; char cZeichen; if (iSpieler == 1) {cZeichen = 'X'; } else {cZeichen = 'O'; } cout <<"Player" << iSpieler << "'s move:" << endl; bool bEingabe; do {char cInput; cin >> cInput; bEingabe = true; if (cInput == '1' && cSquare1 == '1') {cSquare1 = cZeichen; } else if (cInput == '2' && cSquare1 == '2') {cSquare1 = cZeichen; } else if (cInput == '3' && cSquare1 == '3') {cSquare1 = cZeichen; } else if (cInput == '4' && cSquare1 == '4') {cSquare1 = cZeichen; } else if (cInput == '5' && cSquare1 == '5') {cSquare1 = cZeichen; } else if (cInput == '6' && cSquare1 == '6') {cSquare1 = cZeichen; } else if (cInput == '7' && cSquare1 == '7') {cSquare1 = cZeichen; } else if (cInput == '8' && cSquare1 == '8') {cSquare1 = cZeichen; } else if (cInput == '9' && cSquare1 == '9') {cSquare1 = cZeichen; } else {cout << "Falsche Eingabe. Versuche es noch einmal" << endl; bEingabe = false; } } while ( !bEingabe); //cEingabe != true || cEingabe == false bGameOver = false; bool bWinGame = true; if (cSquare1 != '1') { if(cSquare2 == cSquare1 && cSquare3 == cSquare1) {bGameOver = true; } if(cSquare4 == cSquare1 && cSquare7 == cSquare1) {bGameOver = true; } } if (cSquare5 != '5') { if(cSquare1 == cSquare5 && cSquare9 == cSquare5) {bGameOver = true; } if(cSquare2 == cSquare5 && cSquare8 == cSquare5) {bGameOver = true; } if(cSquare4 == cSquare5 && cSquare6 == cSquare5) {bGameOver = true; } if(cSquare7 == cSquare5 && cSquare3 == cSquare5) {bGameOver = true; } } if (cSquare5 != '9') { if(cSquare3 == cSquare9 && cSquare6 == cSquare9) {bGameOver = true; } if(cSquare7 == cSquare9 && cSquare8 == cSquare9) {bGameOver = true; } } //Unentschieden if (cSquare1 != '1' && cSquare2 != '2' && cSquare3 != '3' && cSquare4 != '4' && cSquare5 != '5' && cSquare6 != '6' && cSquare7 != '7' && cSquare8 != '8' && cSquare9 != '9' && !bGameOver) { bGameOver = true; bWinGame = false; } if (bGameOver) //bGameOver == true || bGameOver != false { if (bWinGame) //bWingame == true {cout <<"Player" << iSpieler << " wins!" << endl; } cout << cSquare1 << " | " << cSquare2 << " | " << cSquare3 << endl; cout << cSquare4 << " | " << cSquare5 << " | " << cSquare6 << endl; cout << cSquare7 << " | " << cSquare8 << " | " << cSquare9 << endl; cout <<"Game Over!" << endl; cout <<"Play again (y/n) ?" << endl; char cPlayAgain; cin >> cPlayAgain; if(cPlayAgain == 'y') { bGameOver = false; cSquare1 = '1'; cSquare2 = '2'; cSquare3 = '3'; cSquare4 = '4'; cSquare5 = '5'; cSquare6 = '6'; cSquare7 = '7'; cSquare8 = '8'; cSquare9 = '9'; } iSpieler = 1; } //Game Over else { if(iSpieler == 1) { iSpieler = 2; } else {iSpieler = 1; } } } while (!bGameOver); return 0; }
-
Hallo,
Soweit ich das beim probieren feststellen konnte kommt nirgends eine Fehlermeldung.
Edit: Oder meinst du, dass man nur das 1. Feld ankreuzen kann? Das liegt daran, dass du bei jeder Eingabe nur gegen das Feld 1 vergleichst, bzw. dieses setzt:
Code cpp:1 2 3 4
else if (cInput == '2' && cSquare1 == '2') { cSquare1 = cZeichen; }
müsste doch so aussehen:
Code cpp:1 2 3 4
else if (cInput == '2' && cSquare2 == '2') { cSquare2 = cZeichen; }
Ebenso für 3-9.Geändert von Steiner_B (19.09.11 um 21:25 Uhr)
-
Ohman danke für die Antwort (nächstes mal jedes else if entweder einzelnd schreiben oder sauberer kontrollieren ).
Gruß
silent12
-
Schaue dir mal Arrays an, dadurch wird das ganze viel übersichtlicher.
Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
"Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
RegEx Tutorial
PHP Funktionsreferenz
Ähnliche Themen
-
Problem mit TableCellRenderer/Editor
Von shutdown im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 29.07.07, 14:56 -
Problem der Darstellung im Editor
Von 3DVisionX im Forum Cinema 4DAntworten: 2Letzter Beitrag: 12.04.07, 10:31 -
Visual Editor Problem
Von Loki2 im Forum JavaAntworten: 1Letzter Beitrag: 28.09.05, 12:06 -
[3ds max] Material-Editor Problem
Von pflo im Forum 3D Studio MaxAntworten: 1Letzter Beitrag: 22.01.04, 08:50 -
Material Editor Problem!
Von daddz im Forum 3D Studio MaxAntworten: 3Letzter Beitrag: 09.11.03, 13:24





Zitieren
Login






