📄 cbug.cpp
字号:
#include "time.h"
#include "bitmap.h"
#include "CBug.h"
#include "uniform.h"
CBug::CBug()
{
hp=0;
alive=FALSE;
Bigorsmall=0;
Speed=0;
x=0;
y=0;
}
void CBug::create(SimpleWindow &W,float &HP,float &bigsmall,float &speed,float &X,float &Y)
{
bmp.SetWindow(W);
hp=HP;
alive=TRUE;
Drection=Uniform(0,3);
Bigorsmall=bigsmall;
Speed=speed;
x=X;
y=Y;
}
void CBug::Action()
{
Draw();
Move();
if(Uniform(0,9)==0)
ChangeDrection();
}
void CBug::Draw()
{
bmp.Erase();
if(Bigorsmall==0)
switch(Drection)
{
case 0:
bmp.Load("slowBug1.bmp");
break;
case 1:
bmp.Load("slowBug2.bmp");
break;
case 2:
bmp.Load("slowBug3.bmp");
break;
case 3:
bmp.Load("slowBug4.bmp");
break;
default:
break;
}
else if(Bigorsmall==1)
switch(Drection)
{
case 0:
bmp.Load("fastBug1.bmp");
break;
case 1:
bmp.Load("fastBug2.bmp");
break;
case 2:
bmp.Load("fastBug3.bmp");
break;
case 3:
bmp.Load("fastBug4.bmp");
break;
default:
break;
}
Position pos;
pos.SetXDistance(x);
pos.SetYDistance(y);
bmp.SetPosition(pos);
bmp.Draw();
}
void CBug::Move()
{
switch(Drection)
{
case 0:
if(y>Speed)
y-=Speed;
else
ChangeDrection();
break;
case 1:
if(x<18-Speed)
x+=Speed;
else
ChangeDrection();
break;
case 2:
if(y<15-Speed)
y+=Speed;
else
ChangeDrection();
break;
case 3:
if(x>Speed)
x-=Speed;
else
ChangeDrection();
break;
default:
break;
}
}
void CBug::ChangeDrection()
{
Drection=Uniform(0,3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -