Browse Source

Merge branch 'Ariana' into 'main'

No winner

See merge request pmuw_projekt/pmuw_projekt_notebinder!18
remotes/origin/fdai7775-main-patch-54732
fdai7775 11 months ago
parent
commit
a5b5ba8df6
  1. 47
      src/main/c/GameTic_Tac_Toe/game.c

47
src/main/c/GameTic_Tac_Toe/game.c

@ -29,3 +29,50 @@ char checkWinner() {
if (board[0][0] == board[1][1] && board[1][1] == board[2][2]) return board[0][0];
if (board[0][2] == board[1][1] && board[1][1] == board[2][0]) return board[0][2];
// Kein Gewinner
return ' ';
}
// Funktion zur Überprüfung, ob das Spiel unentschieden ist
int isBoardFull() {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (board[i][j] != 'X' && board[i][j] != 'O') {
return 0;
}
}
}
return 1;
}
// Funktion zum Zug eines Spielers
void makeMove() {
int choice;
printf("Spieler %c, wähle eine Zahl (1-9): ", currentPlayer);
scanf("%d", &choice);
// Konvertiere die Zahl in Zeilen- und Spaltenindex
int row = (choice - 1) / 3;
int col = (choice - 1) % 3;
// Überprüfe, ob das gewählte Feld gültig ist
if (choice >= 1 && choice <= 9 && board[row][col] != 'X' && board[row][col] != 'O') {
board[row][col] = currentPlayer;
} else {
printf("Ungültiger Zug! Bitte wähle erneut.\n");
makeMove(); // Rekursiver Aufruf, bis ein gültiger Zug gemacht wird
}
}
int main() {
while (1) {
displayBoard();
makeMove();
char winner = checkWinner();
if (winner == 'X' || winner == 'O') {
displayBoard();
printf("Spieler %c gewinnt!\n", winner);
break;
}
Loading…
Cancel
Save