小游戏:开家汉堡店2.0

· · 休闲·娱乐

求宣,不要问我为什么是2.0因为之前豆包写的1.0是一拖答辩,还没做完,违规紫杉复制粘贴大法好!不然我的手要写废

#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
using namespace std;
char n;
int money=100;
int id=1;
vector<int> ddid;
vector<string> ddfood;
vector<bool> ddout;
vector<int> ddnum;
int level=1,upm=128;
int sc,mb,nr,jt,slj,fqj;//生菜,面包,牛肉,鸡腿,沙拉酱,番茄酱数量 
int td,hjf;//土豆,胡椒粉数量 

int schb,nrhb,jthb;//生菜汉堡,牛肉汉堡,鸡腿汉堡数量
int st;//薯条数量 
void startprint(){
    cout<<"------------"<<endl;
    cout<<"|          |"<<endl;
    cout<<"|开家汉堡店|"<<endl;
    cout<<"|          |"<<endl;
    cout<<"------------"<<endl;
    cout<<"(按任意键进入游戏)"<<endl;
    n=_getch();
    cout<<"欢";
    Sleep(70);
    Beep(444,30);
    cout<<"迎";
    Sleep(70);
    Beep(444,30);
    cout<<"来";
    Sleep(70);
    Beep(444,30);
    cout<<"到";
    Sleep(70);
    Beep(444,30);
    cout<<"汉";
    Sleep(70);
    Beep(444,30);
    cout<<"堡";
    Sleep(70);
    Beep(444,30);
    cout<<"店";
    Sleep(70);
    Beep(444,30);
    cout<<","; 
    Sleep(70);
    Beep(444,30);
    cout<<"在";
    Sleep(70);
    Beep(444,30);
    cout<<"这";
    Sleep(70);
    Beep(444,30);
    cout<<"里";
    Sleep(70);
    Beep(444,30);
    cout<<",";
    Sleep(70);
    Beep(444,30);
    cout<<"你";
    Sleep(70);
    Beep(444,30);
    cout<<"可";
    Sleep(70);
    Beep(444,30);
    cout<<"以";
    Sleep(70);
    Beep(444,30);
    cout<<"自";
    Sleep(70);
    Beep(444,30);
    cout<<"由";
    Sleep(70);
    Beep(444,30);
    cout<<"完";
    Sleep(70);
    Beep(444,30);
    cout<<"成";
    Sleep(70);
    Beep(444,30);
    cout<<"订";
    Sleep(70);
    Beep(444,30);
    cout<<"单";
    Sleep(70);
    Beep(444,30);
    cout<<",";
    Sleep(70);
    Beep(444,30);
    cout<<"升";
    Sleep(70);
    Beep(444,30);
    cout<<"级";
    Sleep(70);
    Beep(444,30);
    cout<<"店";
    Sleep(70);
    Beep(444,30);
    cout<<"铺";
    Sleep(70);
    Beep(444,30);
    cout<<"来";
    Sleep(70);
    Beep(444,30);
    cout<<"获";
    Sleep(70);
    Beep(444,30);
    cout<<"取";
    Sleep(70);
    Beep(444,30);
    cout<<"更";
    Sleep(70);
    Beep(444,30);
    cout<<"多";
    Sleep(70);
    Beep(444,30);
    cout<<"金";
    Sleep(70);
    Beep(444,30);
    cout<<"币";
    Sleep(70);
    Beep(444,30);
    cout<<",";
    Sleep(70);
    Beep(444,30);
    cout<<"还";
    Sleep(70);
    Beep(444,30);
    cout<<"等";
    Sleep(70);
    Beep(444,30);
    cout<<"什";
    Sleep(70);
    Beep(444,30);
    cout<<"么";
    Sleep(70);
    Beep(444,30);
    cout<<"?";
    Sleep(70);
    Beep(444,30);
    cout<<"快";
    Sleep(70);
    Beep(444,30);
    cout<<"来";
    Sleep(70);
    Beep(444,30);
    cout<<"游";
    Sleep(70);
    Beep(444,30);
    cout<<"玩";
    Sleep(70);
    Beep(444,30);
    cout<<"吧";
    Sleep(70);
    Beep(444,30);
    cout<<"!"<<endl;
    Beep(444,30);
    system("pause");
}
void makefood(){
    int a=1;
    while(a!=0){
        system("cls");
        cout<<"制作区(输入0退出)"<<endl;
        cout<<"制作栏:1. 汉堡  2. 薯条"<<endl;
        cin>>a;
        switch(a){
            case 1:
                cout<<"汉堡食谱:"<<endl;
                cout<<"1.生菜汉堡:面包*1  生菜*1  沙拉酱50g  |  价格:10金币"<<endl;
                cout<<"2.牛肉汉堡:面包*1  生菜*1  牛肉*1  沙拉酱50g  |  价格:18金币"<<endl;
                cout<<"3.鸡腿汉堡:面包*1  生菜*1  鸡腿*1  番茄酱50g  |  价格:15金币"<<endl;
                cout<<"你要制作哪一种呢?(输入0退出)"<<endl;
                cin>>a;
                if(a==1){
                    if(sc>0&&mb>0&&slj>49){
                        Beep(1760,125);
                        Beep(1567,500);
                        cout<<"制作成功!"<<endl;
                        sc--;
                        mb--;
                        slj-=50;
                        schb++;
                        system("pause");
                    }
                    else{
                        cout<<"材料不足!"<<endl; 
                        system("pause");
                    }
                }
                if(a==2){
                    if(mb>0&&sc>0&&nr>0&&slj>49){
                        Beep(1760,125);
                        Beep(1567,500);
                        cout<<"制作成功!"<<endl;
                        mb--;
                        sc--;
                        nr--;
                        slj-=50;
                        nrhb++;
                        system("cls");
                    } 
                    else{
                        cout<<"材料不足!"<<endl;
                        system("cls");
                    }
                }
                if(a==3){
                    if(mb>0&&sc>0&&jt>0&&fqj>49){
                        Beep(1760,125);
                        Beep(1567,500);
                        cout<<"制作成功!"<<endl;
                        mb--;
                        sc--;
                        jt--;
                        fqj-=50;
                        jthb++;
                        system("cls");
                    } 
                    else{
                        cout<<"材料不足!"<<endl;
                        system("cls");
                    }
                }
                break;
            case 2:
                cout<<"薯条食谱:"<<endl;
                cout<<"1.薯条:土豆*1  |  价格:5金币"<<endl;
                cout<<"2.番茄酱蘸薯条:土豆*1  番茄酱50g  |  价格:7金币"<<endl;
                cout<<"3.招牌薯条:土豆*1  番茄酱50g  胡椒粉50g  |  价格:9金币"<<endl;
                cout<<"你要制作哪一种呢?(输入0退出)"<<endl;
                cin>>a;
                if(a==1){
                    if(td>0){
                        Beep(1760,125);
                        Beep(1567,500);
                        cout<<"制作成功!"<<endl;
                        td--;
                        st++;
                        system("pause");
                    }
                    else{
                        cout<<"材料不足!"<<endl;
                        system("pause");
                    }   
                }
                break;
        }
    }
}
void sale(){
    int a=1;
    while(a!=0){
        system("cls");
        cout<<"----------------订单列表----------------"<<endl;
        for(int i=0;i<ddfood.size();i++){
            if(ddout[i])cout<<ddid[i]<<".  "<<ddfood[i]<<ddnum[i]<<"个"<<endl;
        }
        cout<<"----------------------------------------"<<endl;
        cout<<"请输入你要完成的订单号(输入0退出):";
        cin>>a;
        if(a>0&&ddout[a-1]&&a<=ddfood.size()){
            if(ddfood[a-1]=="生菜汉堡"){
                if(schb>=ddnum[a-1]){
                    ddout[a-1]=0;
                    cout<<"出售了"<<ddnum[a-1]<<"个生菜汉堡,获得"<<10*ddnum[a-1]<<"金币"<<endl;
                    Beep(1046,125);
                    Beep(1318,125);
                    system("pause"); 
                }
                else{
                    cout<<"食物不足,无法完成订单!"<<endl;
                }
            }
            if(ddfood[a-1]=="鸡腿汉堡"){
                if(jthb>=ddnum[a-1]){
                    ddout[a-1]=0;
                    cout<<"出售了"<<ddnum[a-1]<<"个鸡腿汉堡,获得"<<15*ddnum[a-1]<<"金币"<<endl;
                    Beep(1046,125);
                    Beep(1318,125);
                    system("pause"); 
                }
                else{
                    cout<<"食物不足,无法完成订单!"<<endl;
                }
            }
            if(ddfood[a-1]=="牛肉汉堡"){
                if(nrhb>=ddnum[a-1]){
                    ddout[a-1]=0;
                    cout<<"出售了"<<ddnum[a-1]<<"个牛肉汉堡,获得"<<18*ddnum[a-1]<<"金币"<<endl;
                    Beep(1046,125);
                    Beep(1318,125);
                    system("pause"); 
                }
                else{
                    cout<<"食物不足,无法完成订单!"<<endl;
                }
            }
            if(ddfood[a-1]=="薯条"){
                if(st>=ddnum[a-1]){
                    ddout[a-1]=0;
                    cout<<"出售了"<<ddnum[a-1]<<"个薯条,获得"<<5*ddnum[a-1]<<"金币"<<endl;
                    Beep(1046,125);
                    Beep(1318,125);
                    system("pause"); 
                }
                else{
                    cout<<"食物不足,无法完成订单!"<<endl;
                }
            }
        }
    }
}
void buy(){
    int a=1;
    while(a!=0){
        system("cls");
        cout<<"购买食材"<<endl;
        cout<<"1.面包(3金币/个)  2.生菜(2金币/个)  3.鸡腿(3金币/个)  4.牛肉(4金币/个)  5.番茄酱(5金币/包(300g))  6.土豆(2金币/个)  7.胡椒粉(2金币/包(200g))  8.沙拉酱(5金币/包(300g))"<<endl;
        cout<<"你要购买哪一种呢?(输入0退出)"<<endl;
        cin>>a;
        switch(a){
            case 1:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*3){
                    cout<<"确定花费"<<a*3<<"金币购买"<<a<<"个面包吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        mb+=a;
                        money-=a*3;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 2:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*2){
                    cout<<"确定花费"<<a*2<<"金币购买"<<a<<"个生菜吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        sc+=a;
                        money-=a*2;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 3:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*3){
                    cout<<"确定花费"<<a*3<<"金币购买"<<a<<"个鸡腿吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        jt+=a;
                        money-=a*3;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 4:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*4){
                    cout<<"确定花费"<<a*4<<"金币购买"<<a<<"个牛肉吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        nr+=a;
                        money-=a*4;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 5:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*5){
                    cout<<"确定花费"<<a*5<<"金币购买"<<a<<"包番茄酱吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        fqj+=a*300;
                        money-=a*5;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 6:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*2){
                    cout<<"确定花费"<<a*2<<"金币购买"<<a<<"个土豆吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        td+=a;
                        money-=a*2;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 7:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*2){
                    cout<<"确定花费"<<a*2<<"金币购买"<<a<<"包胡椒粉吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        hjf+=a*200;
                        money-=a*2;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
            case 8:
                cout<<"购买数量?"<<endl;
                cin>>a;
                if(money>=a*5){
                    cout<<"确定花费"<<a*5<<"金币购买"<<a<<"包沙拉酱吗?(1确定,0手滑)"<<endl;
                    int b;
                    cin>>b;
                    if(b==1){
                        cout<<"购买成功!"<<endl;
                        slj+=a*300;
                        money-=a*5;
                    }
                    if(b==0)cout<<"已取消订单"<<endl;
                }
                else cout<<"金币不够!"<<endl;
                break;
        }
    }
}
void up(){
    int a=1;
    while(a!=0){
        system("cls");
        cout<<"当前等级:"<<level<<endl;
        cout<<"提升至下一级所需金币:"<<upm;
        cout<<"是否升级?(是输入1,放弃输入0)"<<endl;
        cin>>a;
        if(a==1){
            if(money>=upm){
                cout<<"升级成功!"<<endl;
                money-=upm;
                level++;
                upm*=2;
            }
            else{
                cout<<"没有足够的金币!"<<endl;
            }
        }
    }
}
void bag(){
    int a=1;
    while(a!=0){
        system("cls");
        cout<<"请选择查看目标:0.退出  1.食材  2.食物"<<endl;
        cin>>a;
        switch(a){
            case 1:
                cout<<"面包:"<<mb<<endl;
                cout<<"生菜:"<<sc<<endl;
                cout<<"鸡腿:"<<jt<<endl;
                cout<<"牛肉:"<<nr<<endl;
                cout<<"土豆:"<<td<<endl;
                cout<<"番茄酱:"<<fqj<<"g"<<endl;
                cout<<"沙拉酱:"<<slj<<"g"<<endl;
                cout<<"胡椒粉:"<<hjf<<"g"<<endl;
                system("pause");
                break;
            case 2:
                cout<<"生菜汉堡:"<<schb<<endl;
                cout<<"牛肉汉堡:"<<nrhb<<endl;
                cout<<"鸡腿汉堡:"<<jthb<<endl;
                cout<<"薯条:"<<st<<endl;
                system("pause");
                break;
        }
    }
}
int main(){
    srand(time(NULL));
    startprint();
    while(true){
        int t;
        if(level<=3)t=rand()%50+1;
        int rfood=0,rnum=0;
        if(t==1){
            if(level==1){
                rfood=rand()%4+1;
                rnum=rand()%3+1;
            }
        }
        Sleep(50);
        system("cls");
        cout<<"店铺等级:"<<level<<endl;
        cout<<"金币数量:"<<money<<endl;
        cout<<"操作栏:1.制作  2.出售   3. 购买  4.升级  5.仓库"<<endl;
        if(_kbhit()){
            n=_getch();
            switch(n){
                case '1':
                    makefood();
                    break;
                case '2':
                    sale();
                    break; 
                case '3':
                    buy();
                    break;
                case '4':
                    up();
                    break;
                case '5':
                    bag();
                    break;
            }
        }
        if(rfood==1){
            ddfood.push_back("生菜汉堡");
            ddnum.push_back(rnum);
            ddid.push_back(id);
            ddout.push_back(1);
            id++;
        }
        if(rfood==2){
            ddfood.push_back("牛肉汉堡");
            ddnum.push_back(rnum);
            ddid.push_back(id);
            ddout.push_back(1);
            id++;
        }
        if(rfood==3){
            ddfood.push_back("鸡腿汉堡");
            ddnum.push_back(rnum);
            ddid.push_back(id);
            ddout.push_back(1);
            id++;
        }
        if(rfood==4){
            ddfood.push_back("薯条");
            ddnum.push_back(rnum);
            ddid.push_back(id);
            ddout.push_back(1);
            id++;
        }
    }
    return 0;
}