井字棋决策的Cpp描述

井字棋决策的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值