关于C++小游戏
  • 板块灌水区
  • 楼主kkkscp03
  • 当前回复5
  • 已保存回复5
  • 发布时间2021/12/18 20:56
  • 上次更新2023/10/28 14:08:46
查看原帖
关于C++小游戏
566249
kkkscp03楼主2021/12/18 20:56

话说今天闲着没事干,编了个c++小游戏玩玩(比题目简单多了)

#include<bits/stdc++.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
int g=50,o2,e2,o1=3000,e1=3000; 
int a2,a3,a4,a5,a6,a7,a8,a9;
void xs(){
    cout<<"金币数:"<<g<<endl;
    cout<<"我方人数:"<<o2<<endl;
    cout<<"敌方人数:"<<e2<<endl;
    cout<<"我方血量:"<<o1<<endl;
    cout<<"敌方血量:"<<e1<<endl;
    return ;
}
int sui(int min,int max){
    int a;
    srand(time(NULL));
    a=(rand()%(max-min+min))+min;
    return a;
}
int main(){
    MessageBox(NULL,"抵制不良游戏,拒绝盗版游戏 注意自我保护,谨防受骗上当 适度游戏益脑,过度游戏伤身 合理安排时间,享受健康生活","温馨提示",MB_OKCANCEL); 
    string c="加载中......";
    string a="    ---------------------------------------------感谢游玩";
    string b="---------------------------------------------    ";
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_GREEN);
    cout<<"战争打响,"<<endl;
    Sleep(1000);
    cout<<"中美交战,"<<endl;
    Sleep(1000);
    cout<<"3,2,1,"<<endl;
    Sleep(1000); 
    cout<<"走你!!!"<<endl;
    Sleep(1000); 
    system("CLS");
    system("color F0"); 
    cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
    for(int i=0;i<=56;i++){
        printf("%c",a[i]);
        Sleep(40);
    }
    for(int i=0;i<=48;i++){
        printf("%c",b[i]);
        Sleep(40);
    }
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
    int o=sui(3,5);
    for(int i=0;i<o;i++){
        system("CLS");
        cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
        cout<<"                                               ";
        for(int i=0;i<12;i++){
            printf("%c",c[i]);
            Sleep(90);
        }
        cout<<endl;
        cout<<"                               ";
        int xx=sui(0,4);
        switch(xx){
        case 0:cout<<"高射炮不仅可以打飞机,把它压下来也可以打地面!";break;
        case 1:cout<<"迫击炮不仅可以打地面敌人,还能打敌方基地!";break;
        case 2:cout<<"小兵打敌方基地的伤害十分可观,尤其是群殴。";break;
        case 3:cout<<"导弹可以直接打到对方的基地!伤害非常高!";break;
        case 4:cout<<"千万别让任何人接近你的基地,你的建筑十分危险!";break;
        }
        Sleep(2000);
    }
    while(e1>0&&o1>0){
    system("CLS");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN);
    int d=1;
    while(d!=0){
        xs(); 
        cout<<"1 小兵 5$/1\n";
        cout<<"2 导弹 40$/1\n";
        cout<<"3 迫击炮 100$/1\n";
        cout<<"4 投石机 80$/1\n"; 
        cout<<"5 坦克 60$/1\n";
        cout<<"6 哨兵塔 60$/1\n";
        cout<<"7 高射炮 100$/1\n";
        cout<<"8 飞机 80$/1\n";
        cout<<"9 瘟疫 30$/1\n"; 
        cout<<"0 退出\n";
        cin>>d;
        if(d==1){
            system("cls");
            xs();
            cout<<"数量:";
            int s;
            cin>>s;
            while(s*5>g){
                system("cls");
                xs();
                cout<<"数量:";
                cin>>s;
            }
            o2+=s;
            g-=s*5;
            system("cls");
        }
        if(d==2)
            if(g>=40){
                g-=40;
                a2+=1;
            }
        if(d==3)
            if(g>=100){
                g-=100;
                a3+=1;
            }
        if(d==4)
            if(g>=80){
                g-=80;
                a4+=1;
            }
        if(d==5)
            if(g>=60){
                g-=60;
                a5+=1;
            }
        if(d==6){
            if(g>=60){
                g-=60;
                a6+=1;
            }
        }
        if(d==7){
            if(g>=100){
                g-=100;
                a7+=1;
            }
        }
        if(d==8){
            if(g>=80){
                g-=80;
                a8+=1;
            }
        }
        if(d==9){
            if(g>=30){
                g-=30;
                a9+=1;
            }
        }
        system("cls");
    }
    system("cls");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_BLUE);
    if(e2==0){
        cout<<"没有小兵倒下"<<endl;
    } else{
        cout<<"有小兵倒下"<<endl;
    }
    if(o2>0){
        cout<<"我方小兵群殴对方,扣对方"<<o2*5<<"滴血!" <<endl;
        e1-=o2*5;
    }
    if(a2>0){
        if(e2>0){
            cout<<"导弹炸死了所有敌方小兵"<<endl;
            e2=0;
            a2-=1;
        } else{
            cout<<"导弹攻击对方大本营!"<<endl;
            e1-=150;
            a2-=1;
        }
    }
    if(a3>0){
        for(int i=1;i<=a3;i++){
        if(e2>0){
            cout<<"迫击炮发射一枚炮弹,炸死了所有敌方小兵"<<endl;
            e2=0;
        } else{
            cout<<"迫击炮发射一枚炮弹,攻击对方大本营!"<<endl;
            e1-=100;
        }
        } 
    }
    if(a4>0){
        for(int i=1;i<=a4;i++){
        if(e2>0){
            if(e2>10){
                cout<<"投石机发射一枚巨石,炸死了10个敌方小兵"<<endl;
                e2-=10;
            } else{
                cout<<"投石机发射一枚巨石,炸死了"<<o2<<"敌方小兵"<<endl;
                e2=0;
            }

        } else{
            cout<<"投石机发射一枚巨石,攻击对方大本营!"<<endl;
            e1-=50;
        }
    }
        }
    if(a5>0){
        for(int i=1;i<=a5;i++){
        if(e2>0){
            if(e2<=5){
                cout<<"我方坦克发射一枚炮弹,炸死了所有敌方小兵"<<endl;
                e2=0;
            } else{
                cout<<"我方坦克发射一枚炮弹,炸死了5个敌方小兵"<<endl;
                e2-=5; 
            }
        } else{
            cout<<"我方坦克围殴敌方大本营!扣20点血!"<<endl;
            e1-=a5*20;
        }
        }
    }
    if(a6>0){
        for(int i=1;i<=a6;i++){
        cout<<"五个小兵晃晃悠悠地从哨兵塔中走出!"<<endl;
        o2+=5; 
        }
    }
    if(a7>0){
        for(int i=1;i<=a7;i++){
        if(e2>0){
            cout<<"高射炮向地扫射,炸死了所有敌方小兵!"<<endl;
            e2=0;
        } else{
            cout<<"高射炮没有目标!"<<endl;
        }
        }
    }
    if(a8>0){
        for(int i=1;i<=a8;i++){
        if(e2>0){
            if(e2<=5){
                cout<<"我方飞机扫射,炸死了所有敌方小兵!"<<endl;
                e2=0;
            } else{
                cout<<"我方飞机扫射,炸死了5个敌方小兵!"<<endl;
                e2-=5; 
            }
        } else{
            cout<<"我方飞机对敌方大本营轰炸!"<<endl;
            e1-=100;
        }
        }
    }
    if(a9>0){
        if(e2>0){
            cout<<"瘟疫发生了"<<endl;
            e2/=2;
            a9-=1;
        }
    }
    Sleep(5000);
    system("cls");
    int xxx=sui(1,8);
    if(xxx==1){
        int n=sui(5,15);
        cout<<"敌方布置了"<< n<<"个小兵!"<<endl;
        e2+=n; 
    }
    if(xxx==2){
        cout<<"一枚导弹呼啸而过"<<endl;
        if(o2==0){
            o1-=150;
        } else{
            o2=0;
        }
    }
    if(xxx==3){
        cout<<"迫击炮发射一发炮弹"<<endl;
        if(o2==0){
            o1-=150;
        } else{
            o2=0;
        }
    }
    if(xxx==4){
        cout<<"一块巨石缓缓飞来"<<endl;
        if(o2==0){
            o1-=150;
        } else{
            o2=0;
        }
    }
    if(xxx==5){
        cout<<"敌方动用核武器!!!"<<endl;
        o2=0;
        o1-=400;
        a3=0;a4=0;a5=0;a6=0;a7=0;a8=0;
        g+=100;
        cout<<"临时加薪100元"<<endl;
    }
    if(xxx==6){
        cout<<"一发狙击子弹射来"<<",";
        if(a3>0){
            cout<<"一门迫击炮炸了"<<endl;
            a3-=1;
        } else{
            if(a4>0){
                cout<<"一门投石机炸了"<<endl;
                a4-=1;
            } else{
                if(a6>0){
                    cout<<"一座哨兵塔炸了"<<endl;
                    a6-=1;
                } else{
                    cout<<"扣血300点"<<endl;
                    o1-=300;
                }
            }
        }
    }
    if(xxx==7){
        cout<<"高射炮!!!"<<endl;
        if(a8==0){
            o1-=150;
        } else{
            a8-=1;
        }
    }
    if(xxx==8){
        cout<<"瘟疫发生了"<<endl;
        if(o2==0){
            o1-=50;
        } else{
            o2/=2;
        }
    }
    int xxxx=sui(25,50);
    cout<<"你获得" <<xxxx<<"元";
    g+=xxxx;
    Sleep(3000);
    system("cls");
}
    system("cls");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED |FOREGROUND_BLUE);
    if(o1>0){
        cout<<"我方赢了";
    } else{
        cout<<"敌方赢了"; 
    }
    return 0;
} 
2021/12/18 20:56
加载中...