⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 attack.cpp

📁 一款c++ 文字MUD游戏 比较适合新手学习
💻 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 + -