问题描述
void Ai()
{
//-------------------------------------------------------
if (matrix[0][0] == 'X' && matrix[1][0] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[2][1] == 'X' && matrix[2][2] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == 'X' && matrix[1][1] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
if (matrix[0][2] == 'X' && matrix[1][2] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[2][1] == 'X' && matrix[2][0] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == 'X' && matrix[1][1] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
if (matrix[1][0] == 'X' && matrix[2][0] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == 'X' && matrix[0][2] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == 'X' && matrix[2][2] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
if (matrix[0][0] == 'X' && matrix[0][1] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == 'X' && matrix[2][2] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == 'X' && matrix[2][0] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
if (matrix[0][0] == 'X' && matrix[2][0] == 'X' && matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][1] == 'X' && matrix[2][1] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == 'X' && matrix[2][2] == 'X' && matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][0] == 'X' && matrix[0][2] == 'X' && matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][0] == 'X' && matrix[1][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[2][0] == 'X' && matrix[2][2] == 'X' && matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[2][0] == 'X' && matrix[0][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][0] == 'X' && matrix[2][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
//----------------------------------------------------------
if (matrix[0][0] == 'O' && matrix[1][0] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[2][1] == 'O' && matrix[2][2] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == 'O' && matrix[1][1] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
if (matrix[0][2] == 'O' && matrix[1][2] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[2][1] == 'O' && matrix[2][0] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == 'O' && matrix[1][1] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
if (matrix[1][0] == 'O' && matrix[2][0] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == 'O' && matrix[0][2] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == 'O' && matrix[2][2] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
if (matrix[0][0] == 'O' && matrix[0][1] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == 'O' && matrix[2][2] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == 'O' && matrix[2][0] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
if (matrix[0][0] == 'O' && matrix[2][0] == 'O' && matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][1] == 'O' && matrix[2][1] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == 'O' && matrix[2][2] == 'O' && matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][0] == 'O' && matrix[0][2] == 'O' && matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][0] == 'O' && matrix[1][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[2][0] == 'O' && matrix[2][2] == 'O' && matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[2][0] == 'O' && matrix[0][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][0] == 'O' && matrix[2][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
//---------------------------------------------------------
else if (a == 1)
{
if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 2)
{
if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 3)
{
if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
if (a == 4)
{
if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 5)
{
if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 6)
{
if (matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 7)
{
if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 8)
{
if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 9)
{
if (matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
}
}
I am 14 years old and have been learning C++ as my first language for about 2-3 months. This is my TicTacToe v2BETA_AI AI script, written in c++. Player 1 is ’X’, and the AI is ’O’. Player 1 is always first. While testing the game, it runs the code blocking and completion code fine, but then makes more moves. This does not always affect the game play, as the AI will already be able to make a move to win, but then more spaces are replaced with ’O’.
For Example:
(How lay out is for game)
1 2 3
4 5 6
7 8 9
Enter number in the field you want: 5
1 2 3
O X 6
7 8 9
Enter number in the field you want: 2
O X 3
O X 6
7 8 9
Enter number in the field you want: 6
O X (O) Here this unnecessary O was added and sometimes causes problems.
O X X
O 8 9
Computer wins!!!
Whole Source Code
I am 14 years old and have been learning C++ as my first language for about 2-3 months. This is my TicTacToe v2BETA_AI AI script, written in c++. Player 1 is 'X', and the AI is 'O'. Player 1 is always first. While testing the game, it runs the code blocking and completion code fine, but then makes more moves. This does not always affect the game play, as the AI will already be able to make a move to win, but then more spaces are replaced with 'O'.
For Example:
(How lay out is for game)
1 2 3
4 5 6
7 8 9
Enter number in the field you want: 5
1 2 3
O X 6
7 8 9
Enter number in the field you want: 2
O X 3
O X 6
7 8 9
Enter number in the field you want: 6
O X (O) Here this unnecessary O was added and sometimes causes problems.
O X X
O 8 9
Computer wins!!!
Whole Source Code
#include <iostream>
#include <cstdlib>
using namespace std;
char matrix[3][3] = { '1','2','3','4','5','6','7','8','9'};
char player = 'X';
int n;
int a;
int AI;
string r;
void draw()
{
cout << endl << endl << "Player 1 = X" << endl;
cout << "Computer = O";
cout << endl << endl << endl;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
cout << matrix [i][j] << " " << " ";
}
cout << endl << endl;
}
}
void input()
{
cout << endl << endl << "Press the number you want in the field: ";
cin >> a;
if (a == 1001)
{
exit(0);
}
else if (a == 1)
{
if (matrix[0][0] == '1')
matrix[0][0] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 2)
{
if (matrix[0][1] == '2')
matrix[0][1] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 3)
{
if (matrix[0][2] == '3')
matrix[0][2] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 4)
{
if (matrix[1][0] == '4')
matrix[1][0] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 5)
{
if (matrix[1][1] == '5')
matrix[1][1] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 6)
{
if (matrix[1][2] == '6')
matrix[1][2] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 7)
{
if (matrix[2][0] == '7')
matrix[2][0] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 8)
{
if (matrix[2][1] == '8')
matrix[2][1] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
else if (a == 9)
{
if (matrix[2][2] == '9')
matrix[2][2] = player;
else
{
cout << "Field is taken. Try again.";
input();
}
}
if (a > 9 || a < 1)
{
cout << endl << "Invalid Choice. Try again.";
input();
}
}
void Ai()
{
//-------------------------------------------------------
if (matrix[0][0] == 'X' && matrix[1][0] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[2][1] == 'X' && matrix[2][2] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == 'X' && matrix[1][1] == 'X' && matrix[2][0] == '7')
matrix[2][0] = 'O';
if (matrix[0][2] == 'X' && matrix[1][2] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[2][1] == 'X' && matrix[2][0] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == 'X' && matrix[1][1] == 'X' && matrix[2][2] == '9')
matrix[2][2] = 'O';
if (matrix[1][0] == 'X' && matrix[2][0] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == 'X' && matrix[0][2] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == 'X' && matrix[2][2] == 'X' && matrix[0][0] == '1')
matrix[0][0] = 'O';
if (matrix[0][0] == 'X' && matrix[0][1] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == 'X' && matrix[2][2] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == 'X' && matrix[2][0] == 'X' && matrix[0][2] == '3')
matrix[0][2] = 'O';
if (matrix[0][0] == 'X' && matrix[2][0] == 'X' && matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][1] == 'X' && matrix[2][1] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == 'X' && matrix[2][2] == 'X' && matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][0] == 'X' && matrix[0][2] == 'X' && matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][0] == 'X' && matrix[1][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[2][0] == 'X' && matrix[2][2] == 'X' && matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[2][0] == 'X' && matrix[0][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][0] == 'X' && matrix[2][2] == 'X' && matrix[1][1] == '5')
matrix[1][1] = 'O';
//----------------------------------------------------------
if (matrix[0][0] == 'O' && matrix[1][0] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[2][1] == 'O' && matrix[2][2] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == 'O' && matrix[1][1] == 'O' && matrix[2][0] == '7')
matrix[2][0] = 'O';
if (matrix[0][2] == 'O' && matrix[1][2] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[2][1] == 'O' && matrix[2][0] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == 'O' && matrix[1][1] == 'O' && matrix[2][2] == '9')
matrix[2][2] = 'O';
if (matrix[1][0] == 'O' && matrix[2][0] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == 'O' && matrix[0][2] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == 'O' && matrix[2][2] == 'O' && matrix[0][0] == '1')
matrix[0][0] = 'O';
if (matrix[0][0] == 'O' && matrix[0][1] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == 'O' && matrix[2][2] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == 'O' && matrix[2][0] == 'O' && matrix[0][2] == '3')
matrix[0][2] = 'O';
if (matrix[0][0] == 'O' && matrix[2][0] == 'O' && matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][1] == 'O' && matrix[2][1] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == 'O' && matrix[2][2] == 'O' && matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][0] == 'O' && matrix[0][2] == 'O' && matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][0] == 'O' && matrix[1][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[2][0] == 'O' && matrix[2][2] == 'O' && matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[2][0] == 'O' && matrix[0][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][0] == 'O' && matrix[2][2] == 'O' && matrix[1][1] == '5')
matrix[1][1] = 'O';
//---------------------------------------------------------
else if (a == 1)
{
if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 2)
{
if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 3)
{
if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
if (a == 4)
{
if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 5)
{
if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 6)
{
if (matrix[1][1] == '5')
matrix[1][1] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 7)
{
if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 8)
{
if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[2][1] == '8')
matrix[2][1] = 'O';
}
else if (a == 9)
{
if (matrix[2][1] == '8')
matrix[2][1] = 'O';
else if (matrix[1][1] == '5')
matrix[1][1] == 'O';
else if (matrix[1][2] == '6')
matrix[1][2] = 'O';
else if (matrix[2][2] == '9')
matrix[2][2] = 'O';
else if (matrix[0][0] == '1')
matrix[0][0] = 'O';
else if (matrix[0][1] == '2')
matrix[0][1] = 'O';
else if (matrix[2][0] == '7')
matrix[2][0] = 'O';
else if (matrix[1][0] == '4')
matrix[1][0] = 'O';
else if (matrix[0][2] == '3')
matrix[0][2] = 'O';
}
}
char win()
{
if (matrix[0][0] == 'X' && matrix[0][1] == 'X' && matrix[0][2] == 'X')
return 'X';
if (matrix[1][0] == 'X' && matrix[1][1] == 'X' && matrix[1][2] == 'X')
return 'X';
if (matrix[2][0] == 'X' && matrix[2][1] == 'X' && matrix[2][2] == 'X')
return 'X';
if (matrix[0][0] == 'X' && matrix[1][0] == 'X' && matrix[2][0] == 'X')
return 'X';
if (matrix[0][1] == 'X' && matrix[1][1] == 'X' && matrix[2][1] == 'X')
return 'X';
if (matrix[0][2] == 'X' && matrix[1][2] == 'X' && matrix[2][2] == 'X')
return 'X';
if (matrix[0][0] == 'X' && matrix[1][1] == 'X' && matrix[2][2] == 'X')
return 'X';
if (matrix[0][2] == 'X' && matrix[1][1] == 'X' && matrix[2][0] == 'X')
return 'X';
if (matrix[0][0] == 'O' && matrix[0][1] == 'O' && matrix[0][2] == 'O')
return 'O';
if (matrix[1][0] == 'O' && matrix[1][1] == 'O' && matrix[1][2] == 'O')
return 'O';
if (matrix[2][0] == 'O' && matrix[2][1] == 'O' && matrix[2][2] == 'O')
return 'O';
if (matrix[0][0] == 'O' && matrix[1][0] == 'O' && matrix[2][0] == 'O')
return 'O';
if (matrix[0][1] == 'O' && matrix[1][1] == 'O' && matrix[2][1] == 'O')
return 'O';
if (matrix[0][2] == 'O' && matrix[1][2] == 'O' && matrix[2][2] == 'O')
return 'O';
if (matrix[0][0] == 'O' && matrix[1][1] == 'O' && matrix[2][2] == 'O')
return 'O';
if (matrix[0][2] == 'O' && matrix[1][1] == 'O' && matrix[2][0] == 'O')
return 'O';
return '/';
}
int main()
{
int n = 0;
cout << "Tic Tac Toe v2 BETA" << endl;
cout << "-------------------" << endl;
system("TITLE Tic Tac Toe");
system("COLOR a");
draw();
while (1)
{
n++;
input();
Ai();
system("cls");
draw();
if (win() == 'X')
{
cout << "Player 1 Wins!!!" << endl << endl;
break;
}
if (win() == 'O')
{
cout << "Computer Wins!!!" << endl << endl;
break;
}
else if (win() == '/' && n == 5)
{
cout << "It's a Draw!!!" << endl << endl;
break;
}
}
system("PAUSE");
return 0;
}
I tested the game more and it actually does interfere quite a bit. I played 3 moves and the rest of the field was covered with O’s.
This also may help:
0,0 (1)| 0,1 (2)| 0,2 (3)
-------------------------
1,0 (4)| 1,1 (5)| 1,2 (6)
-------------------------
2,0 (7)| 2,1 (8)| 2,2 (9)
What I have tried:
I have tried to change all the if statements to switch statements, but nothing.
I tested the game more and it actually does interfere quite a bit. I played 3 moves and the rest of the field was covered with O's.
This also may help:
0,0 (1)| 0,1 (2)| 0,2 (3)
-------------------------
1,0 (4)| 1,1 (5)| 1,2 (6)
-------------------------
2,0 (7)| 2,1 (8)| 2,2 (9)
What I have tried:
I have tried to change all the if statements to switch statements, but nothing.
推荐答案
return
whenever the value is set to ’O’ or ’X’ in the AI method to force the single action.
Ex.
whenever the value is set to 'O' or 'X' in the AI method to force the single action.
Ex.
void Ai()
{
//-------------------------------------------------------
if (matrix[0][0] == 'X' && matrix[1][0] == 'X' && matrix[2][0] == '7') {
matrix[2][0] = 'O';
return;
}
else if (matrix[2][1] == 'X' && matrix[2][2] == 'X' && matrix[2][0] == '7') {
matrix[2][0] = 'O';
return;
}
else if (matrix[0][2] == 'X' && matrix[1][1] == 'X' && matrix[2][0] == '7') {
matrix[2][0] = 'O';
return;
}
这篇关于Tictactoe AI一次制作多个动作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!