C++源代码游戏,有bug请提出

#include<bits/stdc++.h>
#define random(a,b) (rand()%(b-a+1)+a)
using namespace std;
double win,die;
int n,k,s1,s2,s3;
double a,b;
int maked=0,pid=0;
void sh(int s1,int s2)
{
cout<<"------------"<<endl; 
if(s2==0) cout<<"对方出了蛋蛋"<<endl;
if(s2==1) cout<<"对方出了上天"<<endl;
if(s2==2) cout<<"对方出了遁地"<<endl;
if(s2==3) cout<<"对方出了铁拳"<<endl;
if(s2==4) cout<<"对方出了厨师"<<endl;
if(s2==5) cout<<"对方出了匕首"<<endl;
if(s2==6) cout<<"对方出了大炮"<<endl;
if(s2==7) cout<<"对方出了毛坑"<<endl;
if(s2==8) cout<<"对方出了消音器"<<endl;
if(s2==9) cout<<"对方出了公厕"<<endl;
if(s2==10) cout<<"对方出了手枪"<<endl;
if(s2==11) cout<<"对方出了手榴弹"<<endl;
if(s2==12) cout<<"对方出了禁锢"<<endl;
if(s2==13) cout<<"对方出了士兵"<<endl;
if(s2==14) cout<<"对方出了散弹枪"<<endl;
if(s2==15) cout<<"对方出了破旧的机关枪"<<endl;
if(s2==15) cout<<"对方出了轰炸机"<<endl;
cout<<"------------"<<endl;
if(s1==1)

    if(s2==0) b+=1;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1,die-=0.5;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2;
if(s2==10) b-=2,die-=1;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5,die-=0.5;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

    if(s1==0)
{
a+=1;
    if(s2==0) b+=1;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1,die-=0.5;
if(s2==6) b-=1,die-=0.5;
if(s2==7) b-=1.5,die-=1;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2,die-=1;
if(s2==10) b-=2,die-=1;
if(s2==11) b-=2,die-=1;
if(s2==12) b-=2;
if(s2==13) b-=2,die-=0.5;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==2)
{
    if(s2==0) b+=1;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1,die-=0.5;
if(s2==6) b-=1,die-=0.5;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2;
if(s2==10) b-=2;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5,die-=0.5;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==3)
{
a-=0.5;
    if(s2==0) b+=1;
    if(s2==2) win-=0.5;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1,die-=0.5;
if(s2==6) b-=1;
if(s2==7) b-=1.5,die-=0.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2,die-=1;
if(s2==10) b-=2,die-=1;
if(s2==11) b-=2,die-=1;
if(s2==12) b-=2;
if(s2==13) b-=2,die-=0.5;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==4)
{
a-=1;
    if(s2==0) b+=1;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1;
if(s2==7) b-=1.5,die=-1;
if(s2==8) b-=1.5;
if(s2==9) b-=2,die=-1;
if(s2==10) b-=2;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==5)
{
a-=1;
    if(s2==0) b+=1,win-=0.5;
if(s2==3) b-=0.5,die-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2,die-=0.5;
if(s2==10) b-=2,die-=0.5;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==6)
{
a-=1;
    if(s2==0) b+=1,win-=0.5;
    if(s2==1) win-=0.5;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2,win-=0.5;
if(s2==10) b-=2,die-=0.5;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2,die-=0.5;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,win-=0.5;
}

if(s1==7)
{
a-=1.5;
    if(s2==0) b+=1,win-=1;
    if(s2==2) win-=1;
if(s2==3) b-=0.5,win-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5,die-=0.5;
if(s2==9) b-=2,die-=1;
if(s2==10) b-=2,die-=0.5;
if(s2==11) 
{
b-=2;
cout<<"对方获得了一个茅坑"<<endl;
maked=1; 
}
if(s2==12) b-=2;
if(s2==13) b-=2,win=-1;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}

if(s1==8)
{
a-=1.5;
    if(s2==0) b+=1,win-=0.5;
    if(s2==1) win-=0.5;
    if(s2==2) win-=0.5;
if(s2==3) b-=0.5,win-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1,win-=0.5;
if(s2==6) b-=1,win-=0.5;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5;
if(s2==9) b-=2;
if(s2==10) b-=2,die-=0.5;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2,die-=0.5;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}


if(s1==9)
{
a-=2;
    if(s2==0) b+=1,win-=1;
    if(s2==2) win-=1;
if(s2==3) b-=0.5,win-=1;
if(s2==4) b-=1,win=-1;
if(s2==5) b-=1;
if(s2==6) b-=1,die-=0.5;
if(s2==7) b-=1.5,win-=1;
if(s2==8) b-=1.5;
if(s2==9) b-=2;
if(s2==10) b-=2,die-=0.5;
if(s2==11) b-=2,die-=1;
if(s2==12) b-=2;
if(s2==13) b-=2,win=-1;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4,die-=2;
}


if(s1==10)
{
a-=2;
    if(s2==0) b+=1,win-=1;
    if(s2==2) win-=1;
if(s2==3) b-=0.5,win-=1;
if(s2==4) b-=1;
if(s2==5) b-=1,win-=0.5;
if(s2==6) b-=1,win-=0.5;
if(s2==7) b-=1.5,win-=0.5;
if(s2==8) b-=1.5,win-=0.5;
if(s2==9) b-=2,win-=0.5;
if(s2==10) b-=2;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2,win-=0.5;
if(s2==14) b-=2.5,die-=1;
if(s2==15) b-=3,die-=0.5;
if(s2==16) b-=4,die-=2;
}

if(s1==11)
{
a-=2;
    if(s2==0) b+=1,win-=1;
if(s2==3) b-=0.5,win-=1;
if(s2==4) b-=1;
if(s2==5) b-=1,win-=0.5;
if(s2==6) b-=1;
if(s2==7) 
{
cout<<"你获得了一个茅坑"<<endl;
pid=1;
a+=1.5;
}
if(s2==8) b-=1.5,win-=0.5;
if(s2==9) b-=2,win-=1;
if(s2==10) b-=2;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2,die-=1;
if(s2==14) b-=2.5,die-=0.5;
if(s2==15) b-=3,win-=0.5;
if(s2==16) b-=4,die-=2;
}


if(s1==12)
{
a-=2;
    if(s2==0) b+=1;
if(s2==3) b-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1;
if(s2==7) b-=1.5;
if(s2==8) b-=1.5;
if(s2==9) b-=2;
if(s2==10) b-=2;
if(s2==11) b-=2;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5;
if(s2==15) b-=3;
if(s2==16) b-=4;
}

if(s1==13)
{
a-=2;
    if(s2==0) b+=1;
if(s2==3) b-=0.5,win-=0.5;
if(s2==4) b-=1;
if(s2==5) b-=1;
if(s2==6) b-=1,win-=0.5;
if(s2==7) b-=1.5,die=-1;
if(s2==8) b-=1.5,win-=0.5;
if(s2==9) b-=2,die=-1;
if(s2==10) b-=2;
if(s2==11) b-=2,win-=1;
if(s2==12) b-=2;
if(s2==13) b-=2;
if(s2==14) b-=2.5,die-=0.5;
if(s2==15) b-=3,die-=0.5;
if(s2==16) b-=4,die-=2;
}

if(s1==14)
{
a-=2.5;
    if(s2==0) b+=1,win-=1;
    if(s2==1) win-=0.5;
if(s2==3) b-=0.5,win-=1;
if(s2==4) b-=1,win-=1;
if(s2==5) b-=1,win-=1;
if(s2==6) b-=1,win-=1;
if(s2==7) b-=1.5,win-=1;
if(s2==8) b-=1.5,win-=1;
if(s2==9) b-=2,win-=1;
if(s2==10) b-=2,win-=1;
if(s2==11) b-=2,win-=0.5;
if(s2==12) b-=2;
if(s2==13) b-=2,win-=0.5;
if(s2==14) b-=2.5;
if(s2==15) b-=3;
if(s2==16) b-=4,die-=2;
}

if(s1==15)
{
a-=3;
    if(s2==0) b+=1,win-=1;
    if(s2==1) win-=1;
if(s2==3) b-=0.5,win-=1;
if(s2==4) b-=1,win-=1;
if(s2==5) b-=1,win-=1;
if(s2==6) b-=1,win-=1;
if(s2==7) b-=1.5,win-=1;
if(s2==8) b-=1.5,win-=1;
if(s2==9) b-=2,win-=1;
if(s2==10) b-=2,win-=0.5;
if(s2==11) b-=2,die-=0.5;
if(s2==12) b-=2;
if(s2==13) b-=2,win-=0.5;
if(s2==14) b-=2.5;
if(s2==15) b-=3;
if(s2==16) b-=4,win-=1;
}

if(s1==16)
{
a-=4;
    if(s2==0) b+=1,win-=2;
    if(s2==1) win-=2;
    if(s2==2) win-=2;
if(s2==3) b-=0.5,win-=2;
if(s2==4) b-=1,win-=2;
if(s2==5) b-=1,win-=2;
if(s2==6) b-=1,die-=0.5;
if(s2==7) b-=1.5,win-=2;
if(s2==8) b-=1.5,win-=2;
if(s2==9) b-=2,win-=2;
if(s2==10) b-=2,win-=2;
if(s2==11) b-=2,win-=2;
if(s2==12) b-=2;
if(s2==13) b-=2,win-=2;
if(s2==14) b-=2.5,win-=2;
if(s2==15) b-=3,die-=1;
if(s2==16) b-=4;
}

if(a<0)
{
    cout<<"自爆"<<endl;
}
}
int main()
{
int escape=1;
cout<<"欢迎来到蛋蛋小游戏"<<endl;
cout<<endl; 
cout<<"1.快速开始游戏(渣渣辉难度) 2.娱乐模式(10个蛋) 3.多血模式(血量3) 4.考级赛(暂未开通)"<<endl;
cin>>n;
if(n==1||n==3) a=3,b=3;
if(n==2) a=10,b=10; 
win=1;
die=1;
if(n==3) win=3,die=3;
if(n==1||n==2||n==3)
{
cout<<"----------------------"<<endl;
cout<<"这里机关枪只有1发子弹"<<endl;
cout<<"----------------------"<<endl;
while(win>0&&die>0)
{
if(pid==1)
{
    cout<<"你现在有"<<a-1.5<<"个蛋,"<<die<<"点血。"<<endl;
}
else
cout<<"你现在有"<<a<<"个蛋,"<<die<<"点血。"<<endl;

cout<<"对方有"<<b<<"个蛋,"<<win<<"点血。"<<endl;
cout<<endl;

cout<<"0.蛋蛋 1.上天(0) 2.遁地(0) 3.铁拳(0.5) 4.厨师(1) 5.匕首(1) 6.大炮(1)"<<endl;

                       cout<<"7.茅坑 (1.5)8.消音器(1.5) 9.公厕(2) 10.手枪(2)"<<endl;

cout<<"11.手榴弹(2) 12.禁锢(2) 13.士兵(2) 14.散弹枪(2.5) 15.破旧的机关枪 (3)"<<endl;

                       cout<<"16.轰炸机(4)"<<endl; 

cin>>k;
s1=k;
            srand((unsigned)time(NULL));
            if(maked==1)
            {
            for(int i=0;i<1;i++)
            s3=random(0,1);
}
if(s3==1) s2=7,maked=0;
else
            for(int i=0;i<1;i++)
            {
            if(b==0) s2=random(0,2);
            if(b==0.5) s2=random(0,3);
            if(b==1) s2=random(0,6);
            if(b==1.5) s2=random(0,8);
if(b==2) s2=random(0,13);
if(b==2.5) s2=random(0,14);
if(b==3) s2=random(0,15);
if(b>3) s2=random(0,16);
            }
            sh(s1,s2);
            if(a<0) 
{
    escape=0;
break;
}
    }
    if(win<=0&&escape==1) cout<<"你赢了"<<endl;
else cout<<"你输了"<<endl; 

}
阅读更多

没有更多推荐了,返回首页