小镇5.1.1
Holle
小镇5.1.1
在这里跟大家见面了
改动不大(临近期末了)
博主小镇游戏可不可以存档,有点难玩,死了什么都没了,有点难,求改进
最近有许多小伙伴跟我提出这个意见
很好这个问题已经成功一起了我的注意
下个版本搞定,ok?
5.1.1改动小
剧情就不写了哈~~~
代码如下
#include<bits/stdc++.h>//头文件
#include<windows.h>//头文件
#include <conio.h>
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 start();//开始界面
void shangdian();//商店
void gongzuoshi();//
void chenjiu();
//}
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资源 X大怪 F小大怪 Q嗜血胖子 H分解材料 B boos 0你的位置|",
"| |",
"| B--H------W|--|---------------------------- R| |",
"| | |--|---------------------------- R| |",
"| Q-B-R |施|---------------------------- R| |",
"| | | |--|---------------------------WQ R| |",
"| O0-R-Q-B--BHBW|工|-B----B-------B-------B QBR| |",
"| | | |--|---------------------------WQ R| |",
"| Q-B-R |线|----------------------- R| |",
"| | |--|---------------------------- R| |",
"| B |-Q-| |--|---------------------------- R| |",
"| |--H |B-W|--|---------------------------- R| |",
"| |"};
int x=6,y=5,z=6,l=4;
int baoci=0;
int bao=0;
int tj=0,dj=0;
int xtk=0,xxj=0;
bool xxgj=0,xgj=0,xtz=0,xhs=0;//int
int shengming=4000,shanghai=1234124312,fangyu=11111,jinbi=999900,jingyan=100,shengmingf=999999999;//主角资料
int xhp,xsh,xjb,xdj,xfy;//小怪
int dhp,dsh,djb,ddj,dfy;//大怪
int boosHP=30000,boosSH,boosfy;//BOOS
int huo=0,jijiubao=5;//药品
int tiekuai=30;//材料
int fenjie=5;//材料
int jingkuai=20;//材料
int yuansujingkuai=20;//材料
int tdjh=0;//天地精华
int spzx=0;//审判之心
int Xzj=0;//机甲
int Zzj=0;
int Xsj=0;
int bykj=0;
int sy=0,yy=0;
int zhiye=0;
int boosdj=1;
using namespace std;
int main()
{
start();
system("cls");
cout<<"千万不能输入字母或特殊符号,探宝WASD移动"<<endl;
Sleep(1000);
system("cls");
system("pause");
cout<<" [小镇5.1.1怪物'狂欢'季]"<<endl;
Sleep(1000);
system("cls");
xiaozhen();
}
void start()
{
cout<<" [小镇5.1.1怪物狂欢季]\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;
}
else if(l==99)
{
shengming=20000,shanghai=2000,fangyu=2000,jinbi=999900,jingyan=99999,shengmingf=999999999;//主角资料
zhiye=1;
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;
}
else if(l==3)
{
shengming=6000,shanghai=60,fangyu=50,jinbi=100,jingyan=0,shengmingf=999999999;//主角资料
zhiye=3;
}
}
void xiaozhen()
{
int i=0,n=0,l=1;
while (l)
{
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 xiaozhen();
}
system("cls");
cout<<" [小镇5.1.1怪物狂欢季]\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 军团招募(6.0开放)"<<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 0:
break;
default:
cout<<"不要乱输入"<<endl;
}
}
}
void maoxian()
{
//
int i=0,n=0,l=1;
if(Zzj==1||Xzj==1||Xsj==1)
{
while(n!=1&&n!=2&&n!=3)
{
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;
Sleep(750);
}
else if(n==2&&Zzj==1)
{
Zzj=2;
cout<<"你已选择Z原型机"<<endl;
shengmingf=shengming;
shengming+=300;
shanghai+=500;
Sleep(750);
}
else if(n==3&&Xsj==1)
{
Xsj=2;
cout<<"你已选择X射线机"<<endl;
shengmingf=shengming;
shengming+=500;
shanghai+=700;
Sleep(750);
}
else
{
cout<<"请选择有效机甲"<<endl;
}
}
}
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 打BOOS"<<endl;
cout<<"输入 0 返回小镇"<<endl;
cin>>l;
switch(l)
{
case 1:
cout<<"-------------------------------------------------------------------------------\n" ;
xiaoguai();
if(shengming<=0)
{
break;
}
cout<<"-------------------------------------------------------------------------------\n" ;
break;
case 2:
cout<<"-------------------------------------------------------------------------------\n" ;
if(jingyan/100<5)
{
cout<<"等级过低,还差"<<300-jingyan<<endl;
Sleep(750);
cout<<"-------------------------------------------------------------------------------\n" ;
break;
}
daguai();
if(shengming<=0)
{
break;
}
cout<<"-------------------------------------------------------------------------------\n" ;
break;
case 3:
cout<<"-------------------------------------------------------------------------------\n" ;
shixuepangzi();
cout<<"-------------------------------------------------------------------------------\n" ;
break;
case 4:
if(jingyan/100<30)
{
cout<<"等级过低,还差"<<3000-jingyan<<endl;
Sleep(750);
cout<<"-------------------------------------------------------------------------------\n" ;
break;
}
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原型机"<<endl;
f=0;
}
if(Xsj==1)
{
cout<<"x射线机"<<endl;
f=0;
}
if(f)
{
cout<<"暂无机甲"<<endl;
}
cout<<endl;
cout<<"返回小镇";
system("pause");
}
void xiaoguai()
{
//
int wudi=0;
if(shengming<=0)
{
return xiaoguai();
}
int i=1,n=0,l=1,lengque=0,xsp=0,xbj=0;
int flag=9999;
int r,w;
int bj=2;
srand(static_cast<unsigned int >(time(0))) ;
int randomNumber=rand();
xdj=(randomNumber% 5)+1;
xhp=xdj*100+200;
xsh=xdj*100;
xfy=xdj*40;
xsp=xdj*5;
xbj=10;
if(jingyan/100>=20)
{
cout<<"<超级>小怪,小心!!!!"<<endl;
xhp+=700;
xsh+=400;
xfy+=200;
xhp+=400;
xsh+=200;
xfy+=100;
xsp+=10;
bj=3;
flag=(randomNumber% 100)+1;
if(flag<=20&&xdj==5)
{
cout<<"此怪为BUG小怪!!!!已超进化"<<endl;
xhp+=1000;
xsh+=500;
xfy+=400;
xbj=20;
}
}
else if(jingyan/100<20&&jingyan/100>=10)
{
cout<<"<精英>小怪,小心!!!!"<<endl;
xhp+=400;
xsh+=200;
xfy+=100;
xsp+=5;
bj=2;
}
if(Xzj==2||Zzj==2||Xsj==2)
{
cout<<"你已得到机甲增幅!!"<<endl;
}
cout<<"你面对的是"<<xdj<<"级小怪,伤害"<<xsh<<"生命:"<<xhp<<"防御:"<<xfy<<endl
<<"闪避几率:"<<xsp<<endl//
<<"暴击几率:"<<xbj<<endl
<<"是否迎战,迎战 1,逃跑 0"<<endl;
if(bao==1)
{
cout<<"探宝情况下不能逃跑!!!!"<<endl;
}
cin>>r;
if(r==1||bao==1)
{
int f=0;
while(shengming>0&&xhp>0&&l!=123&&(bao==1||i>0))
{
system("cls");
cout<<"-------------------------------------------------------------------------------\n" ;
cout<<"第"<<i<<"回合"<<endl;
if(flag<=20&&xdj==5)
cout<<"BUG小怪100%会掉落审判之心"<<endl;
cout<<"你的生命:"<<shengming<<"伤害"<<shanghai<<"防御"<<fangyu<<endl;
cout<<"小怪生命:"<<xhp<<"伤害"<<xsh<<"防御:"<<xfy<<endl;
cout<<"输入1攻击(造成攻击(你的伤害-怪的防御),防御减半)"<<endl;
cout<<"输入2防御(不造成攻击,防御*2)"<<endl;
if(zhiye==1)
cout<<"输入3使用技能(无敌并造成 2*伤害,BOOS*3点伤害)"<<endl;
if(zhiye==2)
cout<<