📄 monster.cpp
字号:
#include "Monster.h"
CMonster::CMonster(void)
{
}
//初始化怪物的坐标和活动范围
CMonster::CMonster(string name,
int nHP,
int nMP,
int nCurrentHP,
int nCurrentMP,
int nAttack,
int nDefence,
int nMoney,
unsigned unExperience,
int nMinPosX,
int nMaxPosX,
int nMinPosY,
int nMaxPosY,
string strSkill):CRoleBase(name,nHP,nMP,nCurrentHP,
nCurrentMP,nAttack,nDefence,nMoney,unExperience)
{
m_nMinPosX = nMinPosX;
m_nMaxPosX = nMaxPosX;
m_nMinPosY = nMinPosY;
m_nMaxPosY = nMaxPosY;
m_strSkill = strSkill;
m_nMonsterLive = 1;//默认怪物是活的
m_nCurPosX = (rand()%(nMaxPosX - nMinPosX + 1)) + nMinPosX;
if (m_nCurPosX%2 != 0)//控制好怪物和人在同一垂直线上
{
m_nCurPosX -= 1;
}
m_nCurPosY = (rand()%(nMaxPosY - nMinPosY + 1)) + nMinPosY;
}
CMonster::~CMonster(void)
{
}
//怪物随机移动
void CMonster::MonsterMove()
{
int nPosition;
nPosition = rand()%4;//随机产生怪物的活动方向(0:上;1:下;2:左;3:右)
switch (nPosition)
{
case 0:
if (m_nCurPosY > m_nMinPosY)
{
this->m_nCurPosY -= 1;
}
break;
case 1:
if (m_nCurPosY < m_nMaxPosY)
{
this->m_nCurPosY += 1;
}
break;
case 2:
if ((m_nCurPosX-2) > m_nMinPosX)
{
this->m_nCurPosX -= 2;
}
break;
case 3:
if ((m_nCurPosX+2) < m_nMaxPosX)
{
this->m_nCurPosX += 2;
}
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -