C++ 打怪游戏 原创 小镇5.2.0--怪物狂欢季(存档)

博客介绍了C++打怪游戏小镇5.2.0的重要更新,引入了存档功能。然而,存档版存在不能重复编译代码的问题。为解决这个问题,提供了可存档和不可存档两个版本。此外,游戏还增加了新怪、探宝新层等更新,等待玩家探索。警告玩家不要修改代码,以免影响游戏体验。
摘要由CSDN通过智能技术生成

小镇5.2.0

Holle
没想到现在5.2.0在小镇5.1.1更新
不到1个小时就更新了
可能有人会说:博主5.1.1那不就了吗?
额…
好像是这么回事
但是为了让5.1.15.2.0访问量跟上
所以我相信
聪明,大方,帅气,勇敢的你一定会把下面的连接点一点的
小镇5.1.1入口
小镇其他版本
好了
下面进入正题
为什么5.1.1一下就变成了5.2.0呢?
那就是5.2.0的更新是一次重要的更新,,很重要
就是可以进行存档了!!!
存档还是有一点小问题
就是不能重复编译代码
解决起来有点麻烦
所以呢,我特意为大家准备了两个版本!!!
一个是可以存档的版本(百度网盘)
还有一个是以代码的形式给大家的不可以存档
千万不能乱改代码
改了之后可能你就不能玩存档版本的了任何一个版本都不行
除此之外
探宝又更新了一层
探宝打不过瘾的小伙伴可以…
加入了新怪
还有一些小细节,等着你去发现

小镇的防线快要撑不住了!!
敌方似乎将一种新型生物放入了战斗!!
怪有了新的称号
工匠在探宝中开辟了新的一层
发现了怪物的一个宝藏库
但是没有办法进去
小镇
*命悬一线**…
需要你的拯救

存档版

小镇5.2.0存档版

不可存档版

再次强调不能改代码!!!
一改就废!!!

代码如下:

#include<bits/stdc++.h>//头文件
#include<windows.h>//头文件
#include <conio.h>
#include <cstdio>
#include <fstream>

void xiaozhen();
void  wuqidian();//武器店
void  yaopindian();//药品店
void maoxian();//冒险
void daguai();//大怪
void xiaoguai();//小怪
void shixuepangzi();//嗜血胖子 
void BOOS(); //boos
void zhuangtai();//状态
void ziliao();//资料
void jiangli();//奖励
void tanbao();//探宝
void ronglu();//熔炉
void gongjiangtai();//工匠台
void fenjiecailiao();//奖励分解材料
void jijia(); //制作机甲
void cailiaoshangren();//材料商人
void wuqizhizuo();//武器制作
void juntuanzhaomu();
void start1();//开始界面 
void start2();//开始界面
void shangdian();//商店 
void gongzuoshi();// 
void chenjiu();
void swcd();
void dqcd();
void xcd(); 
void xuefu(); 
void zhiyewuqi();

char  a[14][100]= {
   "| R资源 X大怪 F小大怪 O入口 0你的位置  H分解材料 @传送门 |",
                   "|                                                        |",
                   "|      |X-R-F|-X--FH-X---X-F-H-F-H--|      |-F|-F--H-|   |",
                   "|      H     |       |              |-F|FH-|  |      |   |",
                   "|      X     |-H--X--|FF-R|     |-F-|  |      |-F--H-|   |",
                   "|      |--R--|       |    |--H-X|      |-F|-H-|      |--@|",
                   "|   O0-|             |R-FF|     |-F-|-F|  |   |-F-H--|   |",
                   "|      F--F|--F-H-F--|     |-F-H|   |     |   |      |   |",
                   "|      X   |      |  |     |        |FH|-F|-H-|-F--H-|   |",
                   "|      H   |-X--R-|-X--F-R-|--F-F--H|  |             |   |",
                   "|      F   |               R           F    HHFFFHFF-|   |",
                   "|      RFRF|X---H---X--F-R-|-X-F-HF-RHF|-FHFH            |",
                   "|                                                        |"};
                      
char  b[14][100]= {
   "|R资源 F小大怪 Q上古凶兽 H分解材料  G吸血蝙蝠 K路障      |",
                   "|                                                        |",
                   "|      |-FH-FHF-HF-R-RG-F--Q--F-G-F-RFQ-F--GF-RQ-G-H-R|   |",
                   "| 返回 F   K                          Q        |     |   |",
                   "|   |  |   HGRR    RGFFF QQRRG ------ R ----GQHQ ----|   |",
                   "|   |  R   G  G-GR GG  F -QGGF ------- -----     ----|   |",
                   "|   O0-|-R-G     | QQ  F --QFF ----------------------|   |",
                   "|      R   GG-G-GR  Q  F HH--- -------    -----------|   |",
                   "|      |   G     |GGR  - RH--- ------ KHHK ----------|   |",
                   "|      Q   H-GRG-R  --G--Q G ------- KRRRRK----------|   |",
                   "|      F   K               | -----  KRHHHHRK---------|   |",
                   "|      |-H-R-Q-Q-Q-G-Q--G--R ----- KRHHHHHHRK--------|   |",
                   "|                                  怪物宝藏区            |"};
int x=6,y=5,z=6,l=4;
int baoci=0;
int bao=0;

int tj=0,dj=0;
bool xxgj=0,xgj=0,xhs=0,xtk=0,xxj=0;
int shengming=4000,shanghai=1234124312,fangyu=11111,jinbi=999900,jingyan=100,shengmingf=999999999;//主角资料
int Xzj=0;//机甲
int Zzj=0;
int Xsj=0;
int huo=0,jijiubao=5;//药品
int tiekuai=0;//材料
int fenjie=0;//材料
int jingkuai=0;//材料
int yuansujingkuai=0;//材料
int tdjh=0;//天地精华 
int spzx=0;//审判之心 
int bykj=0;
int sy=0,yy=0;
int zhiye=0;
int boosdj=1;
int emzx=0; 
int tsd=0;
int xsd=0;
int spj=0; 


int vip=0;

int c[1000];

int xhp,xsh,xjb,xdj,xfy;//小怪
int dhp,dsh,djb,ddj,dfy;//大怪
int boosHP=30000,boosSH,boosfy;//BOOS

using namespace std;
void dqcd()
{
   
	ifstream infile;   //输入流
    ofstream outfile;   //输出流
 	int i=1; 
    infile.open("存档.txt"); 
    while (!infile.eof()&&i<=33)            // 若未到文件结束一直循环
    {
   
        infile >> c[i];
		i++;            
    } 
	tj=c[1];
    dj=c[2];
    xxgj=c[3];
    xgj=c[4];
    xtk=c[5];
    xxj=c[6];
    shengming=c[7];
    shanghai=c[8];
    fangyu=c[9];
    jinbi=c[10];
    jingyan=c[11];
    shengmingf=c[12];
    Xzj=c[13];
    Zzj=c[14];
    Xsj=c[15];
    huo=c[16];
    jijiubao=c[17];
    tiekuai=c[18];
    fenjie=c[19];
    jingkuai=c[20];
    yuansujingkuai=c[21];
    tdjh=c[22];
    spzx=c[23];
    bykj=c[24];
    sy=c[25];
    yy=c[26];
    zhiye=c[27];
    boosdj=c[28];
    xhs=c[29];
    emzx=c[30];
    tsd=c[31];
    xsd=c[32];
    spj=c[33];
}
void swcd()
{
   
	ofstream outfile[3];//创建一个ofstream对象
    c[1]=tj;
    c[2]=dj;
    c[3]=xxgj;
    c[4]=xgj;
    c[5]=xtk;
    c[6]=xxj;
    c[7]=shengming;
    c[8]=shanghai;
    c[9]=fangyu;
    c[10]=jinbi;
    c[11]=jingyan;
    c[12]=shengmingf;
    c[13]=Xzj;
    c[14]=Zzj;
    c[15]=Xsj;
    c[16]=huo;
    c[17]=jijiubao;
    c[18]=tiekuai;
    c[19]=fenjie;
    c[20]=jingkuai;
    c[21]=yuansujingkuai;
    c[22]=tdjh;
    c[23]=spzx;
    c[24]=bykj;
    c[25]=sy;
    c[26]=yy;
    c[27]=zhiye;
    c[28]=boosdj;
    c[29]=xhs;	
    c[30]=emzx;
    c[31]=tsd;
    c[32]=xsd;
    c[33]=spj;
    outfile[0].open("存档.txt");//创建txt 
    for(int i=1;i<=33;i++)
		outfile[0]<<c[i]<<endl;
}
int main()
{
   
	start1();
	if(zhiye==0)
    	start2();
    system("cls");
    cout<<"千万不能输入字母或特殊符号,探宝WASD移动"<<endl;
    Sleep(1000);
    system("cls");
	xiaozhen();
}
void start1()
{
   
	int f=0;
	cout<<"                           [小镇5.2.0怪物狂欢季]\n";
    cout<<"-------------------------------------------------------------------------------\n" ;
	cout<<"请输入账号(没有请随便输入)";
	string a,b;
	cin>>a;
	cout<<endl<<"请输入密码(没有请随便输入)";
	cin>>b;
	if(a=="波斯顿大龙虾"&&b=="绿色健康小清新")
	{
   
		cout<<">>慕昊洋<< VIP2 玩家,欢迎你"<<endl;
		vip=2;
	}
	if(a=="200575"&&b=="75")
	{
   
		cout<<"尊贵的VIP8玩家"<<endl;
		vip=8;
	} 
	int l;
	cout<<"输入 1 读取存档"<<endl;	
	cout<<"输入 2 开始新的一局"<<endl;
	cin>>l;
	if(l==1)
	{
   
		//dqcd();
		if(zhiye==0&&f==0)
			cout<<"普通玩家你好,检测到你没有存档以为你重新开始一局"<<endl;
		if(vip==2&&zhiye==0) 
		{
   
			cout<<"尊敬的>>慕昊洋<< VIP2 玩家,检测到当前您没有存档,以为你重新开始一局(VIP2礼包)"<<endl;
			vip=2; 
		}
		Sleep(3000);
	}
	system("cls"); 
}
void start2()
{
   
    cout<<"                           [小镇5.2.0怪物狂欢季]\n";
    cout<<"-------------------------------------------------------------------------------\n" ;
    cout<<"                               请选择职业"<<endl;
    cout<<"                                 1.战士"<<endl
		<<"                        生命:5000  伤害:50  防御:20  "<<endl
		<<"                    技能:MAX斩,对怪造成 伤害*2的 伤害无视防御"<<endl 
		<<"                    注:对BOOS防御有效  但造成 伤害*3 的伤害"<<endl<<endl;
    cout<<"                              2.狂热的血战士"<<endl
		<<"                        生命:4000 伤害:100 防御:10 "<<endl
		<<"                            技能:血神盾,无敌三回合 "<<endl<<endl;
	cout<<"                                  3.天使"<<endl
		<<"                         生命:6000 伤害:60 防御:50"<<endl
		<<"      技能:天使救赎与惩戒,恢复500血,并造成 100*怪物等级 伤害,冷却10回合"<<endl;
    int l;
    cin>>l;
    if(l==1)
    {
   
        shengming=5000,shanghai=50,fangyu=20,jinbi=150,jingyan=100,shengmingf=999999999;//主角资料
        zhiye=1;
        if(vip==1)
        {
   
        	shanghai+=30;
        	fangyu+=30;
        	jinbi+=200;
			Xzj=1; 
		}
		if(vip==2)
		{
   
			shanghai+=50;
			fangyu+=50;
			jinbi+=300;
			Xzj=1;
		}
		if(vip==8)
		{
   
			shengming=20000,shanghai=2000,fangyu=2000,jinbi=999900,jingyan=99999,shengmingf=999999999;//主角资料
	        jijiubao=100;
	        Xsj=1;
	        tiekuai=99999;//材料
	        fenjie=5;//材料
	        jingkuai=99999;//材料
	        yuansujingkuai=99999;//材料
	        tdjh=0;
	        spzx=0;
	        tj=1;
	        dj=1;
		}
    }
    else if(l==2) 
    {
   
        shengming=4000,shanghai=100,fangyu=10,jinbi=150,jingyan=0,shengmingf=999999999;//主角资料
        zhiye=2;
        if(vip==1)
        {
   
        	shanghai+=30;
        	fangyu+=30;
        	jinbi+=200;
			Xzj=1; 
		}
		if(vip==2)
		{
   
			shanghai+=50;
			fangyu+=50;
			jinbi+=300;
			Xzj=1;
		}
		if(vip==8)
		{
   
			shengming=20000,shanghai=2000,fangyu=2000,jinbi=999900,jingyan=99999,shengmingf=999999999;//主角资料
	        
	        jijiubao=100;
	        Xsj=1;
	        tiekuai=99999;//材料
	        fenjie=5;//材料
	        jingkuai=99999;//材料
	        yuansujingkuai=99999;//材料
	        tdjh=0;
	        spzx=0;
	        tj=1;
	        dj=1;
		}
    }
    else
    {
   
    	shengming=6000,shanghai=60,fangyu=50,jinbi=100,jingyan=0,shengmingf=999999999;//主角资料
        zhiye=3;
        if(vip==1)
        {
   
        	shanghai+=30;
        	fangyu+=30;
        	jinbi+=200;
			Xzj=1; 
		}
		if(vip==2)
		{
   
			shanghai+=50;
			fangyu+=50;
			jinbi+=300;
			Xzj=1;
		}
		if(vip==8)
		{
   
			shengming=20000,shanghai=2000,fangyu=2000,jinbi=999900,jingyan=99999,shengmingf=999999999;//主角资料
	        
	        jijiubao=100;
	        Xsj=1;
	        tiekuai=99999;//材料
	        fenjie=5;//材料
	        jingkuai=99999;//材料
	        yuansujingkuai=99999;//材料
	        tdjh=0;
	        spzx=0;
	        tj=1;
	        dj=1;
		}
	}
}
void xiaozhen()
{
   
	//swcd();
	int i=0,n=0,l=1;
	while (l)
	{
   
		
		system("cls");
		cout<<"                           [小镇5.2.0怪物狂欢季]\n";
		cout<<"-------------------------------------------------------------------------------\n" ;
		cout<<"输入 1 冒险"<<endl;
		cout<<"输入 2 探宝"<<endl;
		cout<<"输入 3 商店"<<endl;
		cout<<"输入 4 工作室"<<endl;
		cout<<"输入 5 查看自己状态"<<endl;
		cout<<"输入 6 查看游戏资料"<<endl;
		cout<<"输入 7 查看成就"<<endl;
		cout<<"输入 8 存档(没事按按)"<<endl;
		cout<<"输入 0 结束游戏"<<endl;
		cin>>l;
		switch(l)
		{
   
			case 1:
				cout<<"-------------------------------------------------------------------------------\n" ;
				maoxian();
				if(Xzj==2)
				{
   

					shanghai-=300;
					Xzj=1;
				}
				else if(Zzj==2)
				{
   
					shanghai-=500;
					Zzj=1;
				}
                else if(Xsj==2)
                {
   
                    shanghai-=500;
                    Xsj=1;
                }
				if(shengming>shengmingf)
				{
   
					shengming=shengmingf;
					cout<<"机甲增幅已解除"<<endl;
					Sleep(750);
				}
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 2:
				cout<<"-------------------------------------------------------------------------------\n" ;
				tanbao();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 3:
				cout<<"-------------------------------------------------------------------------------\n" ;
				shangdian(); 
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 4:
				cout<<"-------------------------------------------------------------------------------\n" ;
				gongzuoshi();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 5:
				cout<<"-------------------------------------------------------------------------------\n" ;
				zhuangtai();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 6:
				cout<<"-------------------------------------------------------------------------------\n" ;
				ziliao();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break; 
			case 7:
				cout<<"-------------------------------------------------------------------------------\n" ;
				chenjiu();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break; 
			case 8:
				//swcd();
				break; 
			case 0:
				//swcd();
				break;
			default:
				cout<<"不要乱输入"<<endl;
		}
		if(Xzj==2)
		{
   
			shanghai-=300;
			Xzj=1;
		}
		else if(Zzj==2)
		{
   
			shanghai-=500;
			Zzj=1;
		}
		else if(Xsj==2)
        {
   
            shanghai-=500;
            Xsj=1;
        }
		if(shengming>shengmingf)
		{
   
			shengming=shengmingf;
			cout<<"机甲增幅已解除"<<endl;
			Sleep(750);
		}
		if(shengming<=0)
		{
   
			cout<<"你死了"<<endl;
			return ;
		}
	}
}
void maoxian()
{
   
	//
	int i=0,n=0,l=1,f1=1;
	if(Zzj==1||Xzj==1||Xsj==1)
	{
   
		while(n!=1&&n!=2&&n!=3&&f1)
		{
   
			cout<<"请选择作战机甲"<<endl;
			cout<<"输入 1 选择X原型机"<<endl;
			cout<<"输入 2 选择Z原型机"<<endl;
			cout<<"输入 3 选择X射线机"<<endl;
			cin>>n;
			if(n==1&&Xzj==1)
			{
   
				Xzj=2;
				cout<<"你已选择X原型机"<<endl;
				shengmingf=shengming;
				shengming+=500;
				shanghai+=200;
				f1=0;
				Sleep(750);
			}
			else if(n==2&&Zzj==1)
			{
   
				Zzj=2;
				cout<<"你已选择Z原型机"<<endl;
				shengmingf=shengming;
				shengming+=300;
				shanghai+=500;
				f1=0;
				Sleep(750);
			}
			else if(n==3&&Xsj==1)
			{
   
				Xsj=2;
				cout<<"你已选择X射线机"<<endl;
				shengmingf=shengming;
				shengming+=500;
				shanghai+=700;
				f1=0;
				Sleep(750);
			}
			else
			{
   
				cout<<"请选择有效机甲"<<endl;
				f1=1;
			}
		}
	}
	while(l)
	{
   
		system("cls");
		cout<<"-------------------------------------------------------------------------------\n" ;
		if(baoci>10||jingyan/100>7)
		{
   
			cout<<"*远古骷髅已增强*"<<endl;
		}
		if(baoci>20||jingyan/100>10)
		{
   
			cout<<"*远古骑士已增强*"<<endl;
		}
		cout<<"输入 1 打远古骷髅"<<endl;
		cout<<"输入 2 打远古骑士"<<endl;
		cout<<"输入 3 打远古凶兽"<<endl; 
		cout<<"输入 4 打吸血蝙蝠"<<endl; 
		cout<<"输入 5 打上古异体"<<endl;
		cout<<"输入 0 返回小镇"<<endl;
		cin>>l;
		switch(l)
		{
   
			case 1:
				cout<<"-------------------------------------------------------------------------------\n" ;
				xiaoguai();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 2:
				cout<<"-------------------------------------------------------------------------------\n" ;
				daguai();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 3:
				cout<<"-------------------------------------------------------------------------------\n" ;
				xuefu();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break; 
			case 4:
				cout<<"-------------------------------------------------------------------------------\n" ;
				xuefu();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break; 
			case 5:
				cout<<"-------------------------------------------------------------------------------\n" ;
				BOOS();
				cout<<"-------------------------------------------------------------------------------\n" ;
				break;
			case 0:
				break;
			default:
				cout<<"不要乱输入"<<endl;
				Sleep(750);
				cout<<"-------------------------------------------------------------------------------\n" ;
		} 
	} 
} 
void zhuangtai()
{
   
	system("cls");
	cout<<"你的生命为:"<<shengming<<endl;
	cout<<"你的金币为:"<<"$"<<jinbi<<endl;
	cout<<"你的防御为:"<<fangyu<<endl;
	cout<<"你的伤害为:"<<shanghai<<endl;
	cout<<"你的经验为(100经验=1级):"<<jingyan<<endl;
	cout<<"你的等级为:"<<jingyan/100<<endl;
	cout<<"你拥有的急救包数"<<jijiubao<<endl;
	cout<<"技能MAX斩(无敌,造成2*伤害,boos*3) "<<endl;
	cout<<"分解材料:"<<fenjie<<endl;
	cout<<"铁块:"<<tiekuai<<" 晶块:"<<jingkuai<<" 元素晶块"<<yuansujingkuai<<endl;
	cout<<"天地精华:"<<tdjh<<"   审判之心:"<<spzx<<endl;
	int f=1 ;
	cout<<"机甲仓库:"<<endl;
	if(Xzj==1)
    {
   
		cout<<"X原型机"<<endl;

		f=0;
	}
	if(Zzj==1)
	{
   
		cout<<"Z原型机"<<en
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值