protected:
    afx_msg void OnPaint();
    afx_msg void OnTimer(UINT nIDEvent);
    afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
    DECLARE_MESSAGE_MAP()
};
#endif
B:通过前面类的声明,已经知道主游戏类中包含了几个基本函数,如构造,析构,绘图和接受键盘等。这些都是主游戏窗口类基础用于构成对话框,处理图片的显示和人机交互的过程。其代码如下:
#include "stdafx.h"
#include "SnakeGame.h"
#include "Resource.h"
#include "Rule.h"
#include "HeroDlg.h"
// Download by http://down.liehuo.net
CSnakeGame::CSnakeGame()
{
    m_nScore = 0;
    m_psFood.x = 30;
    m_psFood.y = 30;
    m_nHighScore = 0;
}

CSnakeGame::~CSnakeGame()
{
}

// 消息映射表
BEGIN_MESSAGE_MAP( CSnakeGame, CWnd )
//{{AFX_MSG_MAP(CSnakeGame)
ON_WM_PAINT()
ON_WM_TIMER()
ON_WM_KEYUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////
// 初始化果实
//////////////////////////////////////////////////////////////////////////
void CSnakeGame::InitFoods()
{    
    int m_ysX,m_ysY;
    while(1)
    {
        m_ysX=rand()%28;          //随机生成横坐标使其与贪吃蛇的身体可以接上
        m_ysY=rand()%28;          //随机生成纵坐标使其与贪吃蛇的身体可以接上
        for(int i=0;i<=m_body.GetUpperBound();i++)
        {
            CPoint ysPoint1=m_body.GetAt(i);      //获取贪吃蛇的身体坐标
            if(ysPoint1.x!=m_ysX||ysPoint1.y!=m_ysY)//如果身体的横坐标或纵坐标与果实的横纵坐标相同
            {
                m_psFood = CPoint(m_ysX, m_ysY);//将随机出现的坐标记录为果实坐标
                return;
            }
        }
    }
}
//////////////////////////////////////////////////////////////////////////
// 设置游戏等级
//////////////////////////////////////////////////////////////////////////
void CSnakeGame::SetGameLevel(int level)
{
    m_nlevel = level;
}
//////////////////////////////////////////////////////////////////////////
// 开始游戏函数
//////////////////////////////////////////////////////////////////////////
BOOL CSnakeGame::GameStart()
{
    int nSleep = LOW_LEVEL_SLEEP;

    char pszTmp[128] = {0};

    switch(m_nlevel)
    {
    case GAME_LEVEL_HIGH:
        nSleep = HIGH_LEVEL_SLEEP;
        break;
    case GAME_LEVEL_NOR:
        nSleep = NOR_LEVEL_SLEEP;
        break;
    }

    GetPrivateProfileString("HERO", "score", "0",
上一篇:C#公司销售薪资系统设计+需求分析+ER图
下一篇:asp.net操作系统教学网站设计论坛模块

vc++几种排序算法演示软件实现

VC++在线学习平台的设计

VC++BlackList的主机防火墙设计+源代码

VC++五子棋游戏的设计

VC++基于GPU高光谱图像目标检测方法

基于VC++五子连珠游戏的设计

基于VC++俄罗斯方块游戏的设计

AT89C52单片机的超声波测距...

10万元能开儿童乐园吗,我...

志愿者活动的调查问卷表

承德市事业单位档案管理...

神经外科重症监护病房患...

公寓空调设计任务书

C#学校科研管理系统的设计

医院财务风险因素分析及管理措施【2367字】

中国学术生态细节考察《...

国内外图像分割技术研究现状