CodeCrafterCpp
Erfahrenes Mitglied
Mein Problem ist das wenn ich das Programm(TicTacToe) starte und den Mehrspieler Modus wähle und dann das Feld ein aussuche das das Feld ein nicht auf x gesetzt wird sonder Falsch Eingabe gemeldet wird. Um es besser zu verstehen eben selber Compilieren.
Ich hab mit bei der Setzen Funktion ganz schön verhaspelt und wollte fragen wie ihr das gemacht hättet.
Mit freundliche Grüßen
Ich hab mit bei der Setzen Funktion ganz schön verhaspelt und wollte fragen wie ihr das gemacht hättet.
Code:
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
void Render(char *f);
char Setzen(char eingabe, char *f, bool player_turn);
int main()
{
//********************************************//
//Variablen
//********************************************//
bool player_turn = true;
int gewinn = 0;
char ki;
char eingabe;
char zeichen;
bool exit = false;
char f[9];
for(int i = 0; i < 9; i++)
{
f[i] = i+49;
}
cout << "TicTacToe" << endl;
cout << "Waehle eine Spiel Modus aus:" << endl
<< "0: mehr Spieler Modus" << endl
<< "1: gegen Computer einfach" << endl
<< "2: gegen Computer schwerer als einfach" << endl
<< "3: gegen Computer mittel" << endl
<< "4: gegen Computer leichter als schwer" << endl
<< "5: gegen Computer schwer" << endl;
ki = getch();
//********************************************//
//Game_Loop
//********************************************//
if(ki == '0')
{
while(!exit)
{
system("cls");
Render(f);
if(player_turn == true)
{
cout << "Spieler 1 ist dran. Bitte waehle ein Feld: ";
zeichen = 'x';
}
if(player_turn == false)
{
cout << "Spieler 2 ist dran. Bitte waehle ein Feld: ";
zeichen = 'o';
}
eingabe = getch();
Setzen(eingabe, f, player_turn);
}
}
else if(ki == '1')
{
while(!exit)
{
}
}
else if(ki == '2')
{
while(!exit)
{
}
}
else if(ki == '3')
{
while(!exit)
{
}
}
else if(ki == '4')
{
while(!exit)
{
}
}
else if(ki == '5')
{
while(!exit)
{
}
}
return 0;
}
void Render(char *f)
{
cout << f[0] << "|"<< f[1]<< "|"<< f[2]<< endl;
cout << "-" << "+" << "-" << "+" << "-" << endl;
cout << f[3] << "|"<< f[4]<< "|"<< f[5]<< endl;
cout << "-" << "+" << "-" << "+" << "-" << endl;
cout << f[6] << "|"<< f[7]<<"|"<< f[8]<< endl;
}
char Setzen(char eingabe,char *f, bool player_turn)
{
if(eingabe == f[eingabe])
{
if(player_turn == true)f[eingabe] = 'x';
if(player_turn == false)f[eingabe] = 'o';
}
else
{
while(true)
{
system("cls");
Render(f);
cout << "Bitte wähle ein anderes Feld da diese besetzt ist: ";
eingabe = getch();
if(eingabe >= 49 && eingabe <= 57)
{
if(f[eingabe] == eingabe)
{
if(player_turn == true)f[eingabe] = 'x';
if(player_turn == false)f[eingabe] = 'o';
break;
}
}
else
{
system("cls");
Render(f);
cout << "Falsche eingabe! Bitte wähle ein Feld von 1-9: ";
eingabe = getch();
}
}
}
return eingabe, *f;
}
Mit freundliche Grüßen
Zuletzt bearbeitet: