CodeCrafterCpp
Erfahrenes Mitglied
Hallo,
Ich hab ein Problem mit mein TicTacToe und zwar wenn ich das Spiel neustarte und alle Feldvariablen wieder auf den Anfangs Wert mache kommt wenn ich ein Feld auswähle der alte
Spielstand wo aber schon einer Gewonnen hat was nun?
Ich hab ein Problem mit mein TicTacToe und zwar wenn ich das Spiel neustarte und alle Feldvariablen wieder auf den Anfangs Wert mache kommt wenn ich ein Feld auswähle der alte
Spielstand wo aber schon einer Gewonnen hat was nun?
Code:
#include <iostream>
using namespace std;
int Render(char f01, char f02, char f03, char f04, char f05, char f06, char f07, char f08, char f09)
{
cout << f01 << "|"<< f02<< "|"<< f03<< endl;
cout << "-" << "+" << "-" << "+" << "-" << endl;
cout << f04 << "|"<< f05<< "|"<< f06<< endl;
cout << "-" << "+" << "-" << "+" << "-" << endl;
cout << f07 << "|"<< f08<<"|"<< f09<< endl;
return 0;
}
int main()
{
//Variabeln
bool game_Quit;
char auswahl = 0;
int player_turn;
char zeichen;
int gewinn = 0;
char neu;
bool neu_frage = true;
//Feld-Vari
char f01 = '1';
char f02 = '2';
char f03 = '3';
char f04 = '4';
char f05 = '5';
char f06 = '6';
char f07 = '7';
char f08 = '8';
char f09 = '9';
//start
game_Quit = false;
player_turn = 1;
Render(f01,f02,f03,f04,f05,f06,f07,f08,f09);
while(!game_Quit)
{
if(player_turn == 1)
{
zeichen = 'o';
}
if(player_turn == 2)
{
zeichen = 'x';
}
if(f01 == f02 && f02== f03){if(f01 == 'o'){gewinn = 1;}if(f01 == 'x'){gewinn = 2;}}
if(f04 == f05 && f05== f06){if(f04 == 'o'){gewinn = 1;}if(f04 == 'x'){gewinn = 2;}}
if(f07 == f08 && f08== f09){if(f07 == 'o'){gewinn = 1;}if(f07 == 'x'){gewinn = 2;}}
if(f01 == f04 && f04== f07){if(f01 == 'o'){gewinn = 1;}if(f01 == 'x'){gewinn = 2;}}
if(f02 == f05 && f05== f08){if(f02 == 'o'){gewinn = 1;}if(f02 == 'x'){gewinn = 2;}}
if(f03 == f06 && f06== f09){if(f03 == 'o'){gewinn = 1;}if(f03 == 'x'){gewinn = 2;}}
if(f01 == f05 && f05== f09){if(f01 == 'o'){gewinn = 1;}if(f01 == 'x'){gewinn = 2;}}
if(f03 == f05 && f05== f07){if(f03 == 'o'){gewinn = 1;}if(f03 == 'x'){gewinn = 2;}}
if(gewinn == 1)
{
cout << "Player 1 hat gewonnen" << endl;
}
else if(gewinn == 2)
{
cout << "Player 2 hat gewonnen" << endl;
}
else if(gewinn == 3)
{
cout << "Unentschieden" << endl;
}
if(gewinn > 0)
{
while(neu_frage)
{
cout << "Neues Spiel? Y/N" << endl;
cin >> neu;
if(neu == 'Y')
{
system("cls");
player_turn = 1;
zeichen = 'o';
char f01 = '1';
char f02 = '2';
char f03 = '3';
char f04 = '4';
char f05 = '5';
char f06 = '6';
char f07 = '7';
char f08 = '8';
char f09 = '9';
Render(f01,f02,f03,f04,f05,f06,f07,f08,f09);
neu_frage = false;
cout << " Neues Spiel wird gestartet";
}
else if(neu == 'N')
{
system("cls");
neu_frage = false;
game_Quit = true;
}
else
{
cout << "Gebe Y oder N ein" << endl;
}
}
}
cout << "Spieler "<< player_turn <<" ist dran. -Bitte Feld auswählen: ";
cin >> auswahl;
switch(auswahl)
{
case '1':
if(f01 == '1')
{
f01 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '2':
if(f02 == '2')
{
f02 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '3':
if(f03 == '3')
{
f03 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '4':
if(f04 == '4')
{
f04 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '5':
if(f05 == '5')
{
f05 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '6':
if(f06 == '6')
{
f06 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '7':
if(f07 == '7')
{
f07 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '8':
if(f08 == '8')
{
f08 = zeichen;
}
else
{
cout << "Spieler " << player_turn<<" wähle ein anderes Feld! Diese ist besetzt" << endl;
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
break;
case '9':
if(f09 == '9')
{
f09 = zeichen;
}
break;
}
Render(f01,f02,f03,f04,f05,f06,f07,f08,f09);
if(player_turn == 1)
{
player_turn = 2;
}
else if(player_turn == 2)
{
player_turn = 1;
}
}
cin.get();
cin.get();
}