刚刚的有点问题,现在改好了:
创新互联专注于宁武企业网站建设,响应式网站开发,商城系统网站开发。宁武网站建设公司,为宁武等地区提供建站服务。全流程按需搭建网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
#includestdio.h
#includetime.h
#includestdlib.h
#includestring.h
char name[100],way[3][10]={"石头","剪子","布"},mode_name[2][20]={"三局两胜","五局三胜"};
void new_game(int mode,int *p_win,int * p_lose,int *p_tide){
char cmd[10];
int computer,user,win=0,lose=0;
int cnt[2]={3,5};
printf("***当前模式:\t%s\n",mode_name[mode]);
for(int i=0;icnt[mode];i++){
printf("***1 -- 石头;\t 2 -- 剪子\t 3 -- 布\n");
fgets(cmd,9,stdin);
user=(cmd[0]-'1')%3;
if(user0)user+=3;
computer=rand()%3;
printf("***%-10s:%s\n",name,way[user]);
printf("***%-10s:%s","电脑",way[computer]);
if(computer==user)
{
printf("\t\t平\n");
}
else if(user-computer==-1 || user-computer==2)
{
printf("\t%s\t赢\n",name);
win++;
}
else
{
printf("\t电脑\t赢\n");
lose++;
}
if(winlose+cnt[mode]-i-1 || losewin+cnt[mode]-i-1)
break;
}
if(winlose)
{
printf("恭喜!该局你赢家了!\n");
(*p_win)++;
}
else if(winlose)
{
(*p_lose)++;
printf(" 可惜!,你输了本局!\n");
}
else
{
(*p_tide)++;
printf(" 此局平局!\n");
}
}
int main(){
srand(time(0));
char cmd[10];
int mode=0;
int win,lose,tide;
win=lose=tide=0;
printf("请输入玩家姓名:\t");
fgets(name,99,stdin);
name[strlen(name)-1]='\0';
while(1){
printf("/******************石头剪子布游戏 ******************\n");
printf("***玩家:\t%s\n",name);
printf("***比赛情况:\t赢:\t%d\t输:\t%d\t平:\t%d\n",win,lose,tide);
printf("***当前模式:\t%s\n",mode_name[mode]);
printf("***N -- 开始游戏;\tC -- 切换模式;\tQ -- 退出;\n");
fgets(cmd,9,stdin);
if(cmd[0]=='N' || cmd[0]=='n')
new_game(mode,win,lose,tide);
else if(cmd[0]=='Q' || cmd[0]=='q')
break;
else
mode=1-mode;
}
return 0;
}
用简单的c语言实现:
#include
int
main()
{
int
num1,num2
;
printf("请玩家输入1表示石头、2表示剪子、3表示布:");
scanf("%d",num1);
printf("请玩家输入1表示石头、2表示剪子、3表示布:");
scanf("%d",num2);
//枚举可能出现的各种情况
if(num1==1
num2==1)
//
1
1
{
printf("玩家一选择石头
,玩家二选择石头,平局\n");
}
else
if(num1==1
num2==2)
//
1
2
{
printf("玩家一选择石头
,玩家二选择剪子,玩家一胜利\n");
}
else
if(num1==1
num2==3)
//1
3
{
printf("玩家一选择石头
,玩家二选择布,玩家二胜利\n");
}
else
if(num1==2
num2==1)
//2
1
{
printf("玩家一选择剪子
,玩家二选择石头,玩家二胜利\n");
}
else
if(num1==2
num2==2)
//2
2
{
printf("玩家一选择剪子
,玩家二选择剪子,平局\n");
}
else
if(num1==2
num2==3)
//2
3
{
printf("玩家一选择剪子
,玩家二选择布,玩家一胜利\n");
}
else
if(num1==3
num2==1)
//3
1
{
printf("玩家一选择布
,玩家二选择石头,玩家一胜利\n");
}
else
if(num1==3
num2==2)
//3
2
{
printf("玩家一选择布
,玩家二选择剪子,玩家二胜利\n");
}
else
//3
3
{
printf("玩家一选择布
,玩家二选择布,平局\n");
}
return
0;
}
#include stdio.h
#include time.h
#include stdlib.h
void main()
{
int com,user;
char c;
srand((unsigned)time(NULL)); //初始化随机数,如果没有这条语句,每次运行电脑产生的随机数序列都是一样的
printf("进入游戏\n");
do{
printf("请出拳(1.剪刀、2.石头、3.布):");
scanf("%d",user);
com=rand()%3+1; //产生1-3范围内的随机数
printf("电脑出%s\n",com==1?"剪刀":com==2?"石头":"布");
switch(com-user) //用电脑产生的数和用户输入的数的差值来判断胜负
{
case 0:
printf("平手\n");
break;
case 1:
case -2:
printf("电脑赢了\n");
break;
case -1:
case 2:
printf("你赢了\n");
}
printf("继续游戏按Y键、其它键退出");
getchar();
c=getchar();
}while(c=='y' || c=='Y');
printf("已经退出游戏");
}
扩展资料
C++编程: 石头剪子布
#includecstdio
#includeiostream
using namespace std;
int main()
{
int n;
char a[10],b[10];
cinn;
int c[n+3];
for(int i=1;i=n;i++)
{
cinab;
if(a[0]=='R')
{
if(b[0]=='R')
{
c[i]=0;
}
if(b[0]=='S')
{
c[i]=1;
}
if(b[0]=='P')
{
c[i]=2;
}
}
else if(a[0]=='S')
{
if(b[0]=='R')
{
c[i]=2;
}
if(b[0]=='S')
{
c[i]=0;
}
if(b[0]=='P')
{
c[i]=1;
}
}
else if(a[0]=='P')
{
if(b[0]=='R')
{
c[i]=1;
}
if(b[0]=='S')
{
c[i]=2;
}
if(b[0]=='P')
{
c[i]=0;
}
}
}
for(int i=1;i=n;i++)
switch(c[i])
{
case 0:
{
printf("Tie\n");break;
}
case 1:
{
printf("Player1\n");break;
}
case 2:
{
printf("Player2\n");break;
}
}
return 0;
}