Lumberjacker
22-06-2005, 15:35
Hallo Ihr!
Ich muss morgen mein Projekt in Programmieren abgeben (Tic-Tac-Toe spiel), und find einfach die fehler in meinem Programm nicht. Irgendwas haut mit der abbruchbedingung nicht hin, und ich glaub der PC überschreibt teilweise auch belegte felder:
Wär ur super wenn wer den fehler findet, hab nämlich schon ur kopfweh von der vielen herumsitzerei.
hier der Code:
/*______________________________________
TIC TAC TOE
Karl Distl
______________________________________*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define X 'X'
#define O 'O'
#define BLANK ' '
//Spieler 1 = Computer = X
char Spieler1 = X;
//Spieler 2 = Benutzer = O
char Spieler2 = O;
//2D-Array für Spielfeld
char TicTacToe[3][3] = { {' ', ' ', ' '},
{' ', ' ', ' '},
{' ', ' ', ' '} };
//Spielfeldausgabe
void print_spielfeld(void)
{
int i;
system("cls");
printf(" 1 2 3 \n +---+---+---+\n");
for(i = 0; i < 3; i++)
{
printf(" %d | ",i+1);
printf("%c",TicTacToe[i][0]);
printf(" | ");
printf("%c",TicTacToe[i][1]);
printf(" | ");
printf("%c",TicTacToe[i][2]);
printf(" | \n");
if(i != 2) {
printf(" +---+---+---+\n");
}
else {
printf(" +---+---+---+\n");
}
}
}
//Setzen Spieler 2
void play2(char ch)
{
int row,
column;
printf("Wo wollen sie setzen?\n");
printf("Zeile (1-3) < >\b\b");
scanf("%d",&row);
getchar();
printf("\nSpalte (1-3) < >\b\b");
scanf("%d",&column);
getchar();
if(TicTacToe[row-1][column-1] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[row-1][column-1] = ch;
print_spielfeld();
}
else
{
printf("Dieses Feld ist bereits belegt\n");
printf("Wählen sie neu:\n");
printf("Zeile (1-3) < >\b\b");
scanf("%d",&row);
getchar();
printf("\nSpalte (1-3) < >\b\b");
scanf("%c",&column);
getchar();
}
}
//Computer-Setzfunktion
void play1(char h)
{
//Überprüfen für spieler 1
if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][0] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][2] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][1] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][2] = h;
}
//überprüfen für Spieler 2
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][0] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][2] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][1] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][2] = h;
}
}
//Überprüfen ob Sieg
int if_win()
{
//Spieler 1
if(TicTacToe[0][0] == Spieler1 && TicTacToe[0][1] == Spieler1 && TicTacToe[0][2] == Spieler1 ||
TicTacToe[1][0] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[1][2] == Spieler1 ||
TicTacToe[2][0] == Spieler1 && TicTacToe[2][1] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][0] == Spieler1 && TicTacToe[1][0] == Spieler1 && TicTacToe[2][0] == Spieler1 ||
TicTacToe[0][1] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][1] == Spieler1 ||
TicTacToe[0][2] == Spieler1 && TicTacToe[1][2] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][0] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][2] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][0] == Spieler1)
{
return 1;
}
//Spieler 2
else if( TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2 && TicTacToe[0][2] == Spieler2 ||
TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2 ||
TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2 ||
TicTacToe[0][1] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2 ||
TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
return 2;
}
else
{
return 0;
}
}
//Mainfunktion
int main(int argc, char *argv[])
{
char c;
int b,
zahl,
z;
printf("**********************\n");
printf(" TIC TAC TOE\n");
printf("**********************\n\n");
printf("\nComputer.....X\n");
printf("Spieler......O\n");
printf("Der Zufall entscheidet, wer beginnt. Viel Spass!!!\n");
printf("\nUm ein neues Spiel zu starten, druecken sie ENTER");
getchar();
//Menü für Spiel & WH
do
{
// Zufallszahlengenerator 1 od 2, um festzulegen, wer beginnt
srand(time(0));
zahl=1+rand()%2; // zahl entw 1 od 2
if (zahl == 1) //Computer beginnt
{
//1. Zug des Computers = Standardzug in mitte
TicTacToe[1][1] = X;
print_spielfeld();
play2(O);
print_spielfeld();
//2. Zug des Computers = Standardzug links oben od rechts unten
if(TicTacToe[0][0] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[0][0] = X;
print_spielfeld();
}
else
{
TicTacToe[2][0] = X;
}
do //Schleife für neue Züge
{
print_spielfeld();
z = if_win();
play2(O);
print_spielfeld();
z = if_win();
play1(X);
} while (z == 0); //bis Sieg festgestellt
}
else //Spieler beginnt
{
print_spielfeld();
play2(O);
print_spielfeld();
//1. Zug des Computers = Standardzug links unten od links oben
if(TicTacToe[2][0] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[2][0] = X;
print_spielfeld();
}
else
{
TicTacToe[0][0] = X;
}
do //Schleife für neue Züge
{
print_spielfeld();
z = if_win();
play2(O);
print_spielfeld();
//z = if_win();
play1(X);
} while (z == 0); //bis Sieg festgestellt
}
if (z == 1) //Auswertung
{
printf("Sie haben verloren, sie Trottel!");
}
else if (z == 2)
{
printf("Sie haben gewonnen!!!");
}
else
{
printf("Unentschieden");
}
//Menüabfrage für WH
printf("\n\n\nWollen sie nochmal? Druecken sie J/N und ENTER < >\b\b");
scanf("%c",&c);
getchar();
} while (c != 'n' || c != 'N');
getchar();
return 0;
}
Ich muss morgen mein Projekt in Programmieren abgeben (Tic-Tac-Toe spiel), und find einfach die fehler in meinem Programm nicht. Irgendwas haut mit der abbruchbedingung nicht hin, und ich glaub der PC überschreibt teilweise auch belegte felder:
Wär ur super wenn wer den fehler findet, hab nämlich schon ur kopfweh von der vielen herumsitzerei.
hier der Code:
/*______________________________________
TIC TAC TOE
Karl Distl
______________________________________*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define X 'X'
#define O 'O'
#define BLANK ' '
//Spieler 1 = Computer = X
char Spieler1 = X;
//Spieler 2 = Benutzer = O
char Spieler2 = O;
//2D-Array für Spielfeld
char TicTacToe[3][3] = { {' ', ' ', ' '},
{' ', ' ', ' '},
{' ', ' ', ' '} };
//Spielfeldausgabe
void print_spielfeld(void)
{
int i;
system("cls");
printf(" 1 2 3 \n +---+---+---+\n");
for(i = 0; i < 3; i++)
{
printf(" %d | ",i+1);
printf("%c",TicTacToe[i][0]);
printf(" | ");
printf("%c",TicTacToe[i][1]);
printf(" | ");
printf("%c",TicTacToe[i][2]);
printf(" | \n");
if(i != 2) {
printf(" +---+---+---+\n");
}
else {
printf(" +---+---+---+\n");
}
}
}
//Setzen Spieler 2
void play2(char ch)
{
int row,
column;
printf("Wo wollen sie setzen?\n");
printf("Zeile (1-3) < >\b\b");
scanf("%d",&row);
getchar();
printf("\nSpalte (1-3) < >\b\b");
scanf("%d",&column);
getchar();
if(TicTacToe[row-1][column-1] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[row-1][column-1] = ch;
print_spielfeld();
}
else
{
printf("Dieses Feld ist bereits belegt\n");
printf("Wählen sie neu:\n");
printf("Zeile (1-3) < >\b\b");
scanf("%d",&row);
getchar();
printf("\nSpalte (1-3) < >\b\b");
scanf("%c",&column);
getchar();
}
}
//Computer-Setzfunktion
void play1(char h)
{
//Überprüfen für spieler 1
if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][0] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][2] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][1] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][2] = h;
}
//überprüfen für Spieler 2
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][0] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[0][2] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][1] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[0][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[1][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[1][1] = h;
}
else if (TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2)
{
TicTacToe[0][1] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][2] = h;
}
else if (TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][2] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2)
{
TicTacToe[0][0] = h;
}
else if (TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2)
{
TicTacToe[2][0] = h;
}
else if (TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
TicTacToe[0][2] = h;
}
}
//Überprüfen ob Sieg
int if_win()
{
//Spieler 1
if(TicTacToe[0][0] == Spieler1 && TicTacToe[0][1] == Spieler1 && TicTacToe[0][2] == Spieler1 ||
TicTacToe[1][0] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[1][2] == Spieler1 ||
TicTacToe[2][0] == Spieler1 && TicTacToe[2][1] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][0] == Spieler1 && TicTacToe[1][0] == Spieler1 && TicTacToe[2][0] == Spieler1 ||
TicTacToe[0][1] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][1] == Spieler1 ||
TicTacToe[0][2] == Spieler1 && TicTacToe[1][2] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][0] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][2] == Spieler1 ||
TicTacToe[0][2] == Spieler1 && TicTacToe[1][1] == Spieler1 && TicTacToe[2][0] == Spieler1)
{
return 1;
}
//Spieler 2
else if( TicTacToe[0][0] == Spieler2 && TicTacToe[0][1] == Spieler2 && TicTacToe[0][2] == Spieler2 ||
TicTacToe[1][0] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[1][2] == Spieler2 ||
TicTacToe[2][0] == Spieler2 && TicTacToe[2][1] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][0] == Spieler2 && TicTacToe[1][0] == Spieler2 && TicTacToe[2][0] == Spieler2 ||
TicTacToe[0][1] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][1] == Spieler2 ||
TicTacToe[0][2] == Spieler2 && TicTacToe[1][2] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][0] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][2] == Spieler2 ||
TicTacToe[0][2] == Spieler2 && TicTacToe[1][1] == Spieler2 && TicTacToe[2][0] == Spieler2)
{
return 2;
}
else
{
return 0;
}
}
//Mainfunktion
int main(int argc, char *argv[])
{
char c;
int b,
zahl,
z;
printf("**********************\n");
printf(" TIC TAC TOE\n");
printf("**********************\n\n");
printf("\nComputer.....X\n");
printf("Spieler......O\n");
printf("Der Zufall entscheidet, wer beginnt. Viel Spass!!!\n");
printf("\nUm ein neues Spiel zu starten, druecken sie ENTER");
getchar();
//Menü für Spiel & WH
do
{
// Zufallszahlengenerator 1 od 2, um festzulegen, wer beginnt
srand(time(0));
zahl=1+rand()%2; // zahl entw 1 od 2
if (zahl == 1) //Computer beginnt
{
//1. Zug des Computers = Standardzug in mitte
TicTacToe[1][1] = X;
print_spielfeld();
play2(O);
print_spielfeld();
//2. Zug des Computers = Standardzug links oben od rechts unten
if(TicTacToe[0][0] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[0][0] = X;
print_spielfeld();
}
else
{
TicTacToe[2][0] = X;
}
do //Schleife für neue Züge
{
print_spielfeld();
z = if_win();
play2(O);
print_spielfeld();
z = if_win();
play1(X);
} while (z == 0); //bis Sieg festgestellt
}
else //Spieler beginnt
{
print_spielfeld();
play2(O);
print_spielfeld();
//1. Zug des Computers = Standardzug links unten od links oben
if(TicTacToe[2][0] == BLANK) //Zeichen in Feld eintragen
{
TicTacToe[2][0] = X;
print_spielfeld();
}
else
{
TicTacToe[0][0] = X;
}
do //Schleife für neue Züge
{
print_spielfeld();
z = if_win();
play2(O);
print_spielfeld();
//z = if_win();
play1(X);
} while (z == 0); //bis Sieg festgestellt
}
if (z == 1) //Auswertung
{
printf("Sie haben verloren, sie Trottel!");
}
else if (z == 2)
{
printf("Sie haben gewonnen!!!");
}
else
{
printf("Unentschieden");
}
//Menüabfrage für WH
printf("\n\n\nWollen sie nochmal? Druecken sie J/N und ENTER < >\b\b");
scanf("%c",&c);
getchar();
} while (c != 'n' || c != 'N');
getchar();
return 0;
}