贪吃蛇游戏
2010-01-09 20:31:35 来源:WEB开发网本文配套源码
这又是一个贪吃蛇游戏,只不过算法有一点特别。运行得还是很好的。每个结点都有自己的颜色,是动态生成的。不同的颜色有不同的分数.每个结点是一个类,而蛇又是一个类。这样程序的独立和可移植 性很强。每个对结点是一个类,也就是一个结构。包含自身的信息,有颜色,转角坐标列表。
class CSnake;
typedef enum{UP=1,DOWN,LEFT,RIGHT,Error} Direction;
typedef struct tagData{
Direction dirt;
CPoint pot;
} Data;
typedef CList DirectionList;
class CNode : public CObject
{
private:
CPoint m_Point;
Direction m_CurrentDirection;//当前的运动方向
DirectionList m_List;
COLORREF m_Color;
int m_nColorIndex;
friend CSnake;
public:
CNode();
virtual ~CNode();
void SetDirection(int nx, int ny);
void SetDirection(CPoint point);
COLORREF GetColor(void);
void SetColor(COLORREF color);
void AddDirection(Data* eValue);
Data* RemoveHead(void);
void SetColor(int index);
int GetColorIndex(void);
void SetCurrentDirection(Direction dirt);
Direction GetCurrentDirection(void);
void Change(CPoint& point);
Data* GetHead(void);
};
在CSnake类派生于CWnd是为了建立一个不可见的窗口,用来完成计时器的功能。这里还有一个dll,用来生成一个钩子。来完成得到键盘的操作。如果不这样作的话。游戏区(CEdit)会有光标闪动。当然 钩子也不一定要用dll,因为这是一个自己程序的钩子。用它只是用来练手的。就这么多吧。很简单的。
- ››游戏定位成牵引Android发展的火车头
- ››游戏场景烘焙贴图制作
- ››游戏植物大战僵尸 iPhone 版9天销售额超100万美元...
- ››游戏开发包 iPhone cocos2d 初体验
- ››贪吃蛇游戏
- ››游戏三维怪物施法特效教程
- ››游戏人生Silverlight(2) - 趣味钢琴[Silverlight ...
- ››游戏人生Silverlight(3) - 打苍蝇[Silverlight 2....
- ››游戏人生Silverlight(4) - 连连看[Silverlight 2....
- ››游戏人生Silverlight(5) - 星际竞技场[Silverligh...
- ››游戏《封神榜》人物纣王3DMAX制作全过程
- ››游戏加速器中的领头羊-网际速递
更多精彩
赞助商链接