版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
欧阳阳理创编 欧阳阳理创编 2021.03.04欧阳阳理创编 欧阳阳理创编 2021.03.04#include<iostream>创作:欧阳理时间:2021.03.05创作:欧阳理#include<stdlib.h>#include<time.h>usingnamespacestd;voidshow(intinput)switch(input){case1:cout<<("出的是石头!”);break;case2:cout<<("出的是剪刀!");break;case3:cout<<("出的是布!”);break;default:;}}voidcompare(intinputPlay,intinputComputer){if(inputPlay==1&&inputComputer==2||inputPlay==2&&inputComputer==3||inputPlay==3&&inputComputer==1){8a<<("\口玩家胜!\n");}elseif(inputPlay==inputComputer){8a<<("\口平局!\n");}else{cout<<("\n电脑胜!\n");}}intmain(){cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本1.0\n"<<endl;8a<<"请合理安排时间,切勿沉迷于游戏!\n"<<endl;8a<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\口”<<。口5;charisGoOn;intinputPlay;intinputComputer;8a<<("猜拳游戏\口”);8a<<("游戏说明:\口\口");8a<<("数字1代表石头数字2代表剪子 数字3代表布\口");srand(time(NULL));do{cout<<("\n请输入您要猜的:\n");cin>>inputPlay;if(inputPlay>=0&&inputPlay<=3){cout<<("您");show(inputPlay);inputComputer=rand()%3;cout<<("电脑");show(inputComputer);compare(inputPlay,inputComputer);}else{cout<<("您输入有错误!\n");8a<<("\口数字1代表石头数字2代表剪子数字3代表布\口”);}cout<<"\n您需要继续么?(y/n)";cin>>isGoOn;}while(isGoOn=='y'||isGoOn=='Y');8a<<"欢迎下次再玩!”;system("pause");}#include<iostream>#include<ctime>usingnamespacestd;int亚1口_01_1055。出);〃判断输赢的子函数voidbaoshi(time_t&);〃给出当前系统时间的子函数voidkeep_window_open();//让程序运行完毕后,窗口不立马消失intmain(){time_tthe_time_1,the_time_2;charq;intwin(0),loss(0),ping(0);doublegailv(0),sum(0);cout<<"欢迎您玩石头-剪子-布游戏(游戏作者:张龙)版本1.1\n"<<endl;8a<<"请合理安排时间,切勿沉迷于游戏!\n"<<endl;baoshi(the_time_1);8a<<"游戏说明:数字1代表石头数字2代表剪子数字3代表布\口”<<。口如do{cout<<"\n请问您一共想要玩几次猜拳游戏,请输入大于0的正整数(建议您至少玩十次):"<<endl;doubletimes;//输入的次数必须为大于0的正整数,不可为0,负数,浮点数,字符或者是字符串,如果出现非法输入,下面代码是用来处理这些非法输入while(!(cin>>times)){8a<<"您的输入不合法,必须为一个数字,请重新输入:"<<endl;cin.clear();cin.sync();}if(times<=0){8a<<"您的输入不合法,必须为正整数/\n"<<endl;cin.clear();cin.sync();q='y';continue;}elseif(times!=int(times)){8a<<"您的输入不合法,必须为正整数/\n"<<endl;cin.clear();cin.sync();q='y';continue;}//游戏正式开始for(inti=0;i<times;++i){cout<<"\n请输入您打算猜的拳(用数字123代替,数字1代表石头数字2代表剪子数字3代表布)"<<endl;while(1){doublet;cin>>t;if(cin.bad()){cerr<<"Sorry,出现了系统故障,请重新运行游戏!\n"<<endl;return1;}//用来处理非法输入if(cin.fail()){cerr<<"Sorry!,请您必须输入一个合法的数字(1or2or3)"<<endl;cout<<"请输入您打算猜的拳(用数字123代替)"<<endl;cin.clear();cin.sync();continue;}elseif(t!=1&&t!=2&&t!=3){cerr<<"Sorry!,请您必须输入一个合法的数字(1or2or3)\n"<<endl;cout<<"请输入您打算猜的拳(用数字123代替)\n"<<endl;cin.clear();cin.sync();continue;}else{cout<<"第"<々+1<<"次猜拳游戏”;if(t==1)cout<<"您猜的拳是:石头"<<endl;elseif(t==2)cout<<"您猜的拳是:剪刀"<<endl;elsecout<<您猜的拳是:布"<<endl;intn=win_or_loss(t);if(n==0)++ping;elseif(n>0)++win;/统计赢的次数else++loss;/统计输的次数break;}}if(i==times-1)cout<<"您的猜拳次数已经达到您所设定的<<times<<"/\n"<<endl;)cout<<"请问是否还要继续本游戏(Y/other)"<<endl;cin>>q;〃在玩够开始自己所设的次数后,如果仍然打算继续,则输入'y'}while(q=='Y'||q=='y');〃对整个游戏过程做一个完整统计sum=win+loss+ping;gailv=win/sum;cout<<"\n本次游戏您一共猜拳:"<<sum<<"次"<<endl;8a<<"其中一共胜利:"<<win<<"次"<<endl;8a<<“其中一共输了:"<<loss<<"次"<<endl;8a<<“其中一共打平:"<<ping<<"次"<<endl;cout<<"您的胜率为:"<<gailv*100<<"%"<<endl;cout<<"您的败率为:"<<loss/sum*100<<"%"<<endl;cout<<”您的打平的概率为:"<<(1-loss/sum-gailv)*100<<"%"<<endl;if(sum<10)8a<<"由于您猜拳的次数小于10次,不具有统计学意义,所以您与电脑到底谁厉害,无法评判,请大侠重新来过!\n"<<endl;elseif(gailv<0.4)cout<<"您真是个菜鸟,继续努力哦!\n"<<endl;else8世<<"大侠好厉害啊,竟然赢了电脑,佩服佩服!\n"<<endl;baoshi(the_time_2);cout<<”本次游戏您一共花费了:"<<the_time_2-the_time_1<<"秒\口"<<。口41;keep_window_open();return0;}//游戏核心代码,判断输赢intwin_or_loss(intt)欧阳阳理创编 欧阳阳理创编 2021.03.04欧阳阳理创编 欧阳阳理创编 2021.03.04欧阳阳理创编 2021.03.04欧阳阳理创编 2021.03.04{欧阳阳理创编 欧阳阳理创编 2021.03.04time_tthe_time;structtm*tm_ptr;intrec_sec;//电脑的猜拳最好的办法是设定一组完全的随机数,但是一般很难设计出完全的随机数,因此想了一个很巧妙的方法,取玩游戏时的系统时间的秒,根据当前的秒,电脑给出相应猜出的拳//这样用一种相对比较随机的方法,即便玩游戏的人知道了随机数的规律,也很难完全获胜the_time=time((time_t*)0);tm_ptr=gmtime(&the_time);rec_sec=tm_ptr->tm_sec;intans;“switch中主要分了三种情况,第一种是60以内的素数,然后又添加了几个其他的,凑够20;第二种是能被3除开的,然后再添加几个凑成20个;剩下的为第三种switch(rec_sec){case2:case8:case5:case7:case11:case13:case17:case19:case23:case29:case31:case37:case41:case43:case47:case53:case59:case22:case38:case56:cout<<"电脑游戏程序的猜的拳是:石头"<<endl;ans=1;break;case0:case3:case6:case9:case12:case15:case18:case21:case24:case27:case30:case33:case36:case39:case42:case45:case48:case51:case54:case57:cout<<"电脑游戏程序的猜的拳是:剪子"<<endl;ans=2;break;default:cout<<"电脑游戏程序的猜的拳是:布"<<endl;ans=3;break;}if(t==ans){cout<<"您这次和电脑打了一个平手!"<<endl;return0;}switch(t){if(ans==2){8世<<"恭喜您!您这次赢了电脑!\n"<<endl;return1;}else{8a<<"哈哈!输给电脑了!再接再厉!"<<endl;return-1;}break;if(ans==3){8世<<"恭喜您!您这次赢了电脑\n"<<endl;return1;}else{8世<<"哈哈!输给电脑了!再接再厉!"<<endl;return-1;}break;if(ans==1){8世<<"恭喜您!您这次赢了电脑\n"<<endl;return1;}else{8世<<"哈哈!输给电脑了!再接再厉!"<<endl;return-1;}break;}}inli
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 朝阳区web安全培训课件
- 曹贤龙安全培训心得课件
- 曹妃甸安全培训上岗证课件
- 金矿安全培训总结课件
- 金牌解说员培训课件
- 校园车辆安全管理员培训课件
- 金工车间安全培训课件
- 金属纤维培训课件模板
- 金属矿山安全与管理培训课件
- 金属切削基础知识课件
- (二模)大庆市2026届高三第二次教学质量检测英语试卷
- 《中华人民共和国危险化学品安全法》全套解读
- 民航上海医院2025年度公开招聘工作人员参考题库附答案
- 医院护理科2026年度工作总结与2026年度工作计划(完整版)
- 新疆农林牧特色课件
- 2025四川成都益民集团所属企业招聘财务综合岗等岗位备考题库及答案1套
- 国资与私有企业合作运营案例分享
- 个人船只转让协议书
- 2025微博x益普索手机行业社交生态解析及热点价值洞察白皮书
- 拼接屏系统维护施工方案
- 新型铝合金雨棚施工方案
评论
0/150
提交评论