📄 attack.cpp
字号:
#include "stdio.h"
#include "ATTACK.h"
#include "iostream"
using namespace std;
Fight :: Fight()
{
round = 1;//战斗回合
}
//战斗逻辑
MY_HERO Fight :: playerattack(MY_HERO &hero,NPC &npc)
{
npc.InitNPC();
bool b = true;
cout<<" 与怪物遭遇" <<npc.boss.Guai_NAME<<endl;
while (b)
{
//攻击选择
if (round)
{
cout<<"请选择操作"<<endl;
cout<<"1键 雷电术 威力 20 消耗魔法10 "<<"2键 普通攻击 威力10 "<<"3键 火球术 威力20 消耗魔法20" <<
" 4键 五雷轰顶 威力20 消耗魔法30 "<<"5键 冰旋风 威力20 消耗魔法40" <<" 6键 狂龙紫电 威力30 消耗魔法50 \t" <<"7键 逃跑"<<endl;
cout<<"E键 使用物品"<<endl;
char c;
cin>>c;
switch(c)
{
case 'e':
break;
case '1':
cout<<"看招 雷电术!!!"<<endl;
hero.player1.hero_mp-=10;
if (hero.player1.hero_mp<=0)
{
hero.player1.hero_mp=0;
cout<<"魔法值不足"<<endl;
break;
}
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at + 10;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '2':
cout<<"看招 普通攻击!!!"<<endl;
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at + 15;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '3':
cout<<"看招 火球术!!!"<<endl;
hero.player1.hero_mp-=20;
if (hero.player1.hero_mp<=0)
{
hero.player1.hero_mp=0;
cout<<"魔法值不足"<<endl;
break;
}
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at + 5;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '4':
cout<<"看招 五雷轰顶!!!"<<endl;
hero.player1.hero_mp-=30;
if (hero.player1.hero_mp<=0)
{
hero.player1.hero_mp=0;
cout<<"魔法值不足"<<endl;
break;
}
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '5':
cout<<"看招 冰旋风!!!"<<endl;
hero.player1.hero_mp-=40;
if (hero.player1.hero_mp<=0)
{
hero.player1.hero_mp=0;
cout<<"魔法值不足"<<endl;
break;
}
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '6':
cout<<"看招 狂龙紫电!!!"<<endl;
hero.player1.hero_mp-=50;
if (hero.player1.hero_mp<=0)
{
hero.player1.hero_mp=0;
cout<<"魔法值不足"<<endl;
break;
}
if (npc.boss.Guai_HP>0)
{
int a=hero.player1.hero_at+10;
printf("怪物受到伤害%d\n",a);
}
npc.boss.Guai_HP -= hero.player1.hero_at;
round = 0;
if (npc.boss.Guai_HP <= 0)
{
cout<<npc.boss.Guai_NAME<<"怪物挂了!!!"<<endl;
hero.player1.hero_exp+=20;
hero.uplevel();
round = 1;
b = false;
}
break;
case '7':
cout<<"36技走为上策!闪!!"<<endl;
round = 1;
b = false;
break;
}
}
else
{
if (hero.player1.hero_hp>0)
{
int b=npc.boss.Guai_AT;
printf("英雄受到伤害%d\n",b);
}
hero.player1.hero_hp-=npc.boss.Guai_AT;
if (hero.player1.hero_hp<=0)
{
cout<<"胜败乃兵家长事,大侠请重新来过!"<<endl;
exit(1);
}
round = 1;
}
}
return hero;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -