Funcode-贪吃蛇

自己编写的一个小游戏,本来打算做贪吃蛇,结果不会使蛇的身子随蛇头方向改变而改变就换了种想法,最后变成了这样一个另类的小游戏,“笑哭“,下面是程序的主要代码,如果有兴趣也可以下载完整程序代码资源:https://download.youkuaiyun.com/download/yt201758501112/10488198

Lessonx.h

/////////////////////////////////////////////////////////////////////////////////

//
//
//
//
/////////////////////////////////////////////////////////////////////////////////
#ifndef _LESSON_X_H_
#define _LESSON_X_H_
//
#include <Windows.h>
#include <stdio.h>
#include <vector>
using namespace std;
/////////////////////////////////////////////////////////////////////////////////
//
// 游戏总管类。负责处理游戏主循环、游戏初始化、结束等工作
class CGameMain
{
private:
int m_iGameState; // 游戏状态,0:结束或者等待开始;1:初始化;2:游戏进行中
    CSprite * m_pControlSnake;         //定义蛇头部精灵
    CSprite * m_pSnakebody1;            //定义一节蛇身
    CSprite * tmpsprite;             //定义两个中间变量精灵
    CSprite * tmpsprite1;
    vector<CSprite*>  m_pSnakefood;      //定义食物精灵组
    vector<CSprite*>  m_pzhangai;        //定义障碍精灵组
    CTextSprite * m_pStarttext;      //定义开始文本精灵
    CTextSprite * m_pgamescore;      //定义分数文本精灵
    CTextSprite * m_plevel;        //定义级别文本精灵
    CSprite * m_pgameover;          //定义游戏结束时背景精灵
    CSprite * m_pbeijing;          //定义开始时背景精灵
    CTextSprite * m_ptime;         //定义游戏时间文本精灵
    CTextSprite * m_pend1;         //定义文本精灵
    CTextSprite * m_pend2;
    CSound * m_bjmusic;          //定义音效精灵
    CSound * m_eatmusic;
    int m_foodminX;        //定义食物出现的最小X坐标
    int m_foodmaxX;         //定义食物出现的最大X坐标
    int m_foodminY;         //定义食物出现的最小Y坐标
    int m_foodmaxY;         //定义食物出现的最大Y坐标
    int m_foodcount;        //定义食物出现的数目
    int m_zhangaimaxY;      //定义障碍出现的最大Y坐标
    int m_zhangaiminY;      //定义障碍出现的最小Y坐标
    int m_zhangaicount;     //定义障碍出现的数目
    float DeltaTime;        //定义时间
    float speedsnake;       //定义蛇移动的速度
    int weizhi;        //定义需要的变量
    int judge;
    float speedbeijing;
    int t;
    char foodname[1000];      //定义需要存储的数组
    char zhangainame[1000];
    int fenshu;         //定义级别,分数
    int level;
    float mintime,maxtime;
    float basetime;
public:
CGameMain();            //构造函数
~CGameMain();           //析构函数


// Get方法
int GetGameState() { return m_iGameState; }


// Set方法
void SetGameState( const int iState ) { m_iGameState = iState; }


// 游戏主循环等
void GameMainLoop( float fDeltaTime );
void GameInit();
void GameRun( float fDeltaTime );
void GameEnd();
void OnMouseMove( const float fMouseX, const float fMouseY );
void OnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY );
void OnMouseUp( const int iMouseType, const float fMouseX, const float fMouseY );
void OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress );
void OnKeyUp( const int iKey );
void OnSpriteColSprite( const char *szSrcName, const char *szTarName );
void OnSpriteColWorldLimit( const char *szName, const int iColSide );
};


//////////////////

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值