井字棋决策的Cpp描述
本文在vs17环境下对井字棋的决策算法做出了部分解释
博弈双方的棋权,运用了布尔型变量
通过对布尔型变量的次序互换实现双方函数的交替运行
char ww, X, O;
int qz;
bool h;
static int number=0;
//先手的初始化
cout << "开始"<<endl;
//cout << "请选择X或O作为棋子:";
while(number==0)
{
cin >> ww;
if (ww == 'X')
{
input_player_x(number+1);
number++;
h = true;
}
else if (ww == 'O')
{
input_player_o(number+1);
number++;
h = false;
}
}
//棋权的互换和胜利算法
while (number < 9&&number>0)
{
cin >> qz;
output_vector(qz);
if (h == true)
{
input_player_x(qz, number + 1);
number++;
h = false;
}
if (h == false)
{
input_player_o(qz,number + 1);
number++;
h = true;
}
}
棋盘中棋子位置的叙述采对用二维数组赋值,也可以采用vector容器
vector<int> number;
for (int i = 0; i < n; i++)
{
number.push_back(qz); //向这个vector中添加元素
}
胜利决策只需要判断棋盘上的总棋子数以及在下一个棋子落下的上一个函数进行x,o字符的逐行逐列、对角线进行胜利决策
采用二维数组对字符串进行操作
我的GitHubhttps://github.com/TYduoduo