【数据结构】博弈游戏取石子

##一、游戏思路:
欢迎来到“取石子”游戏世界,这是一个减法游戏。两名对手交替从某给定的总数减去一个数,每个对手只能减去1或者2, 谁第一个把总数减到零或者更小的数算谁赢。比如说:
(1)、我们从数字8开始,你先动手;
(2)、你从总数里减去2,还剩下6;
(3)、我也减去2,还剩下4;
(4)、你再减去2,还剩下2
(5)、我在减去2,等于零
(6)、我赢了
这是一个很简单的游戏,只需要考虑总数是的情况,不管你减去1还是2,我都可以在下一次把它减成零,从而获胜。简单的说,只要保证每次减后总数为3的倍数,那么最后一定会赢,不信的话,现在你就可以跟身边的这位测一测!!!

下面我将从编程角度来看问题,创建一个完整的游戏,并为计算机准备一个最佳策略,用户必须每一步都正确才能赢,一起来看看吧!!

##二、游戏代码:

//#include"stdafx"
#include<iostream>
using namespace std;;
int main ()
{
	int total;
	int n;
	
	cout<<"欢迎来到取石子游戏"<<endl;
	cout<<"\n"<<endl;
	cout<<"请任意选择一个数开始游戏:"<<endl;
	cin>>total;
	while(true)
	{
		if(total%3==2)
		{
			total-=2;
			cout <<"我要减去2 ,现在的数为"<<total<<endl;
			cout<<"\n"<<endl;
		}
		else{  
				total-=1; 
				cout<<"我要减去1,现在的数字为:"<<total<<endl;
				cout<<"\n"<<endl;
	         }
		if(total<=0)
		     {
				 cout<<"我赢啦,你要加油哟"<<endl;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值