石头剪子布游戏
电脑出牌我应对,0 1 2分别代表石头剪子布。三局两胜,平局不计数,显示获胜者
2条回答 默认 最新
关注 #include<iostream> #include<stdlib.h> #include<ctime> #include<iostream> using namespace std; class win { public: win(int r,int h) //构造函数:将r h传入类的对象 { i=r; j=h; } char result(int i,int j); //判断胜负关系 void print(); //根据胜负关系输出信息 private: //成员变量 int i,j; char a,ch; }; char win::result(int i, int j) { if((i==0 && j==1)||(i==1 && j==2)||(i==2 && j==0)) //return R; ch='R'; else if((i==0 && j==2)||(i==1 && j==0)||(i==2 && j==1)) //return P; ch='P'; else if((i==0 && j==0)||(i==1 && j==1)||(i==2 && j==2)) //return N; ch='N'; return ch; }; void win::print() { char a=result(i,j); switch(a) { case'R': cout<<"you win!"<<endl; break; case'P': cout<<"sorry,I win!"<<endl; break; case'N': cout<<"we are ok!"<<endl; break; } } int main() { int o;int p; char cha; int m=1; while(m==1) { cout<<"石头=0 剪刀=1 布=2 \n"<<endl; cout<<"please input a number"<<endl; cin>>o; while(o>2) { cout<<"please input a number again"<<endl; cin>>o; } srand((unsigned)time(0)); p=rand()%3; //p取得一个0~2之间的随机数 cout<<p<<endl; win sjb(o,p); //sjb是win类的一个对象 sjb.result(o,p); //判断胜负关系 sjb.print(); //根据胜负关系输出信息 cout<<"Do you want to try again?"<<endl; cin>>cha; if(cha=='y'){m=1;} else if(cha=='n') {m=0;cout<<"game over"<<endl;} } return 0; }
可以参考!!!
麻烦采纳一下哦!谢谢本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP