恶魔轮盘(冬历营)

#include<bits/stdc++.h>
#include<windows.h>
#include<time.h>//改rand()%x 
using namespace std;
char gamer1[20],gamer2[20],xue1,xue2;
int xuanze,moshi=1,daoju1=rand()%5,daoju2=rand()%5,daoju3=rand()%5,daoju4=rand()%5,daoju5=rand()%5,daoju6=rand()%5,daoju7=rand()%5,daoju8=rand()%5,pd,ccph1=0,ccph2=0,sf=0;//打对面或者自己 
struct GamerProp{//玩家1道具 
	int qishui=0,shoukao=0,yan=0,fangdajing=0,xiaodao=0;
	//1.汽水(跳弹),2.手铐(跳过对面一回合) ,3.烟(加一滴血) ,4.放大镜(查看当前子弹) ,5.小刀(下一枪双倍伤害) 
}GP[3];
void daoju(int x,int wanjia);
void Round_1(int x,int y);
void Round_2(int x,int y);
void Round_3(int x,int y); 
void daoju(int x,int wanjia){//增加道具 
	if(x==1) GP[wanjia].qishui+=1;
	if(x==2) GP[wanjia].shoukao+=1;
	if(x==3) GP[wanjia].yan+=1;
	if(x==4) GP[wanjia].fangdajing+=1;
	if(x==5) GP[wanjia].xiaodao+=1;
}
void Round_1(int x,int y){//x代表实弹,y代表空弹 
	printf("\n进入第一回合\n");
	xue1=2;xue2=2;
	for(int i=rand()%2;;i++){
		int suiji=rand()%x+y;
		if(i%2==1){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面\n",gamer1,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);// 玩家选择(1打自己,2打对方) 
			printf("\n3");Sleep(500);
			printf("\n2");Sleep(500);
			printf("\n1");Sleep(500);
			if(xuanze==1){
				if(suiji<x){
					printf("\nbang~~枪响了");
					xue1--; 
					x--;
				} 
		        else{
				    printf("\n无事发生,下一轮将还是你的回合\n");
					y--; 
					i++;
					continue;
				}
			} 
			if(xuanze==2){
				if(suiji<x){
					printf("\nbang~~枪响了");
					xue2--; 
					x--;
				} 
		        else{
				    printf("\n无事发生\n");
					y--; 
				}
			}
		}    
	    if(i%2==0){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面\n",gamer2,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);// 玩家选择(1打自己,2打对方) 
			printf("\n3");Sleep(500);
			printf("\n2");Sleep(500);
			printf("\n1");Sleep(500);
			if(xuanze==1){
				if(suiji<x){
					printf("\nbang~~枪响了");
					xue2--; 
					x--;
				} 
				else{
			    	printf("\n无事发生,下一轮将还是你的回合\n");
				    y--; 
				    i++;
				    continue;
				}
			} 
			if(xuanze==2){
				if(suiji<x){
				    printf("\nbang~~枪响了");
				    xue1--; 
					x--;
				} 
				else{
					printf("\n无事发生\n");
					y--; 
				}
			}
		}
		if(xue1==0||xue2==0) {//判定胜利 
			if(xue1==0) {
			    printf("\n%s win.",gamer2);
			    Sleep(500);
			    break;
		    }
		    else {
		        printf("\n%s win.",gamer1);sf++;
		        Sleep(500);
		        break;
		    }
		}
		if(x==0&&y==0) {
			x=rand()%4;y=rand()%4;
			x++;y++;
		}
	}
}
void Round_2(int x,int y){
	printf("\n进入第二回合\n");
	daoju(daoju1+1,1);daoju(daoju2+1,1);daoju(daoju3+1,2);daoju(daoju4+1,2);
	int kao1=0,kao2=0,dao1=0,dao2=0;
	xue1=4;xue2=4;
	for(int i=rand()%2;;i++){
		int suiji;
		if(x==0&&y==0) {
			x=rand()%4;y=rand()%4;
			x++;y++;
			daoju1=rand()%5,daoju2=rand()%5;daoju3=rand()%5,daoju4=rand()%5;
			daoju(daoju1+1,1);daoju(daoju2+1,1);daoju(daoju3+1,2);daoju(daoju4+1,2);
		}
		if(pd==0) suiji=rand()%x+y;
		else {
			 if(pd==1){
			     suiji=1;
		     }
		     else suiji=x+1;
		}
		if(kao1==1||kao2==1){
			if(kao1==1){
				i++;
				printf("\n%s被铐上手铐,为%s的回合\n",gamer1,gamer2);
				kao1=0;
			}
			else{
				i++;
				printf("\n%s被铐上手铐,为%s的回合\n",gamer2,gamer1);
				kao2=0;
			}
		}
		if(i%2==1){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面        3.道具栏\n",gamer1,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);
			if(xuanze==3){
				printf("1.汽水:%d    2.手铐:%d     3.烟:%d     4.放大镜 :%d    5.小刀:%d    6.返回\n" ,GP[1].qishui,GP[1].shoukao,GP[1].yan,GP[1].fangdajing,GP[1].xiaodao);	
				scanf("%d",&xuanze);
				if(xuanze==1){
					GP[1].qishui--;
					if(suiji<x) {
						x--;
						printf("弹出一发实弹\n");
						i++;
						continue;
					}
					else{
						y--;
						printf("弹出一发空弹\n");
						i++;
						continue;
					}
				}
				if(xuanze==2){
				    printf("%s被铐上手铐\n",gamer2);
				    GP[1].shoukao--;
				    kao2=2;
				    i++;
				    continue;
				}
				if(xuanze==3){
					if(xue1<4){
						printf("你回了一滴血\n");
						xue1++;
						i++;
						GP[1].yan--;
						continue; 
					}	    
					else{
						printf("你已经满血了\n");
						i++;
						continue;
					}
				}
				if(xuanze==4){
					GP[1].fangdajing--;
					if(suiji<x){
						printf("这是一发实弹\n");
						pd=1;
						i++;
						continue; 
					}
					else{
						printf("这是一发空弹\n"); 
						pd=2;
						i++;
						continue; 
					}
				}
			    if(xuanze==5){
					GP[1].xiaodao--;
					dao1=1;
					printf("锯掉枪管,你可真敢\n");
					i++;

		continue;
				}
				if(xuanze==6){
					i++;
					continue;
				} 
			}
			else{
				printf("\n3");Sleep(500);
				printf("\n2");Sleep(500);
				printf("\n1");Sleep(500);
				if(xuanze==1){
					if(suiji<x){
						printf("\nbang~~枪响了");
						xue1--; 
						pd=0;
						x--;
						kao1--;
						kao2--;
					} 
				    else{
						printf("\n无事发生,下一轮将还是你的回合\n");
						pd=0;
						y--; 
						if(kao1==1){
							continue;
						}
                        else{
							i++;
						    continue;
						}
					}
					kao1--;
					kao2--;
				} 
				if(xuanze==2){
				    if(dao1==1){
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue2-=2; 
							pd=0;
							x--;
							dao1=0;
							kao1--;
							kao2--;
						} 
						else{
							printf("\n无事发生\n");
							pd=0;
							y--; 
							dao1=0;
							kao1--;
							kao2--;
						}
					}
					else{
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue2--; 
							pd=0;
							x--;
							kao1--;
							kao2--;
						} 
						else{
							printf("\n无事发生\n");
							pd=0;
							y--; 
							kao1--;
							kao2--;
						}
					}
				}
			}
		}
		if(i%2==0){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面        3.道具栏\n",gamer2,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);
			if(xuanze==3){
				printf("1.汽水:%d    2.手铐:%d     3.烟:%d     4.放大镜 :%d    5.小刀:%d    6.返回\n" ,GP[2].qishui,GP[2].shoukao,GP[2].yan,GP[2].fangdajing,GP[2].xiaodao);	
				scanf("%d",&xuanze);
				if(xuanze==1){
					GP[2].qishui--;
					if(suiji<x) {
						x--;
						printf("弹出一发实弹\n");
						i++;
						continue;
					}
					else{
						y--;
						printf("弹出一发空弹\n");
						i++;
						continue;
					}
				}
				if(xuanze==2){
				    printf("%s被铐上手铐\n",gamer1);
				    GP[2].shoukao--;
				    kao1=2;
				    i++;
				    continue;
				}
				if(xuanze==3){
					if(xue2<4){
						printf("你回了一滴血\n");
						xue2++;
						i++;
						GP[2].yan--;
						continue; 
					}	    
					else{
						printf("你已经满血了\n");
						i++;
						continue;
					}
				}
				if(xuanze==4){
					GP[2].fangdajing--;
					if(suiji<x){
				    	printf("这是一发实弹\n");
				    	pd=1;
				    	i++;
						continue; 
					}
					else{
						printf("这是一发空弹\n"); 
						pd=2;
						i++;
						continue; 
					}
				}
			    if(xuanze==5){
					GP[2].xiaodao--;
					dao2=1;
					printf("锯掉枪管,你可真敢\n");
					i++;
					continue;
				}
				if(xuanze==6){
					i++;
					continue;
				} 
			}
			else{
				printf("\n3");Sleep(500);
				printf("\n2");Sleep(500);
				printf("\n1");Sleep(500);
				if(xuanze==1){
					if(suiji<x){
						printf("\nbang~~枪响了");
						xue2--; 
						pd=0;
						x--;
						kao1--;
						kao2--;
					} 
				    else{
						printf("\n无事发生,下一轮将还是你的回合\n");
						pd=0;
						y--; 
						if(kao2==1){
							continue;
						}
                        else{
							i++;
						    continue;
						}
						kao1--;
						kao2--;
					}
				} 
				if(xuanze==2){
				    if(dao2==1){
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue1-=2; 
							pd=0;
							x--;
							dao2=0;
							kao1--;
							kao2--;
						} 
						else{
							printf("\n无事发生\n");
							pd=0;
							y--; 
							dao2=0;
							kao1--;
							kao2--;
						}
					}
					else{
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue1--; 
							pd=0;
							x--;
							kao1--;
							kao2--;

} 
						else{
						    printf("\n无事发生\n");
						    pd=0;
							y--; 
							kao1--;
							kao2--;
						}
					}
				}
			}
		}	
		if(xue1<=0||xue2<=0) {//判定胜利 
			if(xue1<=0) {
				printf("\n%s win.",gamer2);
			    Sleep(500);
			    break;
			}
			else {
				printf("\n%s win.",gamer1);sf++;
				Sleep(500);
				break;
			}
		}
	}
} 
void Round_3(int x,int y){
	printf("\n进入第三回合\n");	
	daoju(daoju1+1,1);daoju(daoju2+1,1);daoju(daoju3+1,2);daoju(daoju4+1,2);daoju(daoju5+1,1);daoju(daoju6+1,1);daoju(daoju7+1,2);daoju(daoju8+1,2);
	int kao1=0,kao2=0,dao1=0,dao2=0;
	xue1=6;xue2=6;
	for(int i=rand()%2;;i++){
		if((ccph2==0||ccph1==0)&&(xue1<=2||xue2<=2)) {
			printf("\n除颤仪已破坏\n");
			if(xue1<=2) ccph1=1;
			else ccph2=1;
		}
		if(x==0&&y==0) {
			x=rand()%4;y=rand()%4;
			x++;y++;
			daoju1=rand()%5,daoju2=rand()%5;daoju3=rand()%5,daoju4=rand()%5,daoju5=rand()%5,daoju6=rand()%5,daoju7=rand()%5,daoju8=rand()%5;
			daoju(daoju1+1,1);daoju(daoju2+1,1);daoju(daoju3+1,2);daoju(daoju4+1,2);daoju(daoju5+1,1);daoju(daoju6+1,1);daoju(daoju7+1,2);daoju(daoju8+1,2);
		}
		int suiji;
		if(pd==0) suiji=rand()%x+y;
		else {
			 if(pd==1){
			     suiji=1;
		     }
		     else suiji=x+1;
		}
		if(kao1==1||kao2==1){
			if(kao1==1){
				i++;
				printf("\n%s被铐上手铐,为%s的回合\n",gamer1,gamer2);
				kao1=0;
			}
			else{
				i++;
				printf("\n%s被铐上手铐,为%s的回合\n",gamer2,gamer1);
				kao2=0;
			}
		}
		if(i%2==1){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面        3.道具栏\n",gamer1,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);
			if(xuanze==3){
				printf("1.汽水:%d    2.手铐:%d     3.烟:%d     4.放大镜 :%d    5.小刀:%d    6.返回\n" ,GP[1].qishui,GP[1].shoukao,GP[1].yan,GP[1].fangdajing,GP[1].xiaodao);	
				scanf("%d",&xuanze);
				if(xuanze==1){
					GP[1].qishui--;
					if(suiji<x) {
						x--;
						printf("弹出一发实弹\n");
						i++;
						continue;
					}
					else{
						y--;
						printf("弹出一发空弹\n");
						i++;
						continue;
					}
				}
				if(xuanze==2){
				    printf("%s被铐上手铐\n",gamer2);
				    GP[1].shoukao--;
				    kao2=2;
				    i++;
				    continue;
				}
				if(xuanze==3){
					if(xue1<6&&ccph1==0){
						printf("你回了一滴血\n");
						xue1++;
						i++;
						GP[1].yan--;
						continue; 
					}	    
					else{
						if(ccph1==1){
							printf("除颤仪已破坏\n");
							i++;
							continue;
						}
						else {
							printf("你已经满血了\n");
							i++;
		  					continue;
						}
					}
				}
				if(xuanze==4){
					GP[1].fangdajing--;
					if(suiji<x){
						printf("这是一发实弹\n");
						pd=1;
						i++;
						continue; 
					}
					else{
						printf("这是一发空弹\n"); 
						pd=2;
						i++;
						continue; 
					}
				}
			    if(xuanze==5){
					GP[1].xiaodao--;
					dao1=1;
					printf("锯掉枪管,你可真敢\n");
					i++;
					continue;
				}
				if(xuanze==6){
					i++;
					continue;
				} 
			}
			else{
				printf("\n3");Sleep(500);
				printf("\n2");Sleep(500);
				printf("\n1");Sleep(500);
				if(xuanze==1){
					if(suiji<x){
						printf("\nbang~~枪响了");
						xue1--; 
						pd=0;
						x--;
						kao1--;
						kao2--;
					} 
				    else{
						printf("\n无事发生,下一轮将还是你的回合\n");
						pd=0;
						y--; 
						if(kao1==1){
							continue;
						}
						else{
							i++;
						    continue;
						}
					}
					kao1--;
					kao2--;
				}
				if(xuanze==2){
				    if(dao1==1){
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue2-=2; 
							pd=0;
							x--;
							dao1=0;
							kao1--;
							kao2--;
						} 
						else{
							printf("\n无事发生\n");
							pd=0;
							y--; 
							dao1=0;
							kao1--;
							kao2--;
						}
					}
					else{
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue2--; 
							pd=0;
							x--;
							kao1--;
							kao2--;
			    		} 
						else{
							printf("\n无事发生\n");
							pd=0;
							y--;

	kao1--;
							kao2--;
						}
					}
				}
			}
		}
		if(i%2==0){
			printf("\n%s的回合    %s的血量:%d    %s的血量:%d\n实弹数量:%d\n空弹数量:%d\n1.打自己        2.打对面        3.道具栏\n",gamer2,gamer1,xue1,gamer2,xue2,x,y); 
			scanf("%d",&xuanze);
			if(xuanze==3){
				printf("1.汽水:%d    2.手铐:%d     3.烟:%d     4.放大镜 :%d    5.小刀:%d    6.返回\n" ,GP[2].qishui,GP[2].shoukao,GP[2].yan,GP[2].fangdajing,GP[2].xiaodao);	
				scanf("%d",&xuanze);
				if(xuanze==1){
					GP[2].qishui--;
					if(suiji<x) {
						x--;
						printf("弹出一发实弹\n");
						i++;
						continue;
					}
					else{
						y--;
						printf("弹出一发空弹\n");
						i++;
						continue;
					}
				}
				if(xuanze==2){
				    printf("%s被铐上手铐\n",gamer1);
				    GP[2].shoukao--;
				    kao1=2;
				    i++;
				    continue;
				}
				if(xuanze==3){
					if(xue2<6&&ccph2==0){
						printf("你回了一滴血\n");
						xue2++;
						i++;
						GP[2].yan--;
						continue; 
					}	    
					else{
						if(ccph2==1){
							printf("除颤仪已破坏\n");
							i++;
							continue;
						}
                        else {
							printf("你已经满血了\n");
		     				i++;
							continue;
						}
					}
				}
				if(xuanze==4){
					GP[2].fangdajing--;
					if(suiji<x){
				    	printf("这是一发实弹\n");
				    	pd=1;
				    	i++;
						continue; 
					}
					else{
						printf("这是一发空弹\n"); 
						pd=2;
						i++;
						continue; 
					}
				}
			    if(xuanze==5){
					GP[2].xiaodao--;
					dao2=1;
					printf("锯掉枪管,你可真敢\n");
		     		i++;
					continue;
				}
				if(xuanze==6){
					i++;
					continue;
				} 
			}
			else{
				printf("\n3");Sleep(500);
				printf("\n2");Sleep(500);
				printf("\n1");Sleep(500);
			    if(xuanze==1){
				    if(suiji<x){
					    printf("\nbang~~枪响了");
						xue2--; 
						pd=0;
						x--;
						kao1--;
						kao2--;
					} 
				    else{
						 printf("\n无事发生,下一轮将还是你的回合\n");
						 pd=0;
						 y--; 
						 if(kao1==1){
							 continue;
						 }
						 else{
							 i++;
						     continue;
						 }
					}
					kao1--;
					kao2--;
				}
				if(xuanze==2){
				    if(dao2==1){
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue1-=2; 
							pd=0;
							x--;
							dao2=0;
							kao1--;
							kao2--;
						} 
						else{
							printf("\n无事发生\n");
							pd=0;
			     			y--; 
							dao2=0;
							kao1--;
							kao2--;
						}
					}
					else{
						if(suiji<x){
							printf("\nbang~~枪响了");
							xue1--; 
							pd=0;
							x--;
							kao1--;
							kao2--;
						} 
						else{
						    printf("\n无事发生\n");
						    pd=0;
							y--; 
							kao1--;
							kao2--;
						}
					}
				}
			}
		}	
		if(xue1<=0||xue2<=0) {//判定胜利 
			if(xue1<=0) {
				printf("\n%s win.",gamer2);
			    Sleep(500);
			    break;
			}
			else {
				printf("\n%s win.",gamer1);sf++;
				Sleep(500);
				break;
			}
		}
	}
}
int main(){	
	srand((int)time(0));
	/*	for(int i=1;i<=16;i++) cout<<" ";cout<<"恶";for(int i=1;i<=19;i++) cout<<" ";cout<<"魔";for(int i=1;i<=19;i++) cout<<" ";cout<<"轮";for(int i=1;i<=19;i++) cout<<" ";cout<<"盘";for(int i=1;i<=19;i++) cout<<" ";cout<<"赌"; 
	Sleep(2000);
	清屏 */
	printf("玩家1:");scanf("%s",gamer1);
	printf("\n玩家2:");scanf("%s",gamer2);
    int x=rand()%4,y=rand()%4;
    Round_1(x+1,y+1);
    Round_2(x+1,y+1);
    Round_3(x+1,y+1);
    if(sf==3) printf("\n\n%s三连胜,真是厉害",gamer1);
    if(sf==2) printf("\n\n%s赢了两局,You're the winner.",gamer1);
    if(sf==1) printf("\n\n%s赢了两局,You're the winner.",gamer2);
    if(sf==0) printf("\n\n%s三连胜,真是厉害",gamer2);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值