“贪吃蛇”游戏程序代码
LT
“贪吃蛇”游戏程序代码
我个人是比较喜欢玩游戏的,所以学习编程二年多了,很想做个游戏程序,由于能力有限,一直没能做好,后来突然看同学在手机上玩“贪吃蛇”,故想做出 来,其一是因为此游戏界面容易设计,算法也比较简单,今天我就把我程序的代码和算法介绍一下,顺便把程序界面皮肤设计说一下......
程序中一个关于游戏信息的类如下,由于类的说明在程序中写的很清楚了,就不再多解释了:#include ""
//方向定义
const CPoint UP(CPoint(0,-1));
const CPoint DOWN(CPoint(0,1));
const CPoint LEFT(CPoint(-1,0));
const CPoint RIGHT(CPoint(1,0));
//速度快慢定义
const int HIGH = 75;
const int NORMAL = 180;
const int SLOW = 300;
const int MAX = 80; //表示转向数
const int LENGTH = 10;
class GameMsg
{
public:
GameMsg(void)
: m_icon(0)
{
InitGame();
}
void InitGame(int up = VK_UP, int down = VK_DOWN, int left = VK_LEFT, int right = VK_RIGHT)
{
srand((unsigned)time(NULL));
m_gameSpeed = NORMAL;
m_speedNum = 2;
m_snakeNum = 4;
for(int i=0; i<m_snakeNum; ++i)
m_snakePoint[i] = CPoint(5+LENGTH*2*5+LENGTH,LENGTH*2*(i+5));
m_run = true;
m_direction = RIGHT;
turnUP = up;
turnDOWN = down;
turnLEFT = left;
turnRIGHT = right;
}
public:
int m_gameSpeed;//游戏速度
int m_speedNum;//游戏速度数
CPoint m_foodPoint; //食物定义
bool m_run;//游戏状态,运得态还是暂停(结束)态
CPoint m_snakePoint[MAX]; //蛇身定义
m_staticArray[i].SetWindowPos( NULL, [i].x - LENGTH, [i].y - LENGTH, [i].x + LENGTH, [i].y + LENGTH,
SW_SHOW);
}
for(int j=1; j<; ++j)//当蛇撞到自己也结束游戏if([0] == [j])
{
GameOver();
}
m_staticArray[MAX].ModifyStyle(0xF,SS_ICON | SS_CENTERIMAGE);//显示水果 m_staticArray[MAX].SetIcon(AfxGetApp()->LoadIcon());
m_staticArray[MAX].SetWindowPos( NULL, , , 32, 32,
SW_SHOW);
//当蛇吃到水果
if([0].x < +20+LENGTH && [0].x >
“贪吃蛇”游戏程序代码 来自淘豆网m.daumloan.com转载请标明出处.