自己写的一个猜拳小游戏(C语言)

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int menu(void);
int Mode(int); 
//int score(void);
int main(int argc, char *argv[]) {
	
	 menu();
	return 0;
}


int menu(void){
	system("cls");
	int a=0;
	printf("                                  \n");
	printf("**********************************\n");
	printf("                                  \n");
	printf("                                  \n");
	printf("           1.无尽模式             \n");
	printf("           2.五局三胜             \n");
	printf("           3.三局两胜             \n");
	printf("           4.得分记录             \n");
	printf("                                  \n");
	printf("                                  \n");	
	printf("                                  \n");
	printf("           请输入选项:           \n");
	printf("**********************************\n");
	printf("                                  \n");
	
	scanf("%d",&a);
	printf("%d",a);
	switch(a){
		case 1:
			{	
				Mode(1);
				break;
			}
		case 2:Mode(2);break;
		case 3:Mode(3);break;
		default : 
			printf("请输入数字1/2/3\n"); 
			menu();
			break;  
	//	case 4:score(4);break; 
			
	}
	return 0; 
}

int Mode(int mode){
	
	system("cls");
	int i=0;
	int Mode=0;
	int player_2,player_1;
	int win=0,fail=0,count=0;
	char str[3][6]={"剪刀","石头","布"};
	char player1[6]="";
	char player2[6]="";
	if(mode==2)
	{
		Mode=5;
		printf("五局三胜\n\n\n");
	} 
	if(mode==3)
	{
		Mode=3;
		printf("三局两胜\n\n\n");
	} 
	
	//printf("Mode是%d,%d\n",Mode,mode);
	printf("请选择:1.剪刀  2.石头  3.布  0.返回菜单\n\n");
	scanf("%d",&i); 
	//printf("%d",i);
	player_1=i-1;
	player_2=rand()%3;
	//printf("%d",player_2);
	strcpy(player1,str[player_1]);  
	strcpy(player2,str[player_2]);  
	printf("电脑:%s\n",player2);
	printf("自己:%s\n",player1);

	
	while(i!=0){
	
	if(strcmp(player1, player2) == 0)
		{
			printf("平局\n");
			printf("_________________________________\n\n");
			count++;
		}	
	
	if(player_1==0){
		if(player_2==1){
			printf("输了~\n");
			printf("_________________________________\n\n");
			count++;
			fail++;
		}else if(player_2==2){
			count++;
			win++;
			printf("胜利+1\n"); 
			printf("_________________________________\n\n");
		}
	}
	if(player_1==1){
		if(player_2==0){
			printf("胜利+1\n");
			printf("_________________________________\n\n");
			count++;
			win++;
			
		}else if(player_2==2){
			printf("输了~\n");
			printf("_________________________________\n\n");
			count++;
			fail++;
		}
	
	} 
	if(player_1==2){
		if(player_2==0){
			printf("输了~\n");
			printf("_________________________________\n\n");
			count++;
			fail++;
		}else if(player_2==1){
			printf("胜利+1\n");
			printf("_________________________________\n\n");
			count++;
			win++;
		}
	
	} 
	
	if(mode!=1){
		if(count==Mode&&win>fail){
			printf("**********************************\n");
			printf("                                  \n");
			printf("恭喜你赢了!\n");
			printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
			printf("                                  \n");
			printf("**********************************\n");
			
	
			count=0;
			win=0;
			fail=0;
			 
		}
		if(count==Mode&&win<fail){
			printf("**********************************\n");
			printf("                                  \n");
			printf("很遗憾你输了!\n");
			printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
			printf("                                  \n");
			printf("**********************************\n");
			
			count=0;
			win=0;
			fail=0;
			 
		}
				if(count==Mode&&win==fail){
			printf("**********************************\n");
			printf("                                  \n");
			printf("平局!!\n");
			printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
			printf("                                  \n");
			printf("**********************************\n");
			
			count=0;
			win=0;
			fail=0;
			 
		}
		
	}

	
	do{
		printf("\n请选择:1.剪刀  2.石头  3.布  0.返回菜单\n\n");
		scanf("%d",&i); 	
	}while(i!=1&&i!=2&&i!=3&&i!=0);
	
	player_1=i-1;
	player_2=rand()%3;
	strcpy(player1,str[player_1]);  
	strcpy(player2,str[player_2]); 
	printf("自己:%s\n",player1); 
	printf("电脑:%s\n",player2);
	
	
//	printf("对手:%d\n",player_2);
//	printf("自己:%d\n",player_1);
}


menu();
return 0;
}

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值