#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void liu(int a[2][3],int i,int j);
void sun(int a[2][3],int i,int j);
void cc(int a[2][3],int i,int j);
//#define A 刘备
//#define B 孙权
//#define C 曹操
int main()
{
int c;
int num[2][3]={0};
printf("----------------欢迎进入游戏世界----------------\n\t\t****************\n\t\t** 猜拳,开始 **\n\t\t****************\n出拳规则:1、石头 2、剪刀 3、布\n请选择对方角色(1、刘备 2、孙权 3、曹操):");
srand((unsigned)time(NULL));
scanf("%d",&c);
switch(c)
{
case 1:
printf("你选择了刘备对战\n");
liu(num,2,3);
break;
case 2:
printf("你选择了孙权对战\n");
sun(num,2,3);
break;
case 3:
printf("你选择了曹操对战\n");
cc(num,2,3);
break;
default:
break;
}
return 0;
}
void liu(int a[2][3],int i,int j)
{
int n=0,m=0,b,c,z=0;
char ch;
printf("要开始吗?(y/n)");
getchar();
ch=getchar();
while(ch=='y')
{
c=rand()%3+1;
//printf("%d",a);
printf("请出拳:1、石头 2、剪刀 3、布(输入对应数字):\n");
scanf("%d",&b);
n++;
if(c==1)
{
printf("刘备出石头!");
a[1][0]++;
if(b==1)
{
printf("咱出石头!\n打平。\n");
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n笨啊,打不过刘备。\n");
z++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n咱赢了。\n");
a[0][2]++;
m++;
}
}
else if(c==2)
{
printf("刘备出剪刀!");
a[1][1]++;
if(b==1)
{
printf("咱出石头!\n咱赢了。\n");
a[0][0]++;
m++;
}
else if(b==2)
{
printf("咱出剪刀!\n打平。\n");
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n猪头!打不过刘备都!\n");
z++;
a[0][2]++;
}
}
else if(c==3)
{
printf("刘备出布!");
a[1][2]++;
if(b==1)
{
printf("咱出石头!\n笨蛋!\n");
z++;
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n咱赢了。\n");
m++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n打平。\n");
a[0][2]++;
}
}
if(b!=1&&b!=2&&b!=3)
break;
printf("是否开始下一轮?(y/n)");
getchar();
ch=getchar();
}
printf("————————————————\n刘备 VS 王子:累计出拳统计\n姓名\t石头\t剪刀\t布\n王子");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
if(i==0)
printf("\n刘备");
}
printf("\n\n\n刘备 VS 王子\n对战次数:%d\n\n",n);
printf("姓名\t得分\n王子\t%d\n刘备\t%d\n\n\n",m,z);
if(m>z)
printf("恭喜恭喜!\n");
else
printf("回去再练几年吧!\n");
}
void sun(int a[2][3],int i,int j)
{
int n=0,m=0,b,c,z=0;
char ch;
printf("要开始吗?(y/n)");
getchar();
ch=getchar();
while(ch=='y')
{
c=rand()%3+1;
//printf("%d",a);
printf("请出拳:1、石头 2、剪刀 3、布(输入对应数字):\n");
scanf("%d",&b);
n++;
if(c==1)
{
printf("孙权出石头!");
a[1][0]++;
if(b==1)
{
printf("咱出石头!\n打平。\n");
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n笨啊,打不过孙权。\n");
z++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n咱赢了。\n");
a[0][2]++;
m++;
}
}
else if(c==2)
{
printf("孙权出剪刀!");
a[1][1]++;
if(b==1)
{
printf("咱出石头!\n咱赢了。\n");
a[0][0]++;
m++;
}
else if(b==2)
{
printf("咱出剪刀!\n打平。\n");
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n猪头!打不过孙权都!\n");
z++;
a[0][2]++;
}
}
else if(c==3)
{
printf("孙权出布!");
a[1][2]++;
if(b==1)
{
printf("咱出石头!\n笨蛋!\n");
z++;
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n咱赢了。\n");
m++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n打平。\n");
a[0][2]++;
}
}
if(b!=1&&b!=2&&b!=3)
break;
printf("是否开始下一轮?(y/n)");
getchar();
ch=getchar();
}
printf("————————————————\n孙权 VS 王子:累计出拳统计\n姓名\t石头\t剪刀\t布\n王子");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
if(i==0)
printf("\n孙权");
}
printf("\n\n\n孙权 VS 王子\n对战次数:%d\n\n",n);
printf("姓名\t得分\n王子\t%d\n孙权\t%d\n\n\n",m,z);
if(m>z)
printf("恭喜恭喜!\n");
else
printf("回去再练几年吧!\n");
}
void cc(int a[2][3],int i,int j)
{
int n=0,m=0,b,c,z=0;
char ch;
printf("要开始吗?(y/n)");
getchar();
ch=getchar();
while(ch=='y')
{
c=rand()%3+1;
//printf("%d",a);
printf("请出拳:1、石头 2、剪刀 3、布(输入对应数字):\n");
scanf("%d",&b);
n++;
if(c==1)
{
printf("曹操出石头!");
a[1][0]++;
if(b==1)
{
printf("咱出石头!\n打平。\n");
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n笨啊,打不过曹操。\n");
z++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n咱赢了。\n");
a[0][2]++;
m++;
}
}
else if(c==2)
{
printf("曹操出剪刀!");
a[1][1]++;
if(b==1)
{
printf("咱出石头!\n咱赢了。\n");
a[0][0]++;
m++;
}
else if(b==2)
{
printf("咱出剪刀!\n打平。\n");
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n猪头!打不过曹操都!\n");
z++;
a[0][2]++;
}
}
else if(c==3)
{
printf("曹操出布!");
a[1][2]++;
if(b==1)
{
printf("咱出石头!\n笨蛋!\n");
z++;
a[0][0]++;
}
else if(b==2)
{
printf("咱出剪刀!\n咱赢了。\n");
m++;
a[0][1]++;
}
else if(b==3)
{
printf("咱出布!\n打平。\n");
a[0][2]++;
}
}
if(b!=1&&b!=2&&b!=3)
break;
printf("是否开始下一轮?(y/n)");
getchar();
ch=getchar();
}
printf("————————————————\n曹操 VS 王子:累计出拳统计\n姓名\t石头\t剪刀\t布\n王子");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("\t%d",a[i][j]);
if(i==0)
printf("\n曹操");
}
printf("\n\n\n曹操 VS 王子\n对战次数:%d\n\n",n);
printf("姓名\t得分\n王子\t%d\n曹操\t%d\n\n\n",m,z);
if(m>z)
printf("恭喜恭喜!\n");
else
printf("回去再练几年吧!\n");
}
开始游戏
实现对战对方的选择
------------------------欢迎进入游戏世界---------------------
*********************
** 猜拳,开始 **
*********************
出拳规则:1、剪刀 2、石头 3、布
请选择对方角色(1、刘备 2、孙权 3、曹操):3
你选择了曹操对战
-
-
-
- 双方出拳
- 计算胜负
- 实现循环对战
- 统计对战次数
- 统计各方出的石头、剪刀、布的次数
- 统计各方得分情况
-
-
总效果:
--------------------欢迎进入游戏世界----------------------
****************
** 猜拳,开始**
****************
出拳规则:1、剪刀 2、石头 3、布
请选择对方角色(1、刘备 2、孙权 3、曹操):3
你选择了曹操对战
要开始吗?(y/n) y
请出拳:1、剪刀 2、石头 3、布(输入相应数字):2
你出拳:石头
曹操出拳:剪刀
结果:恭喜,你赢了!
是否开始下一轮?(y/n) n
曹操 VS 王子:累计出拳统计
姓名 剪刀 石头 布
王子 0 1 0
曹操 1 0 0
曹操 VS 王子
对战次数:1
姓名 得分
王子 1
曹操 0
恭喜恭喜!