
求写一个C++简单小程序,刚学的,一个假期过去了,有些小迷糊
写一个程序来模拟“石头-剪子-布”游戏。两个玩家分别输入R(代表石头),S(代表剪子),P(代表布),然后由程序判断谁赢了。基本规则是:布包石头,石头碰坏剪子,而剪子剪布...
写一个程序来模拟“石头-剪子-布”游戏。两个玩家分别输入R(代表石头),S(代表剪子),P(代表布),然后由程序判断谁赢了。基本规则是:布包石头,石头碰坏剪子,而剪子剪布。如果选择一样,就算平局。要允许用户使用小写或者大写字母输入R,S,P。你的程序应该包括一个循环,每次都让用户选择是否想重新玩一遍。
展开
2个回答
展开全部
你确定是C++不是C语言?
这个应该不是2个玩家吧? 这样写就没意思了,因为这样都能看到另外一个人出的什么了!应该是电脑和人的吧?
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
cout<<"1代表石头:2代表剪刀:3代表布:0代表结束游戏:"<<endl;
cout<<"请出拳"<<endl;
int n;
while(cin>>n)
{
if(n<1||n>4) cout<<"输入错误 请重新输入:"<<endl;
else if(n==0) break;
else
{
int d;
srand((unsigned)time(0));
d=rand()%3+1;
switch(n)
{
case 1: cout<<"你出的是石头"<<endl;break;
case 2: cout<<"你出的是剪刀"<<endl;break;
case 3: cout<<"你出的是布"<<endl;break;
}
switch(d)
{
case 1: cout<<"我出的是石头"<<endl;break;
case 2: cout<<"我出的是剪刀"<<endl;break;
case 3: cout<<"我出的是布"<<endl;break;
}
if(d==n) cout<<"平手"<<endl;
else if(d-n==1) cout<<"你赢了"<<endl;
else if(d==1&&n==3) cout<<"你赢了"<<endl;
else cout<<"你输了"<<endl;
}
}
}//看看这个吧?只是用1 2 3 代替R S P 而已需要的话,我也可以改!
更多追问追答
追答
不可能同时输入的,最多就是一个人输入后马上清屏!这样才行!你要程序吗?那个输入123代表石头剪刀布的不必要改吧!不要截图啊!直接上传程序,我可以帮你改!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询