You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
int Zaehler = 1; // Funktion, um das Spielfeld zu initialisieren
void Brett(char Feld[3][3]) { for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { Feld[i][j] = '_'; } } } void Bild(char Feld[3][3]) { #ifdef _WIN32
system("cls"); #else
system("clear"); #endif
for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { printf("%c ", Feld[i][j]); } printf("\n"); } } int Winner(char Feld[3][3]) { // �berpr�fen Sieg
// �berpr�fen Reihen
for (int i = 0; i < 3; i++) { if (Feld[i][0] == Feld[i][1] && Feld[i][1] == Feld[i][2] && Feld[i][0] != '_') { if (Feld[i][0] == 'X') { return 1; } else return 2; } } // �berpr�fen Spalten
for (int j = 0; j < 3; j++) { if (Feld[0][j] == Feld[1][j] && Feld[1][j] == Feld[2][j] && Feld[0][j] != '_') { if (Feld[0][j] == 'X') { return 1; } else return 2; } } // �berpr�fen Diagonalen
if ((Feld[0][0] == Feld[1][1] && Feld[1][1] == Feld[2][2]) || (Feld[0][2] == Feld[1][1] && Feld[1][1] == Feld[2][0])) { if (Feld[1][1] != '_') { if (Feld[1][1] == 'X') { return 1; } else return 2; } } //�berpr�fe Runde
for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++) { if (Feld[k][l] == '_') { return 9; } } } //Best�tige Unendschieden
printf("Es ist ein Unendschieden\n"); return 0; } void Zuege(char Feld[3][3], int row, int col) { if (Zaehler < 10) { if (Zaehler % 2 == 0) { if (Feld[row][col] == '_') { Feld[row][col] = 'O'; } else { printf("Das Feld ist schon besetzt. Gib ein anderes Feld ein:\n"); printf("Reihe:"); scanf("%d", &row); printf("Spalte:"); scanf("%d", &col); row -= 1; col -= 1; Zuege(Feld, row, col); } } else { if (Feld[row][col] == '_') { Feld[row][col] = 'X'; } else { printf("Das Feld ist schon besetzt. Gib ein anderes Feld ein:\n"); printf("Reihe:"); scanf("%d", &row); printf("Spalte:"); scanf("%d", &col); row -= 1; col -= 1; Zuege(Feld, row, col); } } } } // Hauptfunktion zum Spielen des Tic Tac Toe-Spiels
int mainx() { int row; int col; char Feld[3][3]; char Nochmal[50] = { "Weiter" };
while (Nochmal[0] == 'W' || Nochmal[0] == 'w') { Zaehler = 1; Brett(Feld); while (Winner(Feld) == 9) {
Bild(Feld); if (Zaehler % 2 != 0) { printf("Spieler 1 gebe das Feld an wo du dein X setzen willst.\n"); } else printf("Spieler 2 gebe das Feld an wo du dein O setzen willst.\n"); printf("Reihe:"); scanf("%d", &row); printf("Spalte:"); scanf("%d", &col); row -= 1; col -= 1; if (row > 3 || col > 3) { printf("Das ist nicht mehr im Feld. Versuch es nochmal:"); scanf("%d %d", &row, &col); row -= 1; //F�r Index eins kleiner
col -= 1; } Zuege(Feld, row, col); Zaehler++; } Bild(Feld); Winner(Feld); printf("Wollt ihr weiter spielen?\n[Weiter]\n[Ende]\n"); scanf("%s", Nochmal); } return 0; }
|