Tic Tac Toe AI

Hello.

I´trying to write for my tic tac toe game, which makes some randoms moves. It hasn´t to reakt on my moves, but I my turn is done it should place he´s own mark on the bord. I´m a noob in programing and need help. That is my work so far:

#include "Header.h"


int main()
{
Ausgabe();

while (true)
{

Eingabe();
Ausgabe();
ComputerZug();

}

system("pause");
return 0;
}

#include <iostream>
#include <ctype.h>


using namespace std;

char matrix[3][3] = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };//Matrix mit 3mal3 Feldern, die mit Zahl 1 - 9 gefühlt werden
char spieler = 'X'; //Zeichen für den Spieler


void Ausgabe()//Funktion für Das Spielbrett
{
system("cls");//Jedes mal, wenn das Spielbrett neu ausgegeben wird, werden die vorigen Inhalte gelöscht
cout << "\t\t\t" << "\n\n\nPraktikum 6 Tic Tac Toe Proejct.\n\n\n";
cout << "\t\t\t" << ".---.---.---." << endl;
cout << "\t\t\t" << "| " << matrix[0][0] << " | " << matrix[0][1] << " | " << matrix[0][2] << " | " << endl;//erste Zeile
cout << "\t\t\t" << ":---+---+---:" << endl;
cout << "\t\t\t" << "| " << matrix[1][0] << " | " << matrix[1][1] << " | " << matrix[1][2] << " | " << endl;//zweiteZeil
cout << "\t\t\t" << ":---+---+---:" << endl;
cout << "\t\t\t" << "| " << matrix[2][0] << " | " << matrix[2][1] << " | " << matrix[2][2] << " | " << endl;//dritte Zeile
cout << "\t\t\t" << " --- --- --- \n\n\n";
}


void Eingabe()//Dammit beim drücken der 1, auch das X in dem Kästchen mit der 1 erscheint. Sonst würde er bei der 2 rauskommen
{
int a;
cout << "Drücke die entsprechende Zahl auf der Tastatur für die Eingabe: ";
cin >> a;

if (a == 1)
matrix[0][0] = spieler;
else if (a == 2)
matrix[0][1] = spieler;
else if (a == 3)
matrix[0][2] = spieler;
else if (a == 4)
matrix[1][0] = spieler;
else if (a == 5)
matrix[1][1] = spieler;
else if (a == 6)
matrix[1][2] = spieler;
else if (a == 7)
matrix[2][0] = spieler;
else if (a == 8)
matrix[2][1] = spieler;
else if (a == 9)
matrix[2][2] = spieler;
}

void ComputerZug()
{
int i, j;
for (int i = 0; i<3; i++)
{
for (int j = 0; j<3; j++)

if (isdigit(matrix[i][j]))
break;
if (isdigit(matrix[i][j]))
break;
}

if (i*j == 9) {
cout << "draw\n";
exit(0);
}
else
matrix[i][j] = 'O';
}

The problem is, the programm set hes turn after a second move from me and every tim at 1. Can some one help me please?

comments and functionnames are in german.
Last edited on
Topic archived. No new replies allowed.