Galaxy银河 2023-01-19 22:25 采纳率: 100%
浏览 37
已结题

关于#c++#的问题,如何解决?

我在dev-c++里做一款小游戏
但每次运行完后,下一次的所有记录都会消失,我知道这是每次程序的初始化,但我不想这样,我想让每一次运行都能保存下来。
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int zcz_xz,hp=15,mony=500,ks=0,nx6=0,jf=0,gss[5],xxz=0,sds[6];
int kc(){
    cout<<"开启软件中……"<<endl;
    Sleep(500);
    system("cls");
    cout<<"< < = = 星 际 传 奇 = = > >    加载中……";
    Sleep(500);
    for(int i=1;i<=100;i+=5){
        for(int j=1;j<=i/1.3;j++)cout<<".";
        cout<<i<<"%"<<endl;system("cls");
    }system("cls");
}
int OKkc_1(){cout<<"========================欢迎来到--星际传奇--11.0--========================"<<endl;}
int OKkc_2(){cout<<"                          星际传奇中,我们将一同发展"<<endl<<endl;}
int zjm(int hp_z,int mony_z){
    cout<<"生命值:"<<hp_z<<endl;
    cout<<"总钱数:"<<mony_z<<endl;
    cout<<"总积分:"<<jf<<endl; 
    cout<<"公司:"<<endl;
    if(gss[1]==1)cout<<"A"<<endl; 
    if(gss[2]==1)cout<<"B"<<endl;
    if(gss[3]==1)cout<<"C"<<endl;
    if(gss[4]==1)cout<<"D"<<endl;
    if(gss[5]==1)cout<<"E"<<endl;
}
int cjzc(){
    cout<<"这里有一只怪物,你选择用什么武器?"<<endl;
cjzc_wqq:
    cout<<"1.手雷--100¥ 2.粑粑枪--150¥ 3.加农炮--200¥ 4.结束"<<endl;
cjzc_wq:
    int xz_1_cjzc;cin>>xz_1_cjzc;
    if(xz_1_cjzc==1){
        if(mony>=100){
            mony-=100;cout<<"购买成功!发射!"<<endl; 
            if(hp%2==1){
                cout<<"怪物成功击败!你获得了123¥"<<endl;mony+=123;hp+=1;jf++;
            }else{
                cout<<"失败了,你亏损了10元,扣了1滴血"<<endl;mony-=10;hp-=1;
            }    
        }
        else {cout<<"金钱不足"<<endl;goto cjzc_wqq;hp-=1;}
    }
    if(xz_1_cjzc==2){
        if(mony>=150){
            mony-=10;cout<<"购买成功!发射!"<<endl;
            if(hp%2==1){
                cout<<"怪物被臭的死了!你获得了156¥"<<endl;mony+=156;hp+=1;jf++;
            }else{
                cout<<"失败了,你亏损了10元,扣了1滴血"<<endl;mony-=10;hp-=1;
            }
        }
        else {cout<<"金钱不足"<<endl;goto cjzc_wqq;hp-=1;}
    }
    if(xz_1_cjzc==3){
        if(mony>=200){
            mony-=10;cout<<"购买成功!发射!"<<endl;
            if(hp%2==1){
                cout<<"怪物被炸死了!你获得了345¥"<<endl;mony+=345;hp+=1;jf++;
            }else{
                cout<<"失败了,你亏损了10元,扣了1滴血"<<endl;mony-=10;hp-=1;
            }
        }
        else {cout<<"金钱不足"<<endl;goto cjzc_wqq;hp-=1;}
    }
    if(xz_1_cjzc==4)goto s4;
s4: 
    nx6+=1; 
}
int ck(int hp_ck,int mo_ck){
    cout<<"开始采矿:"<<endl;
    int my=mo_ck/hp_ck/10;
    if(my%2==0){
        if(my<=5){cout<<"你挖到了铁矿石,获得了23¥"<<endl;mony+=23;ks=1;jf++;}
        if(my<=10&&my>=5){cout<<"你挖到了银矿石,获得了33¥"<<endl;mony+=33;ks=2;jf+=2;}
        if(my<=20&&my>=10){cout<<"你挖到了钻石,获得了123¥"<<endl;mony+=123;ks=3;jf+=5;}
        else {cout<<"你挖到了黄金,获得了55¥"<<endl;mony+=56;ks=4;jf+=4;}
    }else{cout<<"矿洞发生坍塌,你损失了123¥"<<endl;mony-=123;hp-=5;}
    nx6+=1; 
}
int mm(int hp_m,int mo_m){
    if(ks!=0){
        cout<<"开始买卖:"<<endl;
        cout<<"你开价多少卖你的矿石(开合理价)"<<endl;
        int jg;cin>>jg;
        if(ks==1){if(jg<=23){cout<<"成功买卖"<<endl;mony+=jg;jf++;}else{cout<<"价格太贵,客人把你铁矿石砸了!矿石废了!钱亏了"<<endl;mony-=jg;}}
        if(ks==2){if(jg<=33){cout<<"成功买卖"<<endl;mony+=jg;jf++;}else{cout<<"价格太贵,客人把你银矿石砸了!矿石废了!钱亏了"<<endl;mony-=jg;}}
        if(ks==3){if(jg<=123){cout<<"成功买卖"<<endl;mony+=jg;jf++;}else{cout<<"价格太贵,客人把你钻石砸了!矿石废了!钱亏了"<<endl;mony-=jg;}}
        if(ks==4){if(jg<=55){cout<<"成功买卖"<<endl;mony+=jg;jf++;}else{cout<<"价格太贵,客人把你黄金砸了!矿石废了!钱亏了"<<endl;mony-=jg;}}
    }else{cout<<"你没矿石买卖,请先挖矿"<<endl; }ks=0;    
    nx6+=1; 
}
int gmsm(int hp_gm,int mo_gm){
    cout<<"欢迎进店!"<<endl;
hps:
    cout<<"你现在有"<<hp_gm<<"滴血,你要买几滴?(1滴55¥)你现在有"<<mo_gm<<"¥(12345退出店铺)"<<endl;
    int hp_s,moni;cin>>hp_s;
    if(hp_s==12345)goto s3; 
    moni=hp_s*55;      
    if(mo_gm>=moni){cout<<"购买成功!"<<endl;hp+=hp_s;mony-=moni;jf++;} 
    else {cout<<"钱不够"<<endl;goto hps;}
s3:
    nx6+=1; 
}
int cp(){
    cout<<"欢迎来买彩票:"<<endl;
    cout<<"10¥一张"<<endl;mony-=10;
    cout<<"1-1000选一个数:"<<endl;
    int xs;cin>>xs;
    int zs=rand()%1000+1;
    if(zs==xs){cout<<"你中大奖了---100w元"<<endl;mony+=100000;jf+=100;}
    if(xs>=zs-5&&zs!=xs&&xs<=zs+5){cout<<"你中小奖了---1w元"<<endl;mony+=10000;jf+=10;goto gn;}
    if(xs>=zs-100&&zs!=xs&&xs<=zs+100){cout<<"你中小奖了---100元"<<endl;mony+=100;jf+=5;}
    else cout<<"没中奖!"<<endl;
gn:    
    cout<<"欢迎下次光临"<<endl;
}
int zcz(){cout<<"1.个人信息 2.普通战场 3.挖矿石 4.卖矿石 5.买生命"<<endl<<"6.买彩票 7.开公司 8.商店 9.升级战场 10.关于"<<endl;} 
int pd(){
    if(mony>=1000){cout<<"你获得了1000元,积分+10"<<endl;jf+=10;}
    if(mony>=10000){cout<<"你获得了10000元,积分+20"<<endl;jf+=20;}
    if(mony>=100000){cout<<"你获得了100000元,积分+50"<<endl;jf+=50;}
    if(hp>=20){cout<<"你获得了20滴血,积分+10"<<endl;jf+=10;}
    if(hp>=30){cout<<"你获得了30滴血,积分+20"<<endl;jf+=20;}
    if(hp>=50){cout<<"你获得了50滴血,积分+35"<<endl;jf+=35;}
}
int gs(){
    cout<<"1.A公司(1000¥,每次赚-100元到150元)"<<endl;
    cout<<"2.B公司(1300¥,每次赚-50元到150元)"<<endl;
    cout<<"3.C公司(1500¥,每次赚-10元到200元)"<<endl;
    cout<<"4.D公司(2000¥,每次赚0元到300元)"<<endl;
    cout<<"5.E公司(3000¥,每次赚10元到500元):"<<endl;
    int gsa;cin>>gsa;
    if(gsa==1){
        if(mony>=1000&&gs[gsa]!=0){cout<<"购买成功,每次赚-100元到150元"<<endl;mony-=1000;jf++;gss[gsa]=1;}
        else cout<<"金费不够或公司已买"<<endl;
    }
    if(gsa==2){
        if(mony>=1300&&gs[gsa]!=0){cout<<"购买成功,每次赚-50元到150元"<<endl;mony-=1300;jf++;gss[gsa]=1;}
        else cout<<"金费不够或公司已买"<<endl;
    }
    if(gsa==3){
        if(mony>=1500&&gs[gsa]!=0){cout<<"购买成功,每次赚-10元到200元"<<endl;mony-=1500;jf++;gss[gsa]=1;}
        else cout<<"金费不够或公司已买"<<endl;
    }
    if(gsa==4){
        if(mony>=2000&&gs[gsa]!=0){cout<<"购买成功,每次赚0元到300元"<<endl;mony-=2000;jf++;gss[gsa]=1;}
        else cout<<"金费不够或公司已买"<<endl;
    }
    if(gsa==5){
        if(mony>=3000&&gs[gsa]!=0){cout<<"购买成功,每次赚10元到500元"<<endl;mony-=3000;jf++;gss[gsa]=1;}
        else cout<<"金费不够或公司已买"<<endl;
    }
}
int gszq(){
    if(gss[1]==1){
        if(jf/hp%2==0){
            if(mony/jf%2==1){cout<<"你的A公司亏了100元"<<endl;}
            else{cout<<"你的A公司赚了100元"<<endl;}
        }else{
            if(mony/jf%2==0){cout<<"你的A公司亏了50元"<<endl;}
            else{cout<<"你的A公司赚了150元"<<endl;}
        }
    }
    if(gss[2]==1){
        if(jf/hp%2==0){
            if(mony/jf%2==1){cout<<"你的B公司亏了50元"<<endl;}
            else{cout<<"你的B公司赚了100元"<<endl;}
        }else{
            if(mony/jf%2==0){cout<<"你的B公司赚了0元"<<endl;}
            else{cout<<"你的B公司赚了150元"<<endl;}
        }
    }
    if(gss[3]==1){
        if(jf/hp%2==0){
            if(mony/jf%2==1){cout<<"你的C公司亏了10元"<<endl;}
            else{cout<<"你的C公司赚了100元"<<endl;}
        }else{
            if(mony/jf%2==0){cout<<"你的B公司赚了50元"<<endl;}
            else{cout<<"你的C公司赚了200元"<<endl;}
        }
    }
    if(gss[4]==1){
        if(jf/hp%2==0){
            if(mony/jf%2==1){cout<<"你的D公司赚了0元"<<endl;}
            else{cout<<"你的D公司赚了100元"<<endl;}
        }else{
            if(mony/jf%2==0){cout<<"你的D公司赚了200元"<<endl;}
            else{cout<<"你的D公司赚了300元"<<endl;}
        }
    }
    if(gss[5]==1){
        if(jf/hp%2==0){
            if(mony/jf%2==1){cout<<"你的C公司赚了10元"<<endl;}
            else{cout<<"你的C公司赚了300元"<<endl;}
        }else{
            if(mony/jf%2==0){cout<<"你的B公司赚了400元"<<endl;}
            else{cout<<"你的C公司赚了500元"<<endl;}
        }
    }
}
int gy(){
    cout<<" ============================================================================="<<endl;
    cout<<"|                               关于星际传奇11.0:                            |"<<endl;
    cout<<"|                                2022.12.3拟定                                |"<<endl;
    cout<<"|                              共331行,11397个字符                            |"<<endl;
    cout<<"|                            发现已知BUG,创造新功能                          |"<<endl;
    cout<<"| --------------------------------------------------------------------------- |"<<endl;
    cout<<"|         版权所有,禁止抄袭。如有发现,依法处理!======2022.12.3             |"<<endl;
    cout<<"| --------------------------------------------------------------------------- |"<<endl; 
    cout<<" ============================================================================="<<endl;
}
int sd(){
    cout<<"欢迎来到“颜色”商店,你可以购买自己的装备:"<<endl;
    cout<<"服装:1.蓝色妖姬服(300¥,-5) 2.黄色预警服(200¥,-4) 3.红色风暴服(150¥,-3)"<<endl;
    cout<<"鞋子:4.黄金切尔西(100¥,-2) 5.钻石切尔西(150¥,-3) 6.岩浆切尔西(50¥,-1)"<<endl;
    cout<<"你要购买几件:"<<endl;
    int jj;cin>>jj;
    cout<<endl;
    cout<<"你要哪几件:"<<endl;
    for(int i=1,ab;i<=jj;i++){
        cin>>ab;
        if(ab==1){
            if(mony>=300&&sds[ab]!=1){
                sds[ab]=1;
                mony-=300;
                cout<<"蓝色妖姬服购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
        if(ab==2){
            if(mony>=200&&sds[ab]!=1){
                sds[ab]=1;
                mony-=200;
                cout<<"黄色预警服购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
        if(ab==3){
            if(mony>=150&&sds[ab]!=1){
                sds[ab]=1;
                mony-=150;
                cout<<"红色风暴服购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
        if(ab==4){
            if(mony>=100&&sds[ab]!=1){
                sds[ab]=1;
                mony-=100;
                cout<<"黄金切尔西购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
        if(ab==5){
            if(mony>=150&&sds[ab]!=1){
                sds[ab]=1;
                mony-=150;
                cout<<"钻石切尔西购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
        if(ab==6){
            if(mony>=50&&sds[ab]!=1){
                sds[ab]=1;
                mony-=50;
                cout<<"岩浆切尔西购买成功"<<endl;
            }else{cout<<"金钱不足或已购买"<<endl;}
        }
    }
    cout<<"欢迎下次光临"<<endl;
}
int yszc(){
    bool zc=false;
    for(int i=1;i<=6;i++){if(sds[i]==1){zc=true;break;}} 
    if(zc==true){
        cout<<"正在为你匹配对手:"<<endl;
        int ds1=rand()%1000+1;
        cout<<"匹配成功,是a"<<ds1<<"号选手"<<endl;
        
    }else if(zc==false){cout<<"请先去商店买武器"<<endl;}
    cout<<"下次再来"<<endl; 
}
int main(){
    kc();
    OKkc_1();
    OKkc_2();
    string aff;
    cout<<"用户名(10字以内):"<<endl;
    cin>>aff;
    while(1){
        if(jf>=30&&jf<=60)cout<<"完成50%任务"<<endl;
        if(jf>=60){
            cout<<"完成任务!"<<endl;Sleep(1000);
            cout<<"哦!他难道就是---"<<aff<<"对!他就是!我很喜欢他!他成功闯关了!他克服了好多好多困难!"<<endl;Sleep(4000);
            cout<<"对啊-这很难,我很敬佩他!"<<endl;Sleep(3000);
            cout<<"我也一样,他很细心,时刻关注血量和金币,牢记在心!"<<endl;Sleep(4000);
            cout<<"要是我能像他一样该多好呀!"<<endl;Sleep(3000);
            cout<<"我绝定送他一个勋章:"<<endl;Sleep(3000);
            cout<<"星际之神!"<<endl;Sleep(2000);
            cout<<"赠与你!"<<endl;Sleep(1000);
            cout<<"希望在下场比赛中,我还能参见你奋斗的身影!"<<endl;Sleep(4000);
            cout<<"加油!下次我们还能遇见你!"<<endl;Sleep(3000);
            cout<<"你是最棒的!再见!"<<endl;Sleep(3000);
            cout<<"下次见!"<<endl;Sleep(3000);
            cout<<"----------星际传奇----------"<<endl;Sleep(4000);
            break;
        }
        if(hp<=5&&xxz==1)cout<<"你的血量稀少"<<endl;
        if(mony<=0&&xxz==1)cout<<"你的钱稀少"<<endl;
        zcz();
        cin>>zcz_xz;
        if(hp<=0){cout<<"你突然死了,死因:血没了"<<endl;break;}
        if(mony<=-50){cout<<"你死了,死因:过度贫穷"<<endl;break;}
        pd();
        gszq();
        if(zcz_xz==1)zjm(hp,mony);
        else if(zcz_xz==9)cout<<"预装"<<endl;//yszc();
        else if(zcz_xz==8)sd();
        else if(zcz_xz==10)gy();
        else if(zcz_xz==2)cjzc();
        else if(zcz_xz==3)ck(hp,mony);
        else if(zcz_xz==4)mm(hp,mony);
        else if(zcz_xz==5)gmsm(hp,mony);
        else if(zcz_xz==7){
            if(jf>=15)gs();
            else cout<<"积分请先达到15分"<<endl;
        }
        else if(zcz_xz==6)cp();
        else {cout<<"错误"<<endl;continue;}
    }
    cout<<"游戏结束---"<<"共获得"<<jf<<"积分"<<endl;
    return 0;
}

我想的方法是用代码将结果保存到哪里,下一次运行再打开,就能回到上一次了。
我想要实现以上情况,谢谢!
  • 写回答

1条回答 默认 最新

  • qzjhjxj 2023-01-19 22:35
    关注

    增加两个函数,一个将数据写入文件保存函数,一个读取文件数据进行初始化函数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 1月19日

悬赏问题

  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义
  • ¥15 嵌入式--定时器使用
  • ¥15 基于OPENCV的人脸识别
  • ¥20 51单片机学习中的问题
  • ¥30 Windows Server 2016利用兩張網卡處理兩個不同網絡
  • ¥15 Python中knn问题
  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题