博弈游戏(取石子)C++实现
来源:互联网 发布:重庆管家婆软件总代理 编辑:程序博客网 时间:2024/06/15 00:17
一、游戏思路:
欢迎来到“取石子”游戏世界,这是一个减法游戏。两名对手交替从某给定的总数减去一个数,每个对手只能减去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; cout<<"\n"<<endl; break; } cout<<"该你说要减去的数啦,记得只能减1或者2唷:〉"<<endl; cin>>n; cout<<"\n"<<endl; while(n<1 ||n>2) { cout<<"每次只能减去1或者2, 你这人怎么能耍赖皮呢!!! "<<endl; cout<<"\n"<<endl; cout<<"快点重新说你要减去几!!!!"<<endl; cin>>n; } total-=n; cout<<"好啦,现在的数字为:"<<total<<endl; if(total<=0) { cout<<"好吧,算你赢"<<endl; break; }}}
三、执行结果
俗话说,什么样的性格写出什么样的代码,我这个大大咧咧宇宙无敌超级捣蛋鬼,写出的游戏自然十分俏皮了,你如果不喜欢游戏里面我的提示方式,可以添加你喜欢的语句,鄙人并不介意,那我就把草名写的程序的运行结果展示给大家,见下图:
四、简单分析:
该程序十分基本,只要涉猎C或者C++的人肯定不难理解,主要运用while( )循环和if()…..else 判断语句,另外,需要特别说明的是,在游戏中,如果对手不按规则来,也就是说,他一旦减的数字不是1或者2,需要作出提醒,要求重新输入。
五:特别说明:
本人学疏才浅,也是正走在编成路上的学者,不足之处还望海涵,另外,我会在写一些学术博客的同时,分享一些小游戏,使得我们的编程之路更加有趣生动!!
good night (:>
阅读全文
1 0
- 博弈游戏(取石子)C++实现
- 博弈---取石子游戏
- 取石子游戏+博弈
- 取石子游戏-博弈
- 博弈-取石子游戏
- 【博弈】取石子游戏
- HDU2516-取石子游戏-博弈
- 简单取石子游戏~博弈
- 取石子游戏(博弈)
- [POJ1067] 取石子游戏 && 博弈
- 【博弈】威佐夫博弈poj1067 取石子游戏
- 取石子游戏(博弈算法)
- Poj 1067 取石子游戏 (博弈)
- 2177博弈问题 取石子游戏
- 2177博弈问题 取石子游戏 算法
- POJ1067 取石子游戏 (威佐夫博弈)
- POJ 1067 取石子游戏 (博弈)
- poj 1067 取石子游戏(博弈)
- JavaWeb开发模式二:JSP+Servlet+JavaBean
- PS之钢笔工具
- 智能指针–std::auto_ptr
- python: isspace函数
- 用eclipse开发第一个MyBatis
- 博弈游戏(取石子)C++实现
- Ubuntu下安装nodejs
- java web项目:学生考试系统(从入门到跑路)onlinexamnew:(2)命名规则
- 解忧杂货店
- Scala算术和操作符重载
- 图解HTTP--五天让我们掌握HTTP协议
- 测试工程师进阶测试开发工程师
- js正则表达式:验证邮箱格式、密码复杂度、手机号码、QQ号码
- Grequests VS aiohttp+asyncio