问题标题: 阿秋工作室:猜数游戏1.0版本

0
0
已解决
李智宸
李智宸
高级守护
高级守护

猜数游戏1.0版本,更换掉了0.1~0.3版本以来的游戏载入画面,优化了代码。

特点:

1.游戏载入画面

2.可自定义猜数范围

3.更新了一个彩蛋,一个雷(与彩蛋相反,减少生命值)

#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
int k,m;                //猜数范围 
int a;                  //自己猜的数 
int main(){
    //载入模块
    cout<<"正在载入游戏,请稍等";
   for(int i=1;i<=100;i++){
        system("cls");
        cout<<"正在加载游戏"<<i*1<<"%";
        Sleep(40);
    }
    system("cls");
    cout<<"游戏加载完成!^~^";
    Sleep(1000);
    system("cls");
    cout<<"请勿沉迷游戏"<<"  "<<"**不良游戏"<<"  "<<"拒绝盗版游戏"<<"  "<<"制作:阿秋(^~^)工作室";
    for(int i=1;i<=6;i++){
        Sleep(500);
        cout<<".";
    }
    system("cls");//清屏 

    //游戏模块
    char jx='Y';
    while(1){//重复的玩游戏 
    cout<<"输入两个数字"<<endl;
    cin>>k>>m;
    int MIN=k,MAX=m;
    Sleep(500);
    system("cls");
        int hp=5;//生命值 
        srand((int)time(NULL));
        int ans=MIN+rand()%(MAX-MIN+1); //生成随机数 
        for(int i=1;i<=hp;i++){  //i就是第几次猜数 
            cout<<"hp:"<<hp+1-i<<endl;
            cout<<"请输入一个"<<MIN<<"~"<<MAX<<"之间的数:\n"; 
            cin>>a;
            if(a==666){
                cout<<"恭喜发现彩蛋,生命值变为15!~~~~~~~~^-^~~~~~~~\n\n";
                hp=15;
                i--;
                Sleep(5000);
                system("cls");
                continue;
            }
            if(a==20){
                cout<<"恭喜发现二个彩蛋,生命值加10!~~~~~~~~**^-^**~~~~~~~\n\n";
                hp+=10;
                i--;
                Sleep(5000);
                system("cls");
                continue; 
            }
            if(a==20091202){
                cout<<"恭喜发现三个彩蛋,生命值加12!~~~~~~~~**^-^**~~~~~~~\n\n";
                hp+=12;
                i--;
                Sleep(5000);
                system("cls");
                continue; 
            }
            if(a==999){
                cout<<"不好意思,你踩到雷了,生命值减5!//////“:”//////";
                hp-=5;
                i-=2;
                Sleep(5000);
                system("cls");
                continue; 
            }
            else if(a==ans&&i==1){//一次猜对 
                cout<<"运气爆棚!一次猜对!\n\n";
                cout<<"彩蛋码是666"<<endl;
                cout<<"请多多评价,指出不足"; 
                break;
            }else if(a==ans){//猜对但不是第一次 
                cout<<"猜对啦!!棒棒哒!!!\n\n"; 
                break;
            }else if(a>ans&&i<hp){
                cout<<"猜大了,加油吧\n\n" ;
            }else if(a<ans&&i<hp){
                cout<<"猜小了,加油吧\n\n" ;
            }else if(i==hp&&a!=ans){
                cout<<"再接再厉!下次继续!\n\n";
                cout<<"数字是:"<<ans<<endl; 
                Sleep(1000);
                system("cls");
                cout<<"欢迎下次再来bay~~~~~~"<<endl; 
                cout<<"请多多评价,指出不足";
                for(int i=1;i<=6;i++){
                    Sleep(1000);
                    cout<<".";
                }
                system("cls");
            } 
        }
        cout<<"是否继续游戏,输入Y继续游戏,其他则退出\n";
        cin>>jx; 
        if(jx!='Y'){//判断是否继续游戏 
            system("cls"); 
            cout<<"恭喜你,发现第二个彩蛋"<<endl;
            cout<<"一个数既是20的倍数,又是20的因数,这个数是(      )"<<endl;
            cout<<"完成上面这道题,这道题的答案就是第二个彩蛋码"<<endl;
            cout<<"bye~~~~^~^~~~~~"<<endl;
            system("pause");
            break;
        } 
        system("cls"); 
    }
    return 0;
}

 


0
已采纳
郑思予
郑思予
新手光能
新手光能

有BUG,如果正确答案是彩蛋或雷,就永远无法猜对(把continue去掉)。还有,你的代码无形的暴露了你的生日,在第57行有.

我要回答