📄 npc.cpp
字号:
#include"NPC.h"
#include<iostream>
#include"head.h"
#include"CRole.h"
#include"Color.h"
extern color c;//调用已经声明的对象
extern mygame call;//调用已经声明的对象
extern CRole k;//调用已经声明的对象
using namespace std;
NPC::NPC()
{
d=0;
}
NPC::~NPC()
{
}
void NPC::message()//安全行走提示
{
c.anqingse();
cout<<"【"<<"消息】:"<<"现在很安全,没有发现任何动静!";
cout<<"按";
c.huangse();
cout<<" w a d";
c.anqingse();
cout<<"键继续行走";
}
void NPC::message2()//玩家昵称 ,【玩家】青色
{
c.qingse();
cout<<"【";
cout<<k.player;
cout<<"】:"<<endl;
}
void NPC::message3()//信息提示,【消息】红色
{
c.Hongse();
cout<<"【";
c.huangse();
cout<<"消息";
c.Hongse();
cout<<"】:";
}
void NPC::npc1_penglai()//前往蓬莱的怪物分布
{
message3();
c.anbaise();
cout<<"前方发现 ";
c.Hongse();
cout<<"『巨鼠』";
c.anbaise();
cout<<" 正虎视耽耽的看着你,位置:";
cout<<" X:50 Y:40 数量:1 等级:1"<<"\n";
cout<<"选择攻击方式:"<<"\n";
C: c.huangse();
cout<<"1.取出『强化乌龙剑』近距离刺杀 2.利用『暗夜连环斩』直线冲杀(会消耗2点的力量)";
cout<<"\n";
cin>>in;
switch(in[0])
{
case '1':
message2();
c.anqingse();
call.image(" 暗笑,区区一只巨鼠竟敢挡我去路!,真是找死!",45);
cout<<"\n";
message2();
call.image(" 提剑冲向『巨鼠』,刹那间,眼看",32);
c.Hongse();
cout<<"『强化乌龙剑』";
c.anqingse();
cout<<"就要索取『巨鼠』之性命,但『巨鼠』 动作敏捷,并能看清黑夜中的一切,轻松躲过";
c.qingse();cout<<"【";cout<<k.player;cout<<"】";c.anqingse();
cout<<"的攻击,并称机反咬一口~~!\n";
message3();//受到攻击消息报告
c.Hongse();
cout<<" 你的血值丢失3\n";
k.setHP(k.getHP()-3);
k.shuxing();//输出属性回执单
message2();
c.anbaise();
cout<<" 此处非平常之地,连老鼠都那么狡猾!"<<endl;
message3();
c.huangse();
cout<<" 在漆黑的洞内建议使用";
c.Hongse();
cout<<"『暗夜连环斩』"<<"\n";
c.anqingse();
cout<<" 选择再次攻击方式:"<<"\n";
goto C;
break;
case '2':
message2();
c.anlvse();
call.image(" 开始运起内力,身边紫光环绕,瞬间一条光剑射向『巨鼠』,『巨鼠』当场毙命~!",72);
cout<<"\n";
message3();
c.anqingse();
cout<<" 由于你的内力消耗,暂时损失了2点的力量,经验值增加1,级别升高1;"<<endl;
k.setEP(k.getEP()+1);//经验加1
k.setBI(k.getBI()-2);//力量减2
k.setLEVL(k.getLEVL()+1);//等级加1
k.shuxing();//输出属性回执单
cout<<"\n";
message3();
cout<<"\n";
c.anqingse();
cout<<" 巨鼠掉落一瓶生命药水,是否捡起放入物品栏?(y/n)"<<endl;
cin>>in;
switch(in[0])
{
case 'y':
message3();
cout<<" 生命药水已经放入物品栏!"<<endl;
call.wupin2=" 生命药水 ";
call.wupin();
break;
case 'n':
break;
default:
break;
}
cout<<"\n";
message();//安全信息
break;
default:
c.Hongse();
cout<<" 输入错误!"<<"\n";
goto C;
}
cout<<"\n";
c.anbaise();
cout<<" 洞内甚是黑暗";
c.qingse();
cout<<k.player;
c.anbaise();
cout<<"只能放慢脚步,摸索前进..."<<endl;
}
void NPC::flower_penglai()//强酸花
{
if(k.gety()==34)
{
message3();
c.anhuangse();
cout<<"前方发现";
c.qingse();
cout<<"『强酸花』";
c.anhuangse();
cout<<"能化解";
c.Hongse();
cout<<"「吸血虫」";
c.anhuangse();
cout<<"和";
c.Hongse();
cout<<"「毒蝎」";
c.anhuangse();
cout<<"的毒素!";
c.anhuangse();
cout<<"坐标:";
c.Hongse();
cout<<"X:55 Y:30 "<<endl;
/*
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
cout<<"\n";*/
}
if(d==0){
if(k.getx()==50&&k.gety()==34)
{
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
}
if(k.getx()==50&&k.gety()==32)
{
message3();
cout<<"按 w 键 再向前走几步!"<<endl;
}
if(k.getx()==50&&k.gety()==30)
{
message3();
cout<<"按 d 键 再向右走几步!"<<endl;
cout<<"\n";
}
if(k.getx()==55&&k.gety()==34)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
}
if(k.getx()==55&&k.gety()==32)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"再向前走几步。 ";
cout<<"\n";
}
if(k.getx()==60&&k.gety()==34)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
}
if(k.getx()==60&&k.gety()==32)
{
message3();
cout<<"按 w 键 再向前走几步!"<<endl;
cout<<"\n";
}
if(k.getx()==45&&k.gety()==34)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
cout<<"\n";
}
if(k.getx()==45&&k.gety()==32)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(再向前走几步。 ";
cout<<"\n";
}
if(k.getx()==45&&k.gety()==30)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" d ";
c.anhuangse();
cout<<"向右走几步。 ";
cout<<"\n";
}
if(k.getx()==40&&k.gety()==34)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
cout<<"\n";
}
if(k.getx()==40&&k.gety()==32)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" w ";
c.anhuangse();
cout<<"(控制Y坐标) 向前走几步。 ";
cout<<"\n";
}
if(k.getx()==40&&k.gety()==30)
{
message3();
cout<<" 按";
c.anlvse();
cout<<" d";
c.anhuangse();
cout<<"(控制Y坐标) 向右走几步。 ";
cout<<"\n";
}
if(k.gety()==30&&k.getx()<55)
{
message3();
c.qingse();
cout<<" 『强酸花』";
c.lvse();
cout<<"在你的右方向--> X:55 Y:30";
cout<<" 按 d 键靠近..."<<endl;
}
int panduan=0;
if(k.getx()==55&&k.gety()==30)
{
if(panduan==0)
{
message3();
c.qingse();
cout<<" 『强酸花』";
c.Hongse();
cout<<"已经采集到~!"<<endl;
c.anlvse();
cout<<" 是否放入物品栏?";
c.huangse();
cout<<"(y / n) ";
c.anlvse();
cout<<" 按其他键则默认丢弃~!"<<endl;
panduan=1;
}
cin>>k.W;
if(k.W[0]=='y')
{
message3();
c.qingse();
cout<<" 『强酸花』";
c.lvse();
cout<<"已经放入物品栏!按w a d 继续行走";
cout<<"\n";
call.wupin4=" 强酸花 ";
call.zhuangtai=1;
call.wupin();
}else
{ message3();
c.anqingse();
cout<<"『强酸花』已经仍掉~!"<<endl;
d=1;
}
/* c.anbaise();
cout<<"游戏继续....";*/
if(k.getx()==60&&k.gety()==30)/////////////////////////
{
if(panduan=0)
{
message3();
cout<<"按 a 向左走几步!"<<endl;
cout<<"\n";
}
}
}
}
}
void NPC::last()//////寻找田不易
{
if(k.getx()<60&&k.gety()>=20)
{
message3();
c.anhuangse();
cout<<"方向走反了,应该按 d 键向东走。这个方向根本找不到 田不易!";
}
if(k.getx()==60&&k.gety()==24)
{
message3();
cout<<"按 w 向前走一段距离或按 d 向右拐。"<<endl;
}
if(k.getx()==60&&k.gety()==22)
{
message3();
cout<<" 按 w 向前走一段距离或按 d 向右拐。"<<endl;
}
if(k.getx()==60&&k.gety()==20)
{
message3();
cout<<" 按 d 向右拐。"<<endl;
}
if(k.getx()==65&&k.gety()==24)
{
message3();
cout<<" 按 w 向前走一段距离或按 d 向右拐。"<<endl;
}
if(k.getx()==65&&k.gety()==22)
{
message3();
cout<<" 按 w 向前走一段距离或按 d 向右拐。"<<endl;
}
if(k.getx()==65&&k.gety()==20)
{
message3();
cout<<" 按 d 向右拐。"<<endl;
}
if(k.getx()==70&&k.gety()==24)
{
message3();
cout<<" 按 w 向前走一段距离"<<endl;
}
if(k.getx()==70&&k.gety()==22)
{
message3();
cout<<" 按 w 向前走一段距离"<<endl;
}
if(k.getx()>70&&k.gety()>20)
{
message3();
cout<<" 你已经走过了,再按 a 向左走。。 "<<endl;
}
if(k.getx()==75&&k.gety()==22)
{
message3();
cout<<" 按 w 向前走一段距离"<<endl;
}
if(k.getx()==75&&k.gety()==20)
{
message3();
cout<<" 按 a 向左拐"<<endl;
}
if(k.gety()<20)
{
message3();
cout<<" 按 s 向南走"<<endl;
}
if(k.getx()==70&&k.gety()==20)
{
cout<<" 你终于来到了田不易的门外!"<<endl;
message3();
c.baise();
cout<<" 待续 . . ."<<endl;
exit(0);
}
}
void NPC::npc2_penglai()//..................吸血虫和毒蝎
{
if(k.gety()<45&&k.gety()>26)
{
c.Hongse();
int s=k.gety()%10;
if(s!=0){
message3();
cout<<" "<<s;
c.anhuangse();
cout<<"只";
c.Hongse();
cout<<"『吸血虫』";
c.anhuangse();
cout<<"趁你不注意,爬到你的脖子上!,并疯狂的吸取你血液!"<<endl;
cout<<" 按";
c.Hongse();
cout<<"X";
c.anhuangse();
cout<<"键甩掉身上的";
cout<<"『吸血虫』";
cin>>k.W;
switch(k.W[0])
{
case 'x':
message3();
c.anqingse();
cout<<" 你身上的『吸血虫』已经被甩掉!,但你的血值丢失5,好象还中了毒!"<<endl;
cout<<" 不过还好,前面有随处可见的";
c.qingse();
cout<<"『强酸花』";
c.anqingse();
cout<<"专门化解此毒素";
cout<<"\n";
//if(s==)
k.setHP(k.getHP()-5);
k.shuxing();
break;
default:
message3();
cout<<"\n";
c.Hongse();
cout<<"『吸血虫』";
c.huangse();
cout<<"已经喝足你的血液,掉落在黑漆漆的地面上,瞬间消失~!";
cout<<"\n";
message3();
c.Hongse();
cout<<"由于你没有及时甩掉『吸血虫』,导致你的血值丢失10"<<endl;
k.setHP(k.getHP()-10);
k.shuxing();
break;
} }
}
}
void NPC::npc3_penglai()//骷髅战士
{
if(k.gety()>44){
message();//安全信息提示
}
if(k.gety()==44)//---------------------------------怪物1
{
npc1_penglai();
}
if(k.gety()==42)
{
c.anqingse();
cout<<" 洞内静的可怕,只能听见自己的心跳声!要想去";
c.Hongse();
cout<<" 蓬莱(乌龙)";
c.anqingse();
cout<<"学得招数道行,实不容易~!"<<endl;
c.anbaise();
cout<<" 按 w或a或d键继续行走....";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -