enemyobj.cpp

来自「一个用来交作业用的」· C++ 代码 · 共 82 行

CPP
82
字号
#include "StdAfx.h"
#include ".\enemyobj.h"

EnemyObj::EnemyObj(void)
{
	State=0;
}

EnemyObj::EnemyObj(HIMAGELIST Enemy,HIMAGELIST Bomb)
{
	State=0;
	imgEnemy=Enemy;
	imgBomb=Bomb;
	SetImgList(imgEnemy);
}

void EnemyObj::Init(HIMAGELIST Enemy,HIMAGELIST Bomb)
{
	State=0;
	imgEnemy=Enemy;
	imgBomb=Bomb;
	SetImgList(imgEnemy);
	XV=-5;
	XPos=Bound.right+rand()%700;
	YPos=rand()%(Bound.bottom-Bound.top);
	SetHide(FALSE);
}

EnemyObj::~EnemyObj(void)
{
}

void EnemyObj::SetImgList(HIMAGELIST imglist)
{
    this->ImgList=imglist;
	this->FramesCount=ImageList_GetImageCount(imglist);
	ImageList_GetIconSize(imglist,&ImgWidth,&ImgHeight);
	CurrentFrame=0;
	XV=YV=0;
	Hide=TRUE;
}

void EnemyObj::NextState()
{
	Obj::NextState();
	if (State>0)//bomb
	{
		if (State>=4)
		{
			State=0;
			SetImgList(imgEnemy);
			SetHide(FALSE);
			XPos=Bound.right+rand()%700;
			YPos=rand()%(Bound.bottom-Bound.top);
			XV=-5;
		}
		if (CurrentFps==0) State++;
	}
	else
	{
		if (IsOutBound())
		{
			XPos=Bound.right+rand()%700;
			YPos=rand()%(Bound.bottom-Bound.top);
		}
		YPos+=((rand()&16)-8);
		SetHide(FALSE);
	}
	CurrentFps=(CurrentFps+1)%fps;
	if (CurrentFps==0) this->NextFrame();
}

void EnemyObj::Kill()
{
	if (State==0)
	{
		State=1;
		SetImgList(imgBomb);
		SetHide(FALSE);
		XV=YV=0;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?