文件名称:贪吃蛇 c语言代码 实现。
文件大小:398KB
文件格式:RAR
更新时间:2015-12-20 05:21:51
贪吃蛇 c语言代码 实现。
//游戏状态定义 #define GAME_STATE_WAIT 0 //游戏等待状态 #define GAME_STATE_RUN 1 //游戏运行状态 #define GAME_STATE_END 2 //游戏结束状态 //界面相关物件尺寸定义 #define WALL_WIDTH 80 //外墙从左部到游戏区的宽度 #define WALL_HEIGHT 80 //外墙从顶部到游戏区的高度 #define BMP_SCORE_BOARD_WIDTH 256 //分数位图板的宽度 #define BMP_SCORE_BOARD_HEIGHT 55 //分数位图板的高度 #define BMP_WALL_WIDTH 16 //墙位图的宽度 #define BMP_WALL_HEIGHT 16 //墙位图的高度 LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam,LPARAM lParam); void DrawGame(void); void ShellDraw( HDC hdc ); void GameAreaDraw(HDC hdc); void OnTimer(UINT uTIMER_ID); void StartGame( void ); void EndGame( void ); //创建一个桌子 CTable table; int tableBlockWidth = 0; //桌子的格子的宽度 int tableBlockHeight = 0; //桌子的格子的高度 int iScores = 0; //游戏的得分 UINT uGameState = GAME_STATE_WAIT; //当前游戏状态 HDC windowDC = NULL; //windows屏幕设备 HDC bufferDC = NULL; //缓冲设备环境 HDC picDC = NULL; //snake图像内存设备 HDC endDC = NULL; //游戏终结图像内存设备 HDC scoreDC = NULL; //分数板内存设备 HWND hAppWnd = NULL; //本application窗口句柄 HBITMAP picBMP = NULL; //snake图像位图句柄 HBITMAP bufferBMP = NULL; //缓冲位图句柄 HBITMAP endBMP = NULL; //游戏终结图像内存句柄 HBITMAP hbmpWall = NULL; //墙位图句柄 HBITMAP hbmpScore = NULL; //分数板位图句柄 HBRUSH hbrushWall = NULL; //墙画刷 //定时器标识 UINT uSnakeMoveTimer; //蛇的移动 UINT uFoodAddTimer; //水果的产生
【文件预览】:
skyblue_Snake
----Snake.opt(55KB)
----snake.vsd(267KB)
----Snake.dsp(4KB)
----icon1.ico(766B)
----scoreboard.bmp(15KB)
----snake.h(2KB)
----table.cpp(2KB)
----snake.bmp(6KB)
----Snake.dsw(533B)
----snaker.rc(2KB)
----x.bmp(6KB)
----main.cpp(12KB)
----Snake.ncb(81KB)
----snaker.h(590B)
----snaker.aps(41KB)
----brick.bmp(1KB)
----table.h(1KB)
----Debug()
--------Snake.pdb(425KB)
--------Snake.pch(210KB)
--------snaker.res(24KB)
--------table.obj(10KB)
--------vc60.idb(137KB)
--------main.obj(34KB)
--------Snake.ilk(245KB)
--------snake.obj(14KB)
--------vc60.pdb(76KB)
--------Snake.exe(240KB)
----Snake.plg(2KB)
----bitmap1.bmp(6KB)
----end.bmp(325KB)
----snake.cpp(8KB)