Ich versuche gerade ein Vier gewinnt Spielt zu Programmieren(in c++).
Bevor ich zu dem Problem komme erstmal der Quelltext:
#include <iostream> using namespace std; int main() { bool Gewonnen = false; bool Zuggemacht = false; short Zugx, Zugy; short Zugmerkenx[31], Zugmerkeny[31]; short AnzahlZug = 1; do { //Spielfeld for(short i=1;i<7;i++) { // Zu! for(short j=1;j<11;j++) { // Zu! if(Zuggemacht == true) { // Zu! for(short k = 1;k <= AnzahlZug; k++) { if(j == Zugmerkenx[k] && i == Zugmerkeny[k]) { cout <<"0"; } // if zu else { cout <<"X"; } // else zu } // For-Schleife mit k } // if (Zuggemacht == true) else { cout <<"X"; } // else zu } // For Schleife mit j cout<<endl; } // For-Schleife mit i //Spieler1 Zug cout << "Sie sind an der Reihe! x:"; cin >> Zugx; cout << " y:"; cin >> Zugy; Zugmerkenx[AnzahlZug] = Zugx; Zugmerkeny[AnzahlZug] = Zugy; AnzahlZug++; Zuggemacht = true; }while(Gewonnen == false); cin.get(); return 0; }
Wenn man das Programm nun startet ist soweit alles ok, nur wenn man dann die koordinaten eingibt und bestätigt, gibt das Programm neben dem eigentlichen Spielfeld, direkdanach noch eins aus und das geht immer so weiter also z.B.:
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
Man gibt die Koordinaten ein:
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXX0XXXXXXXXXXXXXX
XXXX0XXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX
und das immer so weiter, jedesmal 1Feld mehr.
Ich hab mir den Quelltext 100 mal angeschaut, aber ich finde den Fehler einfach nicht.
Ich hoffe hier kann mir einer weiterhelfen
Mfg Stefan