📄 bug.h
字号:
// Bug.h: interface for the Bug class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_BUG_H__A2C36864_6B91_4777_B03E_D7603FA3FC23__INCLUDED_)
#define AFX_BUG_H__A2C36864_6B91_4777_B03E_D7603FA3FC23__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "bitmap.h"
#include "randint.h"
bool operator<(const BitMap &p, const BitMap &q);
bool operator==(const BitMap &p, const BitMap &q);
enum Direction {Up, Down, Left, Right };
const int BugBitMaps = 4;
class Bug {
public:
Bug(SimpleWindow &w, int HitsNeeded = 3,
int DirectionChangeProbability = 50);
bool IsHit(const Position &MousePosition);
bool IsDying();
void Create();
void Kill();
virtual void Move() = 0;
protected:
// Bug inspectors
SimpleWindow& GetWindow() const;
Position GetPosition() const;
Direction GetDirection() const;
float GetHorizMovement() const;
float GetVertMovement() const;
int GetDirectionChangeProbability() const;
BitMap& GetBmp(const Direction &d);
const BitMap& GetBmp(const Direction &d) const;
// Bug mutators
void SetWindow(SimpleWindow &w);
void SetDirection(const Direction &d);
void SetHorizMovement(float h);
void SetVertMovement(float v);
void Draw();
void Erase();
void SetPosition(const Position &p);
void ChangeDirection();
Position NewPosition() const;
bool AtRightEdge() const;
bool AtLeftEdge() const;
bool AtBottomEdge() const;
bool AtTopEdge() const;
RandomInt GeneratePercentage;
private:
// Data members
SimpleWindow &Window;
vector<BitMap> Bmp;
float HorizMovement;
float VertMovement;
int HitsRequired;
int HitsTaken;
int DirectionChangeProbability;
Direction CurrentDirection;
Position CurrentPosition;
};
class SlowBug : public Bug {
public:
SlowBug(SimpleWindow &w, int HitsNeeded = 4,
int DirectionChange = 10);
void Move();
};
class FastBug : public Bug {
public:
FastBug(SimpleWindow &w, int HitsNeeded = 3,
int DirectionChangeProbability = 20);
void Move();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -