📄 snakeframe.h
字号:
#if !defined(AFX_SNAKEFRAME_H__18388470_8261_4C7A_B7AC_00F2526B7119__INCLUDED_)
#define AFX_SNAKEFRAME_H__18388470_8261_4C7A_B7AC_00F2526B7119__INCLUDED_
// Added by ClassView
#include "snakeNode.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// snakeFrame.h : header file
//
#define ST_PRE 0
#define ST_PLAY 1
/////////////////////////////////////////////////////////////////////////////
// snakeFrame frame
#define UP 6
#define DOWN 7
#define LEFT 8
#define RIGHT 9
class snakeFrame : public CFrameWnd
{
DECLARE_DYNCREATE(snakeFrame)
protected: // protected constructor used by dynamic creation
// Attributes
public:
snakeFrame();
// Operations
public:
bool foodValid(Node fdNode);
bool AddHead(int orient);
void NewFood();
void EatFood();
void DrawSnake(CDC *pDC);
void DeleteTail();
void MoveTo(int st);
void GameOver();
void GameBegin();
bool NodeValid(Node *skNode);
friend class snakeFrame;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(snakeFrame)
protected:
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~snakeFrame();
// Generated message map functions
//{{AFX_MSG(snakeFrame)
afx_msg void OnPaint();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
int m_gameState;
int m_state;
int m_nElapse;
int m_nScore;
Node *m_snakeTail;
Node *m_snakeHead;
Node m_foodNode;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SNAKEFRAME_H__18388470_8261_4C7A_B7AC_00F2526B7119__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -