#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");elseprintf("回去再练几年吧!\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");elseprintf("回去再练几年吧!\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");elseprintf("回去再练几年吧!\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
恭喜恭喜!