菜单
  

    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",
  1. 上一篇:C#公司销售薪资系统设计+需求分析+ER图
  2. 下一篇:asp.net操作系统教学网站设计论坛模块
  1. 基于VC++的GIS矢量图形系统开发

  2. VC++的高速数据采集系统的软件设计

  3. C#贪吃蛇游戏的设计+源代码

  4. VC++局域网远程控制软件的设计

  5. VC++局域网监控系统的设计与实现

  6. VC++电能质量监测系统设计

  7. VC++网络版中国象棋的设计

  8. 大众媒体对公共政策制定的影响

  9. 当代大学生慈善意识研究+文献综述

  10. 十二层带中心支撑钢结构...

  11. 中考体育项目与体育教学合理结合的研究

  12. 杂拟谷盗体内共生菌沃尔...

  13. 电站锅炉暖风器设计任务书

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. 乳业同业并购式全产业链...

  16. java+mysql车辆管理系统的设计+源代码

  17. 河岸冲刷和泥沙淤积的监测国内外研究现状

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回