002
25.03.2013, 17:04 Uhr
~Solomon
Gast
|
Keine Sorge, ich bin Solly.
Ich mache ein Tic-Tac-Toe-Spiel auf C++. Alles funktioniert gut, also es wechselt automatisch die Spieler ab und ich kann Positionen nicht überschreiben. Aber wenn ich jetzt schon Richtung Vergleich und Ergebnis programmiere, kommen nur komische Sachen raus.
Der Code:
C++: |
#include <iostream> using namespace std;
int main() { // Variabeln bool x_turn, y_turn; char matrix[3][3] = { {'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'} }; int array[2][9] = { (0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 0)};
while(1) { int player_x, player_y; int fx, sx, fy, sy; int i = -1; int j = 0; // Feld zeichnen do { if(i == 2) { i = -1; j++; cout << endl; } i++; cout << matrix[j][i]; } while(i != 3 && j != 3); cout << "\r"; // Die Spieler if(x_turn == true && y_turn == false) { while(array[0][player_x - 1] != 0 || array[1][player_x - 1] != 0) { cout << "Spieler X ist dran: "; cin >> player_x; } x_turn = false; y_turn = true; if(player_x <= 3) { fx = 0; sx = player_x -1; } if(player_x <= 6) { fx = 1; sx = player_x - 4; } if(player_x <= 9) { fx = 2; sx = player_x - 7; } matrix[fx][sx] = 'X'; array[0][player_x - 1] = 1; } else if(x_turn == false && y_turn == true) { while(array[0][player_y - 1] != 0 || array[1][player_y - 1] != 0) { cout << "Spieler Y ist dran: "; cin >> player_y; } x_turn = true; y_turn = false; if(player_y <= 3) { fy = 0; sy= player_y; } if(player_y <= 6) { fy = 1; sy = player_y - 4; } if(player_y <= 9) { fy = 2; sy = player_y - 7; } matrix[fy][sy] = 'O'; array[1][player_y - 1] = 2; } else { cout << "Spieler X ist dran: "; cin >> player_x; x_turn = false; y_turn = true; if(player_x <= 3) { fx = 0; sx = player_x - 1; } if(player_x <= 6) { fx = 1; sx = player_x - 4; } if(player_x <= 9) { fx = 2; sx = player_x - 7; } matrix[fx][sx] = 'X'; array[0][player_x - 1] = 1; } int new_array[9]; int k; for(k = 0; k < 8; k++) { if(array[0][k] == 1) { new_array[k] = array[0][k]; } else if(array[1][k] == 2) { new_array[k] = array[1][k]; } cout << new_array[k]; }
} }
|
Ich hoffe, du verstehst ihn. Ich hab so ein Gefühl, ich habe ihn sehr kompliziert geschrieben.
Das kommt in der Konsole raus:
Code: |
123 456 789 Spieler X ist dran: 1 13276710148918161632767172365915932767X23 456 789 Spieler Y ist dran: 4 13276712148918161632767172365915932767X23 O56 789 Spieler X ist dran: 6 1327671214891816161172365915932767X23 O5X 789 Spieler Y ist dran: 7 1327671214891816161232767X23 O5X O89 Spieler X ist dran: 1 Spieler X ist dran: 2 111214891816161232767XX3 O5X O89 Spieler Y ist dran: 5 111221232767XX3 OOX O89 Spieler X ist dran: 7 Spieler X ist dran: 8 11122121XX3 OOX OX9 Spieler Y ist dran:
|
|