实验报告范例

时间:2017-09-09 04:07:16
【文件属性】:

文件名称:实验报告范例

文件大小:3.22MB

文件格式:DOC

更新时间:2017-09-09 04:07:16

报告

源代码 在Main.cpp文件中 //----------------------------------------------------------------------------- // //----------------------------------------------------------------------------- #include "CommonAPI.h" #include #include float g_fDelayTime; int g_iMonkeys[6] = {1,2,3,4,5,6}; int g_iNumMokeys=6; int g_iNumLoseMonkeys=0; int g_iMoveMonkey = 0; int g_iChooseMonkey; int g_flocation[6]; int g_iGameState=0; /////////////////////////////////////////////////////////////////////////////////////////// // // 主函数入口 // ////////////////////////////////////////////////////////////////////////////////////////// int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 初始化游戏引擎 if( !dInitGameEngine( hInstance, lpCmdLine ) ) return 0; // 游戏初始化代码 dSetWindowTitle("猴子选大王"); char* szName; int i; float x,y; for(i=0;i<6;i++) { szName = dMakeSpriteName("monkey",g_iMonkeys[i]); x = -40+i*16; y = -3; dSetSpritePosition(szName,x,y); g_flocation[i] = x; } // 引擎主循环,处理屏幕图像刷新等工作 while( dEngineMainLoop() ) { // 获取两次调用之间的时间差,传递给游戏逻辑处理 float fTimeDelta = dGetTimeDelta(); if(g_iMoveMonkey > 0) { g_fDelayTime -= fTimeDelta; if(g_fDelayTime<0) { g_fDelayTime = 1; char *szName = dMakeSpriteName("monkey",g_iMonkeys[g_iChooseMonkey]); dSetSpritePosition(szName, g_flocation[g_iChooseMonkey],-3); g_iChooseMonkey++; g_iMoveMonkey--; } } else if(g_iNumMokeys > 1 && g_iGameState != 0) { g_iGameState = 1; } else if(g_iGameState != 0) { g_iGameState = 0; dSetSpriteVisible("start",true); } }; // 关闭游戏引擎 dShutdownGameEngine(); return 0; } //========================================================================== // // 引擎捕捉鼠标移动消息后,将调用到本函数 void dOnMouseMove( const float fMouseX, const float fMouseY ) { // 可以在此添加游戏需要的响应函数 } //========================================================================== // // 引擎捕捉鼠标点击消息后,将调用到本函数 void dOnMouseClick( const int iMouseType, const float fMouseX, const float fMouseY ) { // 可以在此添加游戏需要的响应函数 } //========================================================================== // // 引擎捕捉键盘按下消息后,将调用到本函数 // iAltPress iShiftPress iCtrlPress 分别为判断Shift,Alt,Ctrl当前是否也处于按下状态。比如可以判断Ctrl+E组合键 void dOnKeyDown( const int iKey, const int iAltPress, const int iShiftPress, const int iCtrlPress ) { if(iKey == KEY_SPACE && g_iGameState == 0){ //srand ( (unsigned) time (NULL) ); g_iGameState = 1; for(int i=0;i<6;i++) { g_iMonkeys[i] = i+1; char *szName = dMakeSpriteName("monkey",g_iMonkeys[i]); dSetSpritePosition(szName,g_flocation[i],-3); } g_iNumMokeys=6; g_iNumLoseMonkeys=0; dSetSpriteVisible("start",false); } else if(g_iNumMokeys>1 && iKey == KEY_SPACE && g_iGameState == 1) { g_iGameState = 2; g_iChooseMonkey = dRandomRange(0,g_iNumMokeys-1); char *szName = dMakeSpriteName("monkey",g_iMonkeys[g_iChooseMonkey]); dSetSpritePosition(szName,g_iNumLoseMonkeys*16-40,24); //将后面的monkey移上来 g_iMonkeys[g_iChooseMonkey] = -1; for(int i=g_iChooseMonkey+1;i


网友评论