Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »E333« (02.09.2021, 04:08)
Hilft leider auch nichtZitat
Game over mit false initialisieren sollte helfen
C-/C++-Quelltext |
|
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 |
#include <iostream> using namespace std; int GameTurn(); void ZeichneSpielfeld(char Spielfeld[]); int main() { char Spielfeld[] = {'0','1','2','3','4','5','6','7','8'}; ZeichneSpielfeld(Spielfeld); GameTurn(); } int GameTurn() { char Spielfeld[] = {'0','1','2','3','4','5','6','7','8'}; char Index = '0'; bool GameOver = false; char PlayerMark = 'O'; for (int Turn = 1; Turn < 10 && GameOver == false; ++Turn)// allgemener Spielzug,zählt den aktuellen Zug { if ( Turn % 2 == 0 ) { PlayerMark = 'O'; } else { PlayerMark = 'X';//bestimmt welcher Spieler an der Reihe ist } bool Wiederhole = true; while(Wiederhole != false){ cin >> Index; // nimmt die Eingabe des Spielers an; Spieler X beginnt, dann folgt Spieler O if (Spielfeld[(int)(Index - 48)] != 'O' && Spielfeld[(int)(Index - 48)] != 'X') { Spielfeld[(int)(Index - 48)] = PlayerMark; //prüft ob das Feld noch frei ist wenn ja wird es besetzt Wiederhole = false; } } if (Spielfeld[0] == Spielfeld[1] && Spielfeld[1] == Spielfeld[2] || Spielfeld[0] == Spielfeld[3] && Spielfeld[3] == Spielfeld[6] || Spielfeld[8] == Spielfeld[7] && Spielfeld[7] == Spielfeld[6] || Spielfeld[8] == Spielfeld[5] && Spielfeld[5] == Spielfeld[2] || Spielfeld[4] == Spielfeld[0] && Spielfeld[0] == Spielfeld[8] || Spielfeld[4] == Spielfeld[2] && Spielfeld[2] == Spielfeld[6] || Spielfeld[4] == Spielfeld[3] && Spielfeld[3] == Spielfeld[5] || Spielfeld[4] == Spielfeld[1] && Spielfeld[1] == Spielfeld[7])//prüft ob eine Gewinnbedingung erfüllt wurde { GameOver = true; } ZeichneSpielfeld(Spielfeld); } if (GameOver == true) { cout << "Player " << PlayerMark << "wins" << endl; // zeigt den Spieler am Zug als Gewinner an } return 0; } void ZeichneSpielfeld(char Spielfeld[]){ char s1 = '|'; char s2 = '-'; char p = '+'; // Aufbau des Spielfeldes cout << "\n" << Spielfeld[0] << s1 << Spielfeld[1] << s1 << Spielfeld[2] << endl; cout << s2 << p << s2 << p << s2 << endl; cout << Spielfeld[3] << s1 << Spielfeld[4] << s1 << Spielfeld[5] << endl; cout << s2 << p << s2 << p << s2 << endl; cout << Spielfeld[6] << s1 << Spielfeld[7] << s1 << Spielfeld[8] << endl; } |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Harry222« (05.07.2011, 07:23)
Wie gesagt: Wenn du Fragen hast, frag!Ich versuch erstmal das ganze zu verstehen und umzusetzen
Community-Fossil
C-/C++-Quelltext |
|
1 |
char Index = 'O'; |
C-/C++-Quelltext |
|
1 |
Spielfeld[Index - '0'] |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »NachoMan« (05.07.2011, 02:05)
ich habe mir angewöhntalle Variablen mit irgendeinem Standardwert zu initalisieren!muss nicht initialisiert werden.
Community-Fossil
Index sollte vllt. mit '0' oder '1' oder so initalisiert werden!
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »NachoMan« (05.07.2011, 14:31)
Werbeanzeige