2008年(909)
分类:
2008-05-06 22:34:24
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,因为这是一个自己程序的钩子。用它只是用来练手的。就这么多吧。很简单的。
图一
希望大家指点。
E-mail:Error_110@163.com
下载本文示例代码
贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏贪吃蛇游戏