大家好,时隔2个小时,我,岩心尘寂,又来更啦!

这次正式版1.0修复了Dev8.1的某些bug

还更新了凋零风暴

武器店新增了能打败凋零风暴的下界合金剑

更多的更新内容请到公告处查看!

上代码!

/*末日之战1:新生*/
/*作者:yanxinchenji*/
/*如需转载请标明出处!*/
/*存档功能尚在完善,末日之战2一定出!*/
/*编译环境:dev-C++*/#include<algorithm>
#include<cmath>
#include<vector>
#include<stdio.h>
#include<iostream>
#include<string>
#include<cstring>
#include<windows.h>
#include<conio.h>
#include<cstdlib>
#include<ctime>
#include<fstream>
using namespace std;/*****全局的*****/
long long things[10000];
/*
1 HP    2 XP    3 atk   //4 episode 5 water
6 food  7 体力    8 money 9 技能        10 name
11 defense      12 jiujibao         185 存档编号
*/
int sudu=80;
int money=things[8];//重新定义一个,免得武器店和药店报错
string name;
int episodes;
string filename[10]={"空存档","空存档","空存档","空存档","空存档","空存档","空存档","空存档","空存档","空存档"};//存档名,如果没有改变则为“空存档”/*********存档函数*********/
void w1();
void w2();
void w3();
void w4();
void w5();//一堆输出点
void w6();
void w7();
void w8();
void w9();
void r1();
void r2();
void r3();
void r4();
void r5();//一堆读入点
void r6();
void r7();
void r8();
void r9();
void mrf();//save.txt的读取
void mwf();//save.txt的存档
void Write_File();//负责调用子存档函数
void Read_File();//负责调用子读取函数 /*功能函数*/
void gs();
void g();
void hidden();
void Sout(string n);
void gotoxy(int x,int y);
int random(int n,int m);
void cls();
void about();
int zhangjieshu;
void init(); /*菊清函数*/
void juqing();
void end1();/*游戏页面函数*/
void mianban();//定义干什么(省流)
string episode[10000];//1初出茅庐2背水一战3休养生息4凋零风暴
void welcome();
int main();
string where[10000];//1武器店2药店3家4状态
void home();
string guaiwu[123];//1小怪物2大怪物3boss4凋零风暴
void fight();
void diaolingfengbao();
void fightmmain();
void daguai();
void xiaoguai();
void boss();
/*升级(完善中)*/
const unsigned long long sj[]=//升级所需经验值
{
//0 1  2   3   4   5    6   7     8    9   10    11   12    13     14   15    16    17      18    19      20    21      22    22                                                                                                                                                                                                                                                                                                                                            0,0,100,300,500,800,1500,2122,4500,6821,8933,13382,20091,38392,59183,70003,89312,100033,110344,130953,150099,169821,193831,229183,
//  24      25     26      27       28     29     30       31     32       33     34       35     36        37       38       39       40      41        42                                                                                                                                  500000,867132,1102933,1491839,1783021,2092103,2819382,3857192,4561738,5637139,7003928,8563729,10000000,10092819,11928372,12837291,14838279,16738291,18973820,
//   43         44      45      46       47     48      49      50     51       52     53        54     55      56     57       58      59      60      61                                                                                                20093819,23849577,25860392,28039281,3003920,3120392,3302910,3939201,4029102,4392018,4592018,4672103,4800928,5028102,5193029,5392010,5503921,5872810,6839201,
//    62     63      64      65      66      67       68         69    70       71       72          73      74         75      76      77      78       79                                                         7293829,7495820,7888930,8139002,8873029,9567291,10093829,11293029,13930295,15930281,169302810,18392910,22839020,28739201,38392819,50009329,74892396,99837281,
//    80         81        82        83         84     85      86            87      88        89         90        91       92        93        94        95                                                                                                                         103958372,113837293,136573829,157683920,175837292,183726195,200999887,218376859,239837261,254637289,267392019,289383910,309201839,339281039,358372918,381039283,
//     96        97        98       99      100        101         102      103       104      105       106        107     108        109     110          111                                                                                                 457362821,478392018,500938271,536839201,556738291,598372918,620999382,647382019,667382010,683920133,708310999,738291839,756372819,778837261,819382910,837291038,
//      112    113        114           115     116          117        118       119      120          121     122      123          124       125       126      127                                                           1000000000,1093729183,1128372919,1273829102,1303928193,13283920193,135869302,142637291,144738291,145637289,149392019,151839201,1553291333,156839201,158382919,160993029,
//    128        129        130      131         132          133      134         135       136          137       138        139        140        141         142       143                                                                                    1618392918,1638392819,1657382918,1689392819,1700900300,17100000000,1728393820,1759382910,1783929182,1800392022,1819310393,1827392913,1858392918,1889380130,1918038286,1938028284,
//    144        145       146         147       148         149         150       151      152       153       154        155         156        157      158          159                                                                                         1958302882,1978928388,2009380291,2039209288,2048983828,20673802838,2083920788,210989382,212980838,214008000,2147483647,225903988,2500993021,2930993822,3259586666,3693829100,
//    160         161       162        163       164         165         166       167        168         169         170          171        172          173        174                                                                                          4193857766,4894827188,5693028188,6839281999,7503929188,79302918383,9603929183,1059837772,12968392005,15382993005,16392159388,18396198382,21325938292,24593203928,26832392012,//下面为程序自动生成 38530052279053,33358029748,39696055400,43665660940,51962136518,59236835630,66937624261,77647644142,91624220087,106284095300,122226709595,139338448938,160239216278,177865530068,199209393676,227098708790,249808579669,294774124009,338990242610,376279169297,440246628077,488673757165,566861558311,657559407640,762768912862,884811938919,1008685610367,1129727883611,1276592508480,1493613234921,1642974558413,1840131505422,2189756491452,2408732140597,2745954640280,3267686021933,3855869505880,4357132541644,4967131097474,5712200762095,6797518906893,7885121931995,8673634125194,9887942902721,11173375480074,12514180537682,14891874839841,16827818569020,19015434982992,21867750230440,24054525253484,27181613536436,30715223296172,35936811256521,40967964832433,45474440964000,51386118289320,61149480764290,71544892494219,85138422068120,99611953819700,110569268739867,122731888301252,139914352663427,166498079669478,183147887636425,206957113029160,229722395462367,261883530827098,298547225142891,349300253417182,415667301566446,461390704738755,539827124544343,642394278207768,706633706028544,833827773113681,967240216811870,1092981444997413,1256928661747025,1420329387774138,1590768914307034,1877107318882300,2121131270336999,2481723586294289,2903616595964318,3223014421520393,3642006296318044,4079047051876209,4731694580176402,5441448767202862,6094422619267206,7130474464542631,8413959868160304,9423635052339540,11025653011237262,12679500962922852,15088606145878194,16899238883383578,19772109493558788,22540204822657020,26146637594282144,30330099609367288,33666410566397688,37033051623037456,42588009366493072,49827970958796896,57302166602616432,65897491593008896,74464165500100048,84144507015113056,95083292927077760,110296619795410208,125738146566767632,139569342689112064,157713357238696640,187678895114048992,213953940430015840,254605189111718848,295342019369593856,336689902081336960,370358892289470656,429616315055785984,506947251765827456,562711449460068480,669626624857481472,770070618586103680,847077680444713984,948727002098079616,1110010592454753152,1243211863549323520,1404829405810735616,1431086375945250560,1446971027840490240,1494018951557873152,1518714164038880000,1592428131188393984,1630900628817673728,1810299697987617792,1824965224029160192,1877743262415855616,1974937311041138432,2007712974518568192,2104325350214072320,2277593219013369088,2389212896748011520,2402552078753502208,2442051050667406336,2526209225503725568,2644886891827077120,2752031650881759744,2925328324759292928,3082952541741774848,3114801490694014464,3272962213933260800,3448520616728823808,3562378621596667904,3614580665056815104,3715541270040010240,3829626753671020544,3881950815100641792,4066119147758477312,4100812022884206080,4264982704384962048,4393977614875269632,4552320047186110976,4729663571374253056,4748539979845751808,4817922013471148032,4978958553478782976,5037722159087005696,5105887941592544256,5153669446809650176,5158992743549910016,5216864161138915328,5313692663972759552,5476127048895844352,5614437613770797056,5790912181349713920,5874510199086896128,6009584831237059584,6108877048861882368,6286137713971544064,6369582544521513984,6402682722514263040,6504774754431067136,6666897655207197696,6846854075068702720,6883076441892843520,6971175851971602432,7024803267562148864,7173881272107077632,7225138449090473984,7346607341013281792,7490330458986493952,7651300351116490752,7800145196587322368,7863362331652847616,8014695660294729728,8134268892447566848,8247604581892128768,8334495277132959744,8394519971509001216,8462948123097688064,8525747737633649664,8598595290495365120,8756588869792719872,8788140778443200512,8902971217834443776,8934328782589128704,9084111032814346240,
};/*凋零风暴学习string*/
const string study[5]=
{"凋零风暴的血量与攻击力都很高,没事不要惹它","凋零风暴的防御力很低,一把铁剑就能干过它","凋零风暴的弱点是下半身,建议用刺击与砍击","先把防御力提升到1000再打凋零风暴","凋零风暴被打完半血就无法再用弓箭攻击了"
};/********函数定义********/
void mrf()//储存存档名称的存档
{ifstream fin("save.YXCJ");for(int i=1;i<=9;i++)fin>>filename[i];fin.close();
}
void mwf()
{ofstream fout("save.YXCJ");for(int i=1;i<=9;i++)fout<<filename[i]<<'\n';fout.close();
}void w1()
{ofstream fout("file2.b");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w2()
{ofstream fout("file2.b");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w3()
{ofstream fout("file3.c++");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w4()
{ofstream fout("file4.d");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w5()
{ofstream fout("file5.e");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w6()
{ofstream fout("file6.f");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w7()
{ofstream fout("file7.g");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w8()
{ofstream fout("file8.h");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void w9()
{ofstream fout("file9.i");fout<<name<<endl;for(int i=0;i<2000;i++)fout<<things[i]<<' ';fout<<sudu<<'\n';fout<<money<<endl;fout<<episodes<<endl;fout.close();
}
void Write_File()
{if (things[192]==0)return;switch(things[185]){ case 1:w1();break;case 2:w2();break;case 3:w3();break;case 4:w4();break;case 5:w5();break;case 6:w6();break;case 7:w7();break;case 8:w8();break;case 9:w9();break;default:cout<<things[185]<<"[error] 404";Sleep(5000);exit(0);}
}
void r1()
{ifstream fin("file1.a");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r2()
{ifstream fin("file2.b");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r3()
{ifstream fin("file3.c++");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r4()
{ifstream fin("file4.d");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r5()
{ifstream fin("file5.e");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r6()
{ifstream fin("file6.f");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r7()
{ifstream fin("file7.g");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r8()
{ifstream fin("file8.h");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void r9()
{ifstream fin("file9.i");fin>>name;for(int i=0;i<2000;i++)fin>>things[i];fin>>sudu;fin>>money;fin>>episodes;fin.close();
}
void Read_File()
{switch(things[185]){case 1:r1();break;case 2:r2();break;case 3:r3();break;case 4:r4();break;case 5:r5();break;case 6:r6();break;case 7:r7();break;case 8:r8();break;case 9:r9();break;default:cout<<"[error] 找不到存档";Sleep(5000);exit(0);}
}void cls()
{system("cls");
}void hidden()
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);
CursorInfo.bVisible = false;
SetConsoleCursorInfo(handle, &CursorInfo);
}void gotoxy(int y,int x)
{COORD  coord;     coord.X=x;         coord.Y=y;HANDLE a=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(a,coord);
}void gs()
{hidden();gotoxy(45,80);cout<<"按下任意键继续_";_getch();system("cls");
}void g()
{_getch();
}void init()
{things[1]=100;things[2]=0;things[3]=10;things[5]=100;things[6]=100;things[7]=100;things[11]=5;money=10;episodes=0;
}void Sout(string n)//减速输出,挺有用的
{for(int i=0;i<n.size();i++){cout<<n[i];Sleep(sudu);if (kbhit())if (getch()=='\n'){cout<<n.substr(i+1,n.size()-i);return;}}
}int random(int n,int m)//产生一个随机数n~m
{return rand()%(m-n+1)+n;
}void about()//公告
{cls();cout<<"------------------------------------------------\n";cout<<"                 末日之战公告\n";cout<<"游戏版本:build1.0.22000.318\n";cout<<"游戏作者:沉迷学习的YXCJ\n";cout<<"更新内容:\n新增活动'末日新生',打败凋零风暴可获得50000000金币与1000000000XP\n修复已知bug,增强游戏稳定性\n官方宣布将在1.1.23124.114版本更新存档功能!\n";cout<<"末日新生活动时间:2022年4月30日--2022年8月30日\n";cout<<"------------------------------------------------\n";gs();
}void Die()
{cls();cout<<"你\t死\t了\t!";gs();cout<<"血量恢复至50,按1继续,按e关机,按其他退出";char d;d=_getch();switch(d){case '1':things[1]=50;break;case 'e':system("Shutdown -H");break;default:exit(0);break;}
}/*游戏界面函数定义*/void diaolingfengbao()
{long long nsthings[1000];/*1HP 2Defense    3ATK    4技能 *///init nsnsthings[1]=5000;nsthings[2]=2500;nsthings[3]=2000;//Fightif(things[1]<=0){return diaolingfengbao();}int i=1,n=0,l=1,taopao,cg;int lengque=0; char r,w; srand(static_cast<unsigned  int >(time(0))) ; int randomNumber=rand(); cout<<"你面对的是"<<"凋零风暴,是否迎战(y/n)"<<endl;cin>>r;if(r=='y'){int f=0;while(things[1]>0&&nsthings[1]>0&&l!=123&&i<=20){int jineng=random(1,10);if (jineng==1||jineng==3||jineng==5||jineng==7){Sout("凋零风暴不讲武德,使用了技能\n让你扣了250滴血\n");things[1]-=250;cout<<"你还剩"<<things[1]<<"滴血"; gs();if (things[1]<=0){Die();}}cout<<"第"<<i<<"回合"<<endl;cout<<"你的生命:"<<things[1]<<endl;cout<<"大怪生命:"<<nsthings[1]<<endl;cout<<"输入1攻击(造成攻击(你的伤害-怪的伤害),防御减半)"<<endl;cout<<"输入2防御(不造成攻击,防御*2)"<<endl; cout<<"输入3使用技能(无敌,造成敌方等级*20伤害,boss:500点伤害)"<<endl;cout<<"输入4逃跑(20%几率,逃跑失败也要减少血(无视防御),实在打不过撑过20回合自动结束)"<<endl; cout<<"输入5使用战斗急救包!!!"<<endl; taopao=(randomNumber% 5)+1;cin>>l;if(lengque>0&&f==1){lengque--; } switch(l){case 1:if((things[11]/2)<nsthings[3]){things[1]-=nsthings[3]-things[11]/2; } if(things[3]>nsthings[2] ) {nsthings[1]-=things[3]-nsthings[2]; } i++; f=1;break; case 2: if(things[11]*2<nsthings[3]){things[1]-=nsthings[3]-things[11]*2; } i++; f=1;break;case 3:if(lengque==0){nsthings[1]-=1*20;lengque=5;i++; break; } cout<<"冷却中剩余"<<lengque<<"回合"<<endl; f=0;break;case 4:if(taopao=3){cout<<"逃跑成功!!!"<<endl; l=123;} f=1;break;case 5:f=1;if(things[12]>0){cout<<"使用成功!!!"<<endl; things[12]--;things[1]+=50;i++; } break; } }if(things[1]<=0){cout<<"你死了"<<endl;Sleep(1000);return daguai(); }if(nsthings[1]<=0){cout<<"你打败了"<<"凋零风暴"<<endl;cout<<"奖励金币"<<"50000000"<<"$"<<endl;cout<<"奖励经验"<<"100000000000"<<endl;money+=50000000; things[2]+=1*10; }}else{cout<<"你已逃跑"<<endl; }     }void fight()
{;
}void wuqidian()
{int i=1,n=0,l=1;char w,r;while(l) {char l;cout<<"武器店规则:伤害不能叠加!!!\n例如:假如你目前伤害50 ,购买木剑后,伤害不会+40,而是替换成40"<<endl;cout<<"你目前伤害:"<<things[3]<<"目前防御:"<<things[11]<<"你的金币为:"<<"$"<<money<<endl;Sleep(250);cout<<"欢迎来到 武器店!"<<endl;cout<<"1、买木剑($10加40攻击力)"<<endl;cout<<"2、买石剑($50加60攻击力)"<<endl;cout<<"3、买铁剑($100加120攻击力)"<<endl;cout<<"4、买钻石剑($150加180攻击力)"<<endl;cout<<"5、买木盾($200加100防御力)"<<endl;cout<<"6、买铁盾($400加200防御力)"<<endl;cout<<"7、买皮革套($500加250防御力)"<<endl;cout<<"8、买铁制长柄斧($500加300攻击力)"<<endl;cout<<"9、买钻石长柄斧($200加200攻击力)"<<endl;cout<<"n、买下界合金剑($90000加1500攻击力)"<<endl;cout<<"0、离开武器店"<<endl;l=_getch();switch(l) {case '1' :if(money<10) {cout<<"你的钱不够"<<endl;gs();break;} else {cout<<"购买成功!"<<endl;//钱足够时返回Truethings[3]=40;money-=10;cout<<"你的伤害现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '2' :if(money<50) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {cout<<"购买成功!"<<endl;things[3]=60;money-=50;cout<<"你的伤害现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '3' :if(money<100) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else{cout<<"购买成功!"<<endl;things[3]=120;money-=100;cout<<"你的伤害现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '4' :if(money<150) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {cout<<"购买成功!"<<endl;things[3]=180;money-=150;cout<<"你的伤害现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '5' :if(money<200) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {cout<<"购买成功!"<<endl;things[11]=100;money-=200;cout<<"你的防御现在为"<<things[11]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '6':if(money<400) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {things[11]=200;money-=500;cout<<"你的防御现在为"<<things[11]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '7':if(money<500) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {things[11]=250;money-=500;cout<<"你的防御现在为"<<things[11]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '8':if(money<500) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {things[3]=300;money-=500;cout<<"你的攻击现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '9':if(money<200) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {things[3]=200;money-=200;cout<<"你的攻击现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case 'n':if(money<90000) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasegs();break;} else {things[3]=1500;money-=90000;cout<<"你的攻击现在为"<<things[3]<<endl;cout<<"-------------------------------------------------------------------------------\n" ;gs();break;}case '0':break;default:cout<<"看清楚."<<endl;gs();break;}cls();break;}
}void yaopindian() {int i=1,n=0,l=1;char w,r;while(l) {cout<<"-------------------------------------------------------------------------------\n" ;cout<<"欢迎来到 药品店!"<<endl;cout<<"你的金币为:"<<"$"<<money<<endl;cout<<"1、粗制的药水($50加50血)"<<endl;cout<<"2、治疗药水  ($100加100血)"<<endl;cout<<"3、治疗药水II($150加200血)"<<endl;cout<<"4、再生药水   ($200加300血)"<<endl;cout<<"5、再生药水II ($500加300血,50点防御)"<<endl;cout<<"6、神龟药水   ($700加400血,50点防御,100点攻击(+100))"<<endl;cout<<"7、急救包     ($50加50血 战斗时使用)"<<endl;cout<<"0、离开药品店"<<endl;l=getch();switch(l) {case '1' :if(money<50) {cout<<"你的钱不够"<<endl;break;} else {cout<<"购买成功!"<<endl;things[1]+=50;money-=50;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '2' :if(money<100) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;} else {cout<<"购买成功!"<<endl;things[1]+=100;money-=100;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '3' :if(money<150) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;} else{cout<<"购买成功!"<<endl;things[1]+=200;money-=150;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '4' :if(money<200) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;} else {cout<<"购买成功!"<<endl;things[1]+=300;money-=200;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '5' :if(money<500) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;} else {cout<<"购买成功!"<<endl;things[1]+=300;things[11]+=50;money-=500;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '6':if(money<700) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;} else {things[1]+=400;things[11]+=50;things[3]+=100;money-=700;cout<<"-------------------------------------------------------------------------------\n" ;break;}case '7':if(money<50) {cout<<"你的钱不够"<<endl;//钱不够时返回Flasebreak;}money-=50;things[12]++;cout<<"购买成功!"<<endl;cout<<"-------------------------------------------------------------------------------\n" ;break;case '0':break;default:cout<<"看清楚"<<endl;cout<<"-------------------------------------------------------------------------------\n" ;break;}cls();break;}}void juqing()
{/*开始菊琴*/if (episodes==0){cls();Sout("这是一个四面都是森林的小镇\n你是这里的居民\n这里的人都生活的很幸福\n但是,从连着下暴雨一个月之后\n人们就开始重复着一句话:明天和意外不知道哪个先来\n");gs();Sout("正如人们说的,这一天,创世神YXCJ不知发了什么神经\n往你们小镇投放了凋零风暴\n从此,这里野兽横行,凋零风暴也无时无刻地骚扰小镇\n");gs();Sout("有一天,人们实在是受不了了\n大家就开始想着逃离小镇\n于是,人们开启了流浪之旅");gs();Sout("你奉命保护人烟稀少的小镇,以免逃亡中途怪物袭击小镇");Sleep(1*1000);cls();sudu=200;Sout("镇长:请问勇士尊姓大名?\n");cin>>name;Sout("镇长:");Sout(name);Sout(",希望你能守护好我们的小镇!");gs(); episodes+=1;}/*章节*/if (episodes==1){sudu=300;gotoxy(30,70);Sout("第\t一\t章");gotoxy(32,70);Sout("初\t出\t茅\t庐");gotoxy(31,70);Sout("Episode 1\n");gotoxy(33,70);Sout("Fledling\n");things[26]=1;gs();mianban(); }if (episodes==2){sudu=300;gotoxy(30,70);Sout("第\t二\t章");gotoxy(32,70);Sout("背\t水\t一\t战");gotoxy(31,70);Sout("Episode 2\n");gotoxy(33,70);Sout("Burn one's bridges\n");gs();things[1]+=50;things[3]+=20;things[11]+=10;mianban();}if (episodes==3){sudu=300;gotoxy(30,70);Sout("第\t三\t章");gotoxy(32,70);Sout("休\t养\t生\t息");gotoxy(31,70);Sout("Episode 3\n");gotoxy(33,70);Sout("Recuperate\n");gs();mianban();}if (episodes==4){sudu=300;gotoxy(30,70);Sout("第\t四\t章");gotoxy(32,70);Sout("决\t战");gotoxy(31,70);Sout("Episode 4\n");gotoxy(33,70);Sout("Decisive battle\n");gs();mianban();}
}/*怪物部分*/
void xiaoguai()
{if(things[1]<=0){return xiaoguai();}int i=1,n=0,l=1,taopao,cg,lengque=0;char r,w; srand(static_cast<unsigned  int >(time(0))) ; int randomNumber=rand(); int xdj=(randomNumber% 5)+1;cg=(randomNumber% 5)+1;int xhp=xdj*100;int xsh=xdj*20;int xjb=xdj*10;int xfy=xdj*5; cout<<"你面对的是"<<xdj<<"级小怪,是否迎战(y/n)"<<endl;cin>>r;if(r=='y'){int f=0; while(things[1]>0&&xhp>0&&l!=123&&i<=15){cout<<"第"<<i<<"回合"<<endl;cout<<"你的生命:"<<things[1]<<endl;cout<<"小怪生命:"<<xhp<<endl;cout<<"输入1攻击(造成攻击(你的伤害-怪的伤害),防御减半)"<<endl;cout<<"输入2防御(不造成攻击,防御*2)"<<endl; cout<<"输入3使用技能(无敌,造成敌方等级*20伤害,boss:500点伤害)"<<endl;  cout<<"输入4逃跑(20%几率,逃跑失败也要减少血(无视防御),实在打不过撑过15回合自动结束)"<<endl; cout<<"输入5使用战斗急救包!!!"<<endl; cin>>l;if(lengque>0&&f==1){lengque--; } switch(l){case 1:if((things[11]/2)<xsh){things[1]-=xsh-things[11]/2; } if(things[3]>xfy ) {xhp-=things[3]-xfy; } i++; f=1; break; case 2: if(things[11]*2<xsh){things[1]-=xsh-things[11]*2; } i++; f=1; break;case 3:if(lengque==0){xhp-=xdj*20;lengque=5;i++; break; } cout<<"冷却中剩余"<<lengque<<"回合"<<endl; f=0;break;case 4:if(taopao=1){cout<<"逃跑成功!!!"<<endl; l=123;} f=1; break; case 5:if(things[12]>0){cout<<"使用成功!!!"<<endl; things[12]--;things[1]+=50;i++; } f=1; break; } }if(things[1]<=0){cout<<"你死了"<<endl;Sleep(1000);Die(); return xiaoguai(); }if(xhp<=0){cout<<"你打败了"<<xdj<<"级小怪"<<endl;cout<<"奖励金币"<<xjb<<"$"<<endl;money+=xjb; cout<<"奖励经验"<<xdj*10<<endl;money+=xdj*10; }}else{cout<<"你已逃跑"<<endl; } }
void daguai()
{if(things[1]<=0){return daguai();}int i=1,n=0,l=1,taopao,cg;int lengque=0; char r,w; srand(static_cast<unsigned  int >(time(0))) ; int randomNumber=rand(); int ddj=(randomNumber% 5)+6;int dhp=ddj*100;int dsh=ddj*20;int djb=ddj*10;int dfy=ddj*5; cout<<"你面对的是"<<ddj<<"级大怪,是否迎战(y/n)"<<endl;cin>>r;if(r=='y'){int f=0;while(things[1]>0&&dhp>0&&l!=123&&i<=20){cout<<"第"<<i<<"回合"<<endl;cout<<"你的生命:"<<things[1]<<endl;cout<<"大怪生命:"<<dhp<<endl;cout<<"输入1攻击(造成攻击(你的伤害-怪的伤害),防御减半)"<<endl;cout<<"输入2防御(不造成攻击,防御*2)"<<endl; cout<<"输入3使用技能(无敌,造成敌方等级*20伤害,boss:500点伤害)"<<endl;cout<<"输入4逃跑(20%几率,逃跑失败也要减少血(无视防御),实在打不过撑过20回合自动结束)"<<endl; cout<<"输入5使用战斗急救包!!!"<<endl; taopao=(randomNumber% 5)+1;cin>>l;if(lengque>0&&f==1){lengque--; } switch(l){case 1:if((things[11]/2)<dsh){things[1]-=dsh-things[11]/2; } if(things[3]>dfy ) {dhp-=things[3]-dfy; } i++; f=1;break; case 2: if(things[11]*2<dsh){things[1]-=dsh-things[11]*2; } i++; f=1;break;case 3:if(lengque==0){dhp-=ddj*20;lengque=5;i++; break; } cout<<"冷却中剩余"<<lengque<<"回合"<<endl; f=0;break;case 4:if(taopao=3){cout<<"逃跑成功!!!"<<endl; l=123;} f=1;break;case 5:f=1;if(things[12]>0){cout<<"使用成功!!!"<<endl; things[12]--;things[1]+=50;i++; } break; } }if(things[1]<=0){cout<<"你死了"<<endl;Sleep(1000);return daguai(); }if(dhp<=0){cout<<"你打败了"<<ddj<<"级大怪"<<endl;cout<<"奖励金币"<<djb<<"$"<<endl;cout<<"奖励经验"<<ddj*10<<endl;money+=djb; things[2]+=ddj*10; }}else{cout<<"你已逃跑"<<endl; }   }
void boss()
{int i=1,n=0,l=1,taopao,cg;int lengque=0;srand(static_cast<unsigned  int >(time(0))) ; int randomNumber=rand(); int bossHP=5000;int bossSH=700;int bossfy=500;cout<<"你面对的是"<<"BOSS"<<endl;int f=0;while(things[1]>0&&bossHP>0&&l!=123){cout<<"第"<<i<<"回合"<<endl;cout<<"你的生命:"<<things[1]<<endl;cout<<"BOSS生命:"<<bossHP<<endl;cout<<"输入1攻击(造成攻击(你的伤害-怪的伤害),防御减半)"<<endl;cout<<"输入2防御(不造成攻击,防御*2)"<<endl; cout<<"输入3使用技能(无敌,造成敌方等级*20伤害,boss:500点伤害)"<<endl;cout<<"输入4逃跑(10%几率,逃跑失败也要减少血(无视防御),实在打不过撑过30回合自动结束)"<<endl; cout<<"输入5使用战斗急救包!!!"<<endl; taopao=(randomNumber%10)+1;cin>>l;if(lengque>0&&f==1){lengque--; } switch(l){case 1:f=1; if((things[11]/2)<bossSH){things[1]-=bossSH-things[11]/2; } if(things[3]>bossfy ) {bossHP-=things[3]-bossfy; } i++; break; case 2: f=1;if(things[11]*2<bossSH){things[1]-=bossSH-things[11]*2; } i++; break;case 3:f=1;if(lengque==0){bossHP-=500;lengque=5;i++; break; } cout<<"冷却中剩余"<<lengque<<"回合"<<endl; f=0;break;case 4:f=1;if(taopao=1){cout<<"逃跑成功!!!"<<endl; l=123;} break; case 5:f=1;if(things[12]>0){cout<<"使用成功!!!"<<endl; things[12]--;things[1]+=50;i++; } break;} }if(things[1]<=0){cout<<"你死了"<<endl;Sleep(1000);return boss(); }if(bossHP<=0){cout<<"你打败了BOSS"<<endl;bossHP=0; }} /*第二主函数*/
void mianban()
{if (things[2]>=300&&things[2]<1500){episodes=2;juqing();}if (things[2]>=1500&&things[2]<5000){episodes=3;juqing();}if (things[2]>=5000&&things[2]<=5000){episodes=4;juqing();}    while(1){sudu=80;gotoxy(0,0);printf("-----------------------------------------------------\n");printf("                      选择行动                       \n");printf("1、与NPC战斗 2、行径        3、干活        \n");printf("4、末日新生(第四章开放)  5、查看状态\n");printf("6、公告           7、敬请期待~\n");printf("-----------------------------------------------------\n");gotoxy(6,0);Sout("请选择>");char l;l=_getch();if (l=='1'){cls();printf("-----------------------------------------------------\n");printf("                 你要打什么怪?                       \n");printf("1、小怪物 2、大怪物   3、Boss\n"); printf("-----------------------------------------------------\n");Sout("请选择>");char l1;l1=_getch();if (l1=='1'){xiaoguai();gs();cls();}if (l1=='2'){daguai();gs();cls();}if (l1=='3'){boss();gs();cls();}}if (l=='2'){cls();Sout("你要去哪里?\n");printf("1.武器店\n2.药店\n");char s;s=getch();if (s=='1'){wuqidian();}if (s=='2'){yaopindian();}if (s=='3'){//home();}/*if (where[1]==1){;}if (where[2]==1){;}if (where[3]==1){;}*/}if (l=='3'){cls();Sout("你要做什么工作?");cout<<"\n1.打扫小镇卫生\n2.帮大爷值班(?\n3.学习关于凋零风暴的知识\n4.钓鱼"<<endl;//越来越离谱char w;w=_getch();switch(w){case '1':Sout("工作中。。。");Sleep(1*10000);money+=25;cout<<"镇长觉得你干的很好,并奖励了你25块钱";things[2]+=10;gs();break;case '2':Sout("工作中。。。");Sleep(1*10000);money+=30;cout<<"大爷觉得你干的很好,并奖励了你30块钱";things[2]+=15;gs();break;case '3':Sout("学习中。。。");Sleep(1*1000);cls();Sout(study[random(1,6)]);things[2]+=5;gs(); break;case '4':{cls();const string fish[]={"罗非鱼(?)","草鱼","鲤鱼","太阳鱼","石斑鱼","鲫鱼","鲨鱼(emmmmm...)"};const int fm[]={15,100,300,800,2500,7500,100000};bool fishing[7]={0,0,0,0,0,0,0};things[7]-=5;if (rand()%2==1)fishing[0]=1;if (rand()%5==3)fishing[1]=1;if (rand()%8==5)fishing[2]=1;if (rand()%15==3)fishing[3]=1;if (rand()%20==4)fishing[4]=1;if (rand()%25==9)fishing[5]=1;if (rand()%50==6)fishing[6]=1;bool diao=false;string shouhuo="";int get=0;int i;for(i=0;i<7;i++)if (fishing[i])shouhuo+=fish[i]+',',money+=fm[i],get+=fm[i],diao=true;if (diao){cout<<"你钓到了"<<shouhuo<<"\b。卖了"<<get<<"元钱\n";things[2]+=(get/10);}elsecout<<"毛都没钓到!";gs(); break;}} continue;} if (l=='4'){if (episodes<=3){cls();gotoxy(0,0);Sout("还没到第四章呢,到第四章再来吧~");gs();continue;}if (episodes==4){diaolingfengbao();end1();}}if (l=='5'){cls();cout<<"name:"<<name<<endl;cout<<"HP:"<<things[1]<<endl;cout<<"XP:"<<things[2]<<endl;cout<<"Attack:"<<things[3]<<endl;cout<<"money:"<<money<<endl;cout<<"Defense:"<<things[11]<<endl;cout<<"急救包数量:"<<things[12]<<endl;cout<<"体力:"<<things[7]<<endl; gs();continue;}if (l=='0'){cout<<"管理员模式开启中";Sleep(1*1000);cls();gs();things[10000]=1;//Admin mode is Open.}if (l=='6'){about();}}}void welcome()
{hidden();gotoxy(20,40);cout<<"末  日  之  战";//cout<<"                                                                           \n";//这 //cout<<"          #         #   #           #         #####   #                    \n";//个//cout<<"          #         ########         #        #   #  ######                \n";//竟//cout<<"          #         #   #        #########    #   # # #   #                \n";//然//cout<<"          #        #    #               #     #####    # #                 \n";//还//cout<<"          #          #######           #        #     ###                  \n";//没//cout<<"        #  #            #          ####       # ###  #   #                 \n";//有//cout<<"       #    #           #        ###          # #   #######                \n";//改//cout<<"      #      #    #############     ######## ######  #   #                 \n";//哈//cout<<"                                                     #####                 \n";//哈//cout<<"                                                                           \n";//哈//cout<<"                                                 1.22.191981               \n";//哈gotoxy(21,40);cout<<"mo  ri  zhi  zhan";Sleep(2000);cls();gotoxy(20,40);cout<<"MRXS||CSB||YXCJ";Sleep(200);gotoxy(21,40);Sout("    by YXCJ");Sleep(1000);int i,j,k;/*for(k=1;i<=10;k++){for(i=1;i<=47;i++)for(j=1;j<=110;j++){gotoxy(i,j);cout<<char(random(2,120));//装模做样一下     //这里会出bug! }Sleep(90);}*/cls();gotoxy(20,45);cout<<"YXCJ出品,必是精品!\n";Sleep(2000);cls();hidden();i=0,j=0;while(i<=800&&j<=1500){i+=random(4,8)*10;j+=random(8,16)*10;gotoxy(0,0);//jdt(1);cout<<"解析文件"<<i<<" of "<<j;//装模做样一下 v    Sleep(random(50,180));}gotoxy(0,60);cout<<"\t\t\t\t\t\tv1.00.01.114514"; gotoxy(0,0);printf("    WELCOME            \n");printf("------------------------------------\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|                                  |\n");printf("|__________________________________|\n");gotoxy(2,2);hidden();Sout("欢迎来到《末日之战1:新生》");gotoxy(3,2);Sout("作者:YXCJ\n");gotoxy(4,2);Sout("祝你游戏愉快\n");gotoxy(5,2);Sout("(*^_^*)\n");gs();
}void end1()
{cls();Sout("你打败了凋零风暴,人们获得了新生......");Sleep(1*1000);Sout("请期待YXCJ的末日之战2:东山再起");Sleep(1*1000);gs();Sout("按任意键退出_");_getch();exit(0);
}int main()
{SetWindowTextA( GetConsoleWindow(), "末日之战1:新生" );ShellExecute(NULL,"open","cmd.exe /c attrib file1.txt +h",NULL,NULL,SW_SHOWNORMAL);cout<<"正在加载...请稍等...";int  cx   =   GetSystemMetrics(   SM_CXSCREEN   );   int  cy   =   GetSystemMetrics(   SM_CYSCREEN   );  //这些好像没啥用... cout<<"屏幕大小:"<<cx<<"x"<<cy<<"\n"; cout<<"正在调整为全屏模式~Loading...\n";system("mode con cols=300 lines=114"); MessageBox(NULL,TEXT("点击右上角□即可调为全屏~"),TEXT("请调整为全屏模式"),MB_OK);MessageBox(NULL,TEXT("根据国家要求,未成年人只能在8点~22点获取游戏服务!"),TEXT("提示"),MB_OK);gs();srand(time(0));welcome();gs();hidden();/*cout<<"游戏基本规则:当选项左边出现数字(比如1. 2. 3.之类的)就需要按下序号进行移动,输入时请注意(数值禁止输入字符,否则直接卡退或存档混乱!)\n";cout<<"请选择:\n";cout<<"1.新建用户(覆盖或新建存档)\n";cout<<"2.继续游戏(读取存档)\n";char m=_getch();if (m=='1')//新建存档 {//csj();string number[10]={"0","1","2","3","4","5","6","7","8","9"};cout<<"覆盖哪个存档?\n";for(int i=1;i<=9;i++)cout<<"存档"<<i<<":"<<filename[i]<<'\n';cin>>things[185];filename[things[185]]="新存档"+number[things[185]]; cout<<"是否改存档名?(当前存档名:"<<filename[things[185]]<<")\n(Y/N)";char s;cin>>s;if (s=='Y'){cout<<"改成什么?";cin>>filename[things[185]];} things[192]=1;//已读取,开始运行 juqing();//开始剧情 }else{cout<<"读取哪个存档?\n";for(int i=1;i<=9;i++)if (filename[i]!="空存档")cout<<"存档"<<i<<":"<<filename[i]<<'\n';cin>>things[185];int i=things[185];Read_File();things[185]=i;//防止存档被恶意毁坏 things[192]=1;juqing();//这是第二主函数,相当于剧情主干 }*/cout<<"是否跳过剧情引导及帮助?y/n";char l;cin>>l;switch(l){case 'y':break;case 'n':juqing();break;}Sout("你叫什么名字?");cin>>name;cls();init();mianban();
}

有bug欢迎在评论区提出!

C++自创打怪小游戏《末日之战》相关推荐

  1. C++自创打怪小游戏

    大家好,我是yanxinchenji 第一次发博客有点紧张 我前几天写了个打怪小游戏 想发博客上给大家看看 有什么bug欢迎在评论区提出(毕竟这还是个测试版 也可以加我微信:yanxinchenjic ...

  2. C++自创打怪小游戏.

    大家好啊,我是yanxinchenji 看这个标题,你应该明白,<末日之战>又双叒叕更新啦!! 本次更新主要更新了一些剧情 还有根据玩家章节数提升怪物属性 更新了游戏判定机制,商店再也不能 ...

  3. C++自创打怪小游戏1.1.21023.425

    末日之战来喽~~~~ 改了好久的1.1.21023.425 在5月1号,它来了! 有bug欢迎在评论区提出! 以下代码~ ​ /*末日之战1:新生*/ /*作者:yanxinchenji*/ /*如需 ...

  4. Java控制台游戏~600行代码实现打怪小游戏

    Java控制台游戏~600行代码实现打怪小游戏(多图预警) 一,先放个启动界面(一些英雄,怪物技能介绍跟装备属性都写在里边): 二,在这个简单的小游戏里,你可以体验到: 1.打怪: 2.随机玩法寻宝: ...

  5. 用C++语言写游戏——打怪小游戏

    想玩游戏吗? 就到某位神犇这来吧! 这会告诉你很多游戏写法! 今天,神犇就开始书写第二期--打怪小游戏!!! 很容易,只需要用脑袋想想即可,READY--GO! 我也希望大家多多捧场哦~~~ 有一点点 ...

  6. 从零开始写C++打怪小游戏(1)

    大家好呀,我是yanxinchenji 最近开学了,作业有点多,停更了一段时间 当然,就算是开学,也抵挡不住我更新的激情!! 所以,我想教大家写一个c++的打怪游戏!!无缝剪辑 话不多说,我们开始吧! ...

  7. Python打怪小游戏

    Python打怪小游戏 1.怪兽池中有若干种怪兽: monsters_pool = ['火柴鼠', '瞌睡熊', '板牙狸', '博学企鹅', '绅士企鹅', '漂浮龟', '皮皮', '贪玩虎', ...

  8. c++实现打怪小游戏

    c++是如何实现打怪小游戏的呢?代码很简陋,请谅解!记得点个赞! #include<iostream> #include<iomanip> using namespace st ...

  9. 【C++】蒟蒻自编文字打怪小游戏

    这些天本蒟蒻自己尝试着编了一个文字小游戏,奈何技术力有限无法短时间内实现太多功能. 在这里开个博客发一下资源,有意的朋友可以下来试玩一下,如果有bug或者建议欢迎私信或评论. 更新v0.0.1: 目前 ...

最新文章

  1. c语言结构体使用方法
  2. uni-app手机横屏后界面错乱解决办法
  3. thinkphp加锁抢购商品
  4. 常见的网站服务器架构有哪些?
  5. 多项式乘法运算初级版
  6. 曹大带我学 Go(11)—— 从 map 的 extra 字段谈起
  7. 如何评价国内SRC纷纷上线“白帽子协议”?
  8. java map 最大值_MAP集合选出最大值
  9. deepin下Clion连接mysql_CLion如何添加依赖库 ? 需要把mysql/Connector c++放入 用cpp连接数据库...
  10. 王者荣耀8月15日服务器维护,王者荣耀8月15日更新维护到什么时候 王者荣耀8月15日更新时间分享...
  11. GroupMetadataManager分析
  12. 如果mysql磁盘满了,会发生什么?还真被我遇到了~
  13. php源码修改器,php之0525获取器、修改器、验证
  14. 星星之火-57:前传接口 CPRI的速率、能力、小区带宽之间的映射关系
  15. 电脑被流氓软件入侵?教你彻底清除
  16. 才发现Nero8出现了问题
  17. qt屏幕漫天雪花飘落
  18. 2015中南大学夏令营机试(DFS求最短路径、子序列、字符串、贪心、数学找规律)
  19. 计算机为什么找不到c盘d盘,我的电脑c盘d盘都没有了?为什么
  20. 20实际最牛逼的10大算法

热门文章

  1. Thrift优缺点讨论
  2. 我在 ipad mini 里都装了些什么软件
  3. Linux 查看tcp 请求 中 的各个 状态 数据 ,如timewait
  4. 众享比特、众享金联荣登2020中国区块链企业百强榜
  5. 利用Ginkgo适配器实现一个PM2.5/粉尘物/颗粒物检测仪
  6. Vue 结合bpmn.js9.0.3实现工作量拖拽
  7. Arduino小工具之火焰报警器
  8. android 横向的日历,Andorid 日历控件库,可左右滑动,显示公历,农历,节假日等功能...
  9. 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明
  10. WordPress 确保您的网站安全