資源描述:
《vc++程序--貪吃蛇部分源代碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、sourcecode:#include//main.cpp#include#include"snaker.h"#include"table.h"http://游戲狀態(tài)定義#defineGAME_STATE_WAIT0//游戲等待狀態(tài)#defineGAME_STATE_RUN1//游戲運行狀態(tài)#defineGAME_STATE_END2//游戲結(jié)束狀態(tài)//界面相關(guān)物件尺寸定義#defineWALL_WIDTH80//外墻從左部到游戲區(qū)的寬度#defineWALL_HEIGHT80//外墻從頂部
2、到游戲區(qū)的高度#defineBMP_SCORE_BOARD_WIDTH256//分?jǐn)?shù)位圖板的寬度#defineBMP_SCORE_BOARD_HEIGHT55//分?jǐn)?shù)位圖板的高度#defineBMP_WALL_WIDTH16//墻位圖的寬度#defineBMP_WALL_HEIGHT16//墻位圖的高度LRESULTCALLBACKWndProc(HWNDhWnd,UINTmessage,WPARAMwParam,LPARAMlParam);voidDrawGame(void);voidShellDraw(HDChdc
3、);voidGameAreaDraw(HDChdc);voidOnTimer(UINTuTIMER_ID);voidStartGame(void);voidEndGame(void);//創(chuàng)建一個桌子CTabletable;inttableBlockWidth=0;//桌子的格子的寬度inttableBlockHeight=0;//桌子的格子的高度intiScores=0;//游戲的得分UINTuGameState=GAME_STATE_WAIT;//當(dāng)前游戲狀態(tài)HDCwindowDC=NULL;//windows屏幕
4、設(shè)備HDCbufferDC=NULL;//緩沖設(shè)備環(huán)境HDCpicDC=NULL;//snake圖像內(nèi)存設(shè)備HDCendDC=NULL;//游戲終結(jié)圖像內(nèi)存設(shè)備HDCscoreDC=NULL;//分?jǐn)?shù)板內(nèi)存設(shè)備HWNDhAppWnd=NULL;//本application窗口句柄HBITMAPpicBMP=NULL;//snake圖像位圖句柄HBITMAPbufferBMP=NULL;//緩沖位圖句柄HBITMAPendBMP=NULL;//游戲終結(jié)圖像內(nèi)存句柄HBITMAPhbmpWall=NULL;//墻位圖句柄H
5、BITMAPhbmpScore=NULL;//分?jǐn)?shù)板位圖句柄HBRUSHhbrushWall=NULL;//墻畫刷//定時器標(biāo)識UINTuSnakeMoveTimer;//蛇的移動UINTuFoodAddTimer;//水果的產(chǎn)生//框架的位置數(shù)據(jù)定義//GDIRECT而不是MFCCRectRECTg_ClientRect;RECTg_GameValueRect;intg_iClientWidth;intg_iClientHeight;intWINAPIWinMain(HINSTANCEhCurrentInst,HIN
6、STANCEhPrevInstance,PSTRlpszCmdLine,intnCmdShow){WNDCLASSwndClass;HWNDhWnd;MSGmsg;UINTwidth,height;//定義窗口wndClass.style=CS_HREDRAW
7、CS_VREDRAW;wndClass.lpfnWndProc=WndProc;wndClass.cbClsExtra=0;wndClass.cbWndExtra=0;wndClass.hInstance=hCurrentInst;wndClass.hIcon=
8、LoadIcon(NULL,MAKEINTRESOURCE(IDI_MAIN));wndClass.hCursor=LoadCursor(NULL,IDC_ARROW);wndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndClass.lpszMenuName=NULL;wndClass.lpszClassName="Snake_CLASS";//注冊窗口RegisterClass(&wndClass);//取整個屏幕的尺寸width=GetSyst
9、emMetrics(SM_CXSCREEN);height=GetSystemMetrics(SM_CYSCREEN);//創(chuàng)建窗口hWnd=CreateWindow("Snake_CLASS","skybluesnake",WS_POPUP,0,0,width,height,NULL,NULL,hCurrentInst,NULL