猜拳游戏!

#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. 实现循环对战
        4. 统计对战次数
        5. 统计各方出的石头、剪刀、布的次数
        6. 统计各方得分情况

总效果:

--------------------欢迎进入游戏世界----------------------

****************

** 猜拳,开始**

****************

出拳规则: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

恭喜恭喜!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值