#include using namespace std; //Funktion "Initialisiere Spielfeld" void InitialisiereSpielfeld(char Spielfeld[7][7]) { for(int i=0; i<7; i=i+1) { for(int j=0; j<7; j=j+1) { Spielfeld[i][j] = '+'; } } for(int i=0; i<1; i=i+1) { int k = 49; for(int j=0; j<7; j=j+1) { Spielfeld[i][j] = k; k = k + 1; } } } //Funktion "DruckeSpielfeld" void DruckeSpielfeld(char Spielfeld[7][7]) { for(int i=0; i<7; i=i+1) { cout << endl; for(int j=0; j<7; j=j+1) { cout << Spielfeld[i][j]; } } } //Funktion BenutzerEingabe1 int BenutzerEingabe1(int Spalte) { cout << endl << "Spieler 1, bitte gewaehlte Spalte eingeben: "; cin >> Spalte; Spalte = Spalte - 1; return Spalte; } //Funktion BenutzerEingabe2 int BenutzerEingabe2(int Spalte) { cout << endl << "Spieler 2, bitte gewaehlte Spalte eingeben: "; cin >> Spalte; Spalte = Spalte - 1; return Spalte; } //Funktion SetzeStein1 int SetzeStein1(char Spielfeld[7][7], int Spalte) { int i; for(i=1; i<7; i=i+1) { if((Spielfeld[i][Spalte] == 'O') || (Spielfeld[i][Spalte] == 'X')) { i = i - 1; Spielfeld[i][Spalte] = 'X'; break; } else { if(i == 6) { Spielfeld[i][Spalte] = 'X'; break; } } } return i; } //Funktion SetzeStein2 int SetzeStein2(char Spielfeld[7][7], int Spalte) { int i = 0; for(i=1; i<7; i=i+1) { if((Spielfeld[i][Spalte] == 'X') || (Spielfeld[i][Spalte] == 'O')) { i = i - 1; Spielfeld[i][Spalte] = 'O'; break; } else { if(i == 6) { Spielfeld[i][Spalte] = 'O'; break; } } } return i; } //Funktion TesteSiegbedingung1(char Spielfed[7][7]) int TesteSiegbedingung1(char Spielfeld[7][7], int Spalte, int Zeile1) { int i; i = Zeile1; //Siegbedingung horizontal while(i < (Zeile1 + 4)) { if(Spielfeld[i][Spalte] == 'X') { i = i + 1; } else { break; } if(i == (Zeile1 + 4)) { i = 1; } } return i; } //Funktion TesteSiegbedingung2(char Spielfed[7][7]) int TesteSiegbedingung2(char Spielfeld[7][7], int Spalte, int Zeile2) { int i; i = Zeile2; while(i < (Zeile2 + 4)) { if(Spielfeld[i][Spalte] == 'O') { i = i + 1; } else { break; } if(i == (Zeile2 + 4)) { i = 1; } } return i; } int main() { char Spielfeld[7][7]; int Spalte = 0, Zeile1 = 0, Zeile2 = 0, Ergebnis1 = 0; InitialisiereSpielfeld(Spielfeld); DruckeSpielfeld(Spielfeld); for(int i=0; i<200; i=i+1) { Spalte = BenutzerEingabe1(Spalte); Zeile1 = SetzeStein1(Spielfeld, Spalte); TesteSiegbedingung1(Spielfeld, Spalte, Zeile1); DruckeSpielfeld(Spielfeld); if(TesteSiegbedingung1(Spielfeld, Spalte, Zeile1) == 1) { cout << "Spieler 1 hat gewonnen!"; break; } Spalte = BenutzerEingabe2(Spalte); Zeile2 = SetzeStein2(Spielfeld, Spalte); TesteSiegbedingung2(Spielfeld, Spalte, Zeile2); DruckeSpielfeld(Spielfeld); if(TesteSiegbedingung2(Spielfeld, Spalte, Zeile2) == 1) { cout << "Spieler 2 hat gewonnen!"; break; } } return 0; }