📄 game.cpp
字号:
#include "iostream"
#include "Player.h"
#include "Map.h"
#include "Text.h"
#include "spell.h"
#include "item.h"
#include "color.h"
#include <windows.h>
using namespace std;
//对象的声明
extern int a1,a2,a3,a4;
CFile cf;
map gamemap;
color col;
char *npcname(int lv);
int npchp(int lv);
int npcdam(int lv);
int npcdef(int lv);
int npcstr(int lv);
void juqing(char *s);
void f_input(char n);
void flash();
void fight();
void lvup();
void die();
void useitem();
void drawhp(int a,int b);
void getinput(char n);//按键处理
spell jn1("裂空斩",55,25),jn2("黑暗雷光",70,35);//初始化技能
item yao1("生命药水","瞬间恢复500点HP",2),yao2("魔法药水","瞬间恢复500点MP",2);//初始化药品
bool zt=true;//战斗和非战斗状态转换
bool ys;
bool tj;
bool qh;
int dm; //一个用于增加伤害的随机数
Hero hero;
int hero_x = 2;
int hero_y = 2;
Npc boss(120,70,28,"地域爱琴海");//初始化怪物对象
Npc npc1(45,35,22,"狂狼");
Npc npc2(74,52,25,"黑熊");
void main()
{
char c_in[5];
cout<<" "<<"游 戏 : 幻世梵天"<<endl<<endl;
juqing("梦幻般的梵天大陆,风云变幻的种族联盟,当七夜走到命运注定的联盟之后,他面对的将是谁?他的敌人会是谁?他是谁?他的力量再也无法挽回吗?他将要做什么?他将会做什么?在各族会聚的联盟中,一个人的力量将能改变什么?");
juqing("幻世梵天的最终部——梵天大陆,即将展现梵天的全部情景!");
Sleep(3000);
system("cls");
cout<<" "<<"游 戏 : 幻世梵天"<<endl<<endl;
cf.open();
cf.put();
Sleep(3000);
printf("\n");
gamemap.Initmap();
gamemap.move(hero_y,hero_x);
flash();
while(true)
{
flash();
cout<<"请输入操作指令:";
cin>>c_in;
if(!zt)
{
fight();
}
else
{
getinput(c_in[0]);
}
lvup();
die();
}
printf("\n\n");
}
void getinput(char n)//普通状态下的按键处理
{
srand(GetTickCount());
int num=rand()%10;
switch(n)
{
case 'c':
case 'C':
flash();
cout<<"=========================================="<<endl;
cout<<"英雄:"<<hero.getname()<<endl;
cout<<"等级:"<<hero.getlv()<<endl;
cout<<"力量:"<<hero.getStr()<<endl;
cout<<"敏捷:"<<hero.getDex()<<endl;
cout<<"智力:"<<hero.getInt()<<endl;
cout<<"攻击:"<<hero.getdam()<<endl;
cout<<"防御:"<<hero.getdef()<<endl;
cout<<"HP:"<<hero.getHp()<<endl;
cout<<"MP:"<<hero.getMp()<<endl;
system("pause");
break;
case 'w':
case 'W':
hero_y--;
if (gamemap.mapMax[hero_y][hero_x] == 1)
{
hero_y++;
printf("撞树上了!\n");
system("pause");
}
if (gamemap.mapMax[hero_y][hero_x] != 5)
{
if(num%3==0)
{
zt=false;
}
}
gamemap.Initmap();
if (hero_y<0)
{
hero_y=0;
gamemap.move(0,hero_x);
printf("墙都快被你推倒了,回头吧!\n");
system("pause");
}
else
{
gamemap.move(hero_y,hero_x);
}
if ((hero_x == 3 && hero_y == 0) )
{
juqing("村长:“七夜,到树林的那边找到地域爱琴海他会交给你怎么做!~");
juqing("村长:“顺便到药师和铁匠那里看看也许会获得帮助");
system("pause");
}
if ((hero_x == 1 && hero_y == 0) )
{
if (!tj)
{
juqing("铁匠:“你的爷爷被魔兽袭击时他的剑遗失在了远处的树林中!”");
juqing("铁匠:“找回那把帝王剑才能被地域爱琴海认可,回来时我还可以帮你强化它”");
system("pause");
}
else
{
if(!qh)
{
juqing("太好了,你终于找到帝王剑了,这下梵天大陆有救了,来我帮你强化了它。");
cout<<"得到 帝王剑(超)"<<endl;
qh=true;
system("pause");
}else
{
juqing("拿着这把剑去征服整个梵天大陆吧");
system("pause");
}
};
}
if ((hero_x == 0 && hero_y == 2) )
{
if (!ys)
{
juqing("药师:“孩子,这几瓶药水带上防身,打倒怪物得到的魔核我也可以给你制作药水”");
cout<<"得到 生命药水*2 魔法药水*2"<<endl;
ys=true;
system("pause");
}else
{
juqing("药师:“出了村子就会受到魔兽的袭击。”");
}
}
if ((hero_x == 19 && hero_y == 1) )
{
if (!tj)
{
juqing("找到遗失的帝王剑。。。");
cout<<"得到 帝王剑"<<endl;
tj=true;
system("pause");
}else
{
juqing("这片地方已经搜索过了");
system("pause");
}
}
if ((hero_x == 15 && hero_y == 10) )
{
if (!qh)
{
juqing("地域爱琴海:“你连个真正的武器都没有怎么来打仗,去找到真正的帝王剑再来找我完成试炼吧”");
system("pause");
}else
{
if(npcname(hero.getlv())!=boss.getname())
{
juqing("你太弱了,起码练到5级以后再来找我吧");
system("pause");
}else
{
juqing("很不错,你现在有资格来挑战我了,让我来看看你的试炼结果吧。");
system("pause");
zt=false;
}
}
}
break;
case 's':
case 'S':
hero_y++;
if (gamemap.mapMax[hero_y][hero_x] == 1)
{
hero_y--;
printf("撞树上了!\n");
system("pause");
}
if (gamemap.mapMax[hero_y][hero_x] != 5)
{
if(num%3==0)
{
zt=false;
}
}
gamemap.Initmap();
if (hero_y>11)
{
hero_y = 11;
gamemap.move(11,hero_x);
printf("墙都快被你推倒了,回头吧!\n");
system("pause");
}
else
{
gamemap.move(hero_y,hero_x);
}
if ((hero_x == 3 && hero_y == 0) )
{
juqing("村长:“七夜,到树林的那边找到地域爱琴海他会交给你怎么做!~");
juqing("村长:“顺便到药师和铁匠那里看看也许会获得帮助");
system("pause");
}
if ((hero_x == 1 && hero_y == 0) )
{
if (!tj)
{
juqing("铁匠:“你的爷爷被魔兽袭击时他的剑遗失在了远处的树林中!”");
juqing("铁匠:“找回那把帝王剑才能被地域爱琴海认可,回来时我还可以帮你强化它”");
system("pause");
}
else
{
if(!qh)
{
juqing("太好了,你终于找到帝王剑了,这下梵天大陆有救了,来我帮你强化了它。");
cout<<"得到 帝王剑(超)"<<endl;
qh=true;
system("pause");
}else
{
juqing("拿着这把剑去征服整个梵天大陆吧");
system("pause");
}
};
}
if ((hero_x == 0 && hero_y == 2) )
{
if (!ys)
{
juqing("药师:“孩子,这几瓶药水带上防身,打倒怪物得到的魔核我也可以给你制作药水”");
cout<<"得到 生命药水*2 魔法药水*2"<<endl;
ys=true;
system("pause");
}else
{
juqing("药师:“出了村子就会受到魔兽的袭击。”");
}
}
if ((hero_x == 19 && hero_y == 1) )
{
if (!tj)
{
juqing("找到遗失的帝王剑。。。");
cout<<"得到 帝王剑"<<endl;
tj=true;
system("pause");
}else
{
juqing("这片地方已经搜索过了");
system("pause");
}
}
if ((hero_x == 15 && hero_y == 10) )
{
if (!qh)
{
juqing("地域爱琴海:“你连个真正的武器都没有怎么来打仗,去找到真正的帝王剑再来找我完成试炼吧”");
system("pause");
}else
{
if(npcname(hero.getlv())!=boss.getname())
{
juqing("你太弱了,起码练到5级以后再来找我吧");
system("pause");
}else
{
juqing("很不错,你现在有资格来挑战我了,让我来看看你的试炼结果吧。");
system("pause");
zt=false;
}
}
}
break;
case 'a':
case 'A':
hero_x--;
if (gamemap.mapMax[hero_y][hero_x] == 1)
{
hero_x++;
printf("撞树上了!\n");
system("pause");
}
if (gamemap.mapMax[hero_y][hero_x] != 5)
{
if(num%3==0)
{
zt=false;
}
}
gamemap.Initmap();
if (hero_x<0)
{
hero_x = 0;
gamemap.move(hero_y,0);
printf("墙都快被你推倒了,回头吧!\n");
system("pause");
}
else
{
gamemap.move(hero_y,hero_x);
}
if ((hero_x == 3 && hero_y == 0) )
{
juqing("村长:“七夜,到树林的那边找到地域爱琴海他会交给你怎么做!~");
juqing("村长:“顺便到药师和铁匠那里看看也许会获得帮助");
system("pause");
}
if ((hero_x == 1 && hero_y == 0) )
{
if (!tj)
{
juqing("铁匠:“你的爷爷被魔兽袭击时他的剑遗失在了远处的树林中!”");
juqing("铁匠:“找回那把帝王剑才能被地域爱琴海认可,回来时我还可以帮你强化它”");
system("pause");
}
else
{
if(!qh)
{
juqing("太好了,你终于找到帝王剑了,这下梵天大陆有救了,来我帮你强化了它。");
cout<<"得到 帝王剑(超)"<<endl;
qh=true;
system("pause");
}else
{
juqing("拿着这把剑去征服整个梵天大陆吧");
system("pause");
}
};
}
if ((hero_x == 0 && hero_y == 2) )
{
if (!ys)
{
juqing("药师:“孩子,这几瓶药水带上防身,打倒怪物得到的魔核我也可以给你制作药水”");
cout<<"得到 生命药水*2 魔法药水*2"<<endl;
ys=true;
system("pause");
}else
{
juqing("药师:“出了村子就会受到魔兽的袭击。”");
system("pause");
}
}
if ((hero_x == 19 && hero_y == 1) )
{
if (!tj)
{
juqing("找到遗失的帝王剑。。。");
cout<<"得到 帝王剑"<<endl;
tj=true;
system("pause");
}else
{
juqing("这片地方已经搜索过了");
system("pause");
}
}
if ((hero_x == 15 && hero_y == 10) )
{
if (!qh)
{
juqing("地域爱琴海:“你连个真正的武器都没有怎么来打仗,去找到真正的帝王剑再来找我完成试炼吧”");
system("pause");
}else
{
if(npcname(hero.getlv())!=boss.getname())
{
juqing("你太弱了,起码练到5级以后再来找我吧");
system("pause");
}else
{
juqing("很不错,你现在有资格来挑战我了,让我来看看你的试炼结果吧。");
system("pause");
zt=false;
}
}
}
break;
case 'd':
case 'D':
hero_x++;
if (gamemap.mapMax[hero_y][hero_x] == 1)
{
hero_x--;
printf("撞树上了!\n");
system("pause");
}
if (gamemap.mapMax[hero_y][hero_x] != 5)
{
if(num%3==0)
{
zt=false;
}
}
gamemap.Initmap();
if (hero_x>19)
{
hero_x = 19;
gamemap.move(hero_y,19);
printf("墙都快被你推倒了,回头吧!\n");
system("pause");
}
else
{
gamemap.move(hero_y,hero_x);
}
if ((hero_x == 3 && hero_y == 0) )
{
juqing("村长:“七夜,到树林的那边找到地域爱琴海他会交给你怎么做!~");
juqing("村长:“顺便到药师和铁匠那里看看也许会获得帮助");
system("pause");
}
if ((hero_x == 1 && hero_y == 0) )
{
if (!tj)
{
juqing("铁匠:“你的爷爷被魔兽袭击时他的剑遗失在了远处的树林中!”");
juqing("铁匠:“找回那把帝王剑才能被地域爱琴海认可,回来时我还可以帮你强化它”");
system("pause");
}
else
{
if(!qh)
{
juqing("太好了,你终于找到帝王剑了,这下梵天大陆有救了,来我帮你强化了它。");
cout<<"得到 帝王剑(超)"<<endl;
qh=true;
system("pause");
}else
{
juqing("拿着这把剑去征服整个梵天大陆吧");
system("pause");
}
};
}
if ((hero_x == 0 && hero_y == 2) )
{
if (!ys)
{
juqing("药师:“孩子,这几瓶药水带上防身,打倒怪物得到的魔核我也可以给你制作药水”");
cout<<"得到 生命药水*2 魔法药水*2"<<endl;
ys=true;
system("pause");
}else
{
juqing("药师:“出了村子就会受到魔兽的袭击。”");
}
}
if ((hero_x == 19 && hero_y == 1) )
{
if (!tj)
{
juqing("找到遗失的帝王剑。。。");
cout<<"得到 帝王剑"<<endl;
tj=true;
system("pause");
}else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -