C++原始碼遊戲程式設計---WinMain()函式集(轉)
C++原始碼遊戲程式設計---WinMain()函式集(轉)[@more@] C++原始碼遊戲程式設計--WinMain()函式交流 //****************************************************************** //函式:WinMain() //功能:應用程式入口 //****************************************************************** int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; hInst=hInstance; //初始化主視窗 if (!InitWindow( hInstance, nCmdShow)) return FALSE; //初始化DirectDraw環境 if (!InitDDraw()) { MessageBox(hWndMain, "初始化DirectDraw過程中出錯!", "Error", MB_OK); FreeObjects(); DestroyWindow(hWndMain); return FALSE; } //進入訊息迴圈 while(1) { if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam; TranslateMessage(&msg); DispatchMessage(&msg); } else if(bActive) { UpdateFrame(); } else WaitMessage(); } return msg.wParam; } /////////////////////////////////////////////// //----------------------------------------------------------------------------- // Name: WinMain() // Desc: Initialization, message loop //----------------------------------------------------------------------------- int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; if (InitApp(hInstance, nCmdShow) != DD_OK) return FALSE; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } ///////////////////////////////////////////////////////////////////////////////////////////// // 主迴圈 ///////////////////////////////////////////////////////////////////////////////////////////// int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow) { MSG msg; if(!InitApp(hInst, nCmdShow)) return FALSE; while(1) { if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam; TranslateMessage(&msg); DispatchMessage(&msg); } else if(bActive) { Update(); // 翻轉上一層緩衝區內容到螢幕。 Screen->Flip(); } else WaitMessage(); } } //////////////////////////////////////////////// /////////////////////////////////////////////////// int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // any windows programmer should be familiar with this MSG msg; lpCmdLine = lpCmdLine; hPrevInstance = hPrevInstance; if(!doInit(hInstance, nCmdShow)) { return FALSE; } while (1) { if(PeekMessage(&msg, NULL, 0,0,PM_NOREMOVE)) { if(!GetMessage(&msg, NULL,0,0)) return msg.wParam; TranslateMessage(&msg); DispatchMessage(&msg); } else if(bActive) { fire(480, 0, 600, 50); // draw fire on bottom row and then flip while(1) { ddrval = lpDDSPrimary->Flip(NULL, DDFLIP_WAIT); if(ddrval == DD_OK) { break; } if(ddrval == DDERR_SURFACELOST) { if(ddrval != DD_OK) { break; } } if(ddrval != DDERR_WASSTILLDRAWING) { break; } } } // if bActive else { //make sure we go to sleep if have nothiing to do WaitMessage(); } } } // win main ////////////////////////////////////////////// //----------------------------------------------------------------------------- // Name: WinMain() // Desc: 入口,初始化,進行訊息迴圈 //----------------------------------------------------------------------------- int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; if (InitApp(hInstance, nCmdShow) != DD_OK) return FALSE; Map[0].Width=width; Map[0].Hight=height; Map[0].Data=(char *)malloc( Map[0].Width * Map[0].Hight ); Map[0].Pro=(char *)malloc( Map[0].Width * Map[0].Hight ); //將地圖全部置為可到達 int i,j; reachable=1; for (j=0;j
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951669/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++(STL原始碼):37---仿函式(函式物件)原始碼剖析C++原始碼函式物件
- 集體智慧程式設計-原始碼程式設計原始碼
- 高質量C++/C程式設計指南(第6章 函式設計) (轉)C++C程式程式設計函式
- 函式程式設計函式程式設計
- 【C++】【原始碼解讀】std::is_same函式原始碼解讀C++原始碼函式
- 高質量C++/C程式設計指南(第8章 C++函式的高階特性) (轉)C++C程式程式設計函式
- 高質量C++/C程式設計指南(第9章 類的建構函式、解構函式與賦值函式) (轉)C++C程式程式設計函式賦值
- scala 函式程式設計函式程式設計
- 函式程式設計之道函式程式設計
- [CUJ]泛型程式設計--轉移建構函式 (轉)泛型程式設計函式
- C++的函式和模板函式 (轉)C++函式
- Perl在CGI程式設計中常用的函式 (轉)程式設計函式
- 【趣解程式設計】函式程式設計函式
- Windows 程式設計常用函式Windows程式設計函式
- 函數語言程式設計 - 玩轉高階回撥函式函數程式設計函式
- Zepto 原始碼分析 3 - qsa 實現與工具函式設計原始碼函式
- C++原始碼免殺之函式的動態呼叫C++原始碼函式
- [C++] 氣泡排序的模板函式設計C++排序函式
- 混沌 IN C++::轉換函式C++函式
- JS 命令式 宣告式 函式式 程式設計?JS函式程式設計
- 從 Redux 原始碼談談函數語言程式設計Redux原始碼函數程式設計
- C++的函數語言程式設計C++函數程式設計
- C++遊戲程式設計(一開篇)C++遊戲程式設計
- 魔方遊戲程式設計 (轉)遊戲程式設計
- UNIX系統程式設計常用庫函式說明(轉)程式設計函式
- UNIX安全程式設計及庫函式說明(轉)程式設計函式
- 函數語言程式設計-鏈式程式設計RAC函數程式設計
- 不用任何賦值的程式設計稱為*函式式*程式設計賦值程式設計函式
- [轉]oracle日期函式集錦Oracle函式
- 揚帆起航:從指令式程式設計到函式響應式程式設計程式設計函式
- scala簡明教程:偏函式、高階函式、Future非同步程式設計、隱式轉換函式非同步程式設計
- select函式socket程式設計函式程式設計
- C++詞彙集錦程式設計人必備C++程式設計
- 函式式思維和函數語言程式設計函式函數程式設計
- Effective C++:類與函式的設計和申明C++函式
- 《高質量C++/C程式設計指南》第9章:類的建構函式、解構函式與賦值函式C++C程式程式設計函式賦值
- c++ operator typename 轉換函式C++函式
- 13.程式程式設計進階:函式程式設計函式