#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;
}
恶魔轮盘(冬历营)
于 2024-05-11 10:06:32 首次发布