猜拳游戏,分别用函数的调用、二维数组
循环游戏,累加战绩,结束时显示
#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);
int main ()
{
srand((unsigned)time(NULL));
int a=0,b,c=0;
int num[2][3]={0};
char x,n;
printf("----------------欢迎进入游戏世界----------------\n");
printf("\t\t****************\n");
printf("\t\t** 猜拳,开始 **\n");
printf("\t\t****************\n");
printf("出拳规则:1、剪刀 2、石头 、3布\n");
printf("请选择对方角色(1、刘备 2、孙权 3 、曹操):");
scanf("%d",&a);
while(1)
{
if(a==1)
{
printf("你选择了刘备对战\n");
liu(num,2,3);
}
else if(a==2)
{
printf("你选择了孙权对战\n");
sun(num,2,3);
}
else if(a==3)
{
printf("你选择了曹操对战\n");
cc(num,2,3);
}
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("请出拳: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("请出拳: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");
}