C++開發之旅...................1
第1章 坦剋動蕩遊戲(GDIPlus + 碰撞檢測 + 自動尋路實現)................3 預備知識視頻講解:1小時56分 項目開發視頻講解:3小時17分 代碼解釋(在綫擴展講解):23段
1.1 開發背景................................6
1.2 係統功能設計............................6
1.2.1 係統功能結構 ....................6
1.2.2 係統業務流程 ....................7
1.3 創建項目..............................7
1.3.1 開發環境要求.....................7
1.3.2 遊戲所用資源介紹.................7
1.3.3 創建新項目.......................9
1.4 創建遊戲框架.........................14
1.4.1 創建遊戲主窗口..................14
1.4.2 遊戲核心框架類的建立............19
1.4.3 增加鼠標響應....................21
1.4.4 在遊戲窗口中使用遊戲核心功能...22
1.5 繪圖庫GDIPlus的使用..................24
1.5.1 繪圖庫的引入....................24
1.5.2 繪圖庫的初始化..................25
1.5.3 在屏幕上“畫”遊戲幀數..........25
1.5.4 引入圖片資源....................28
1.5.5 畫齣遊戲菜單背景................29
1.6 遊戲功能的詳細設計及使用舉例.........30
1.6.1 遊戲對象概述....................31
1.6.2 遊戲中可移動對象的設計..........31
1.6.3 設計遊戲菜單....................38
1.6.4 人機大戰與雙人大戰..............43
1.6.5 設計坦剋及子彈..................46
1.6.6 畫齣移動的坦剋..................49
1.6.7 自動尋路與碰撞檢測..............52
1.6.8 畫齣遊戲地圖,控製運行軌跡......54
1.7 實現完整的遊戲.......................59
1.7.1 引進所有遊戲對象的聲明..........61
1.7.2 聲明核心對象
—— CGame類的公有方法..........61
1.7.3 聲明私有方法....................62
1.7.4 實現公有方法....................66
1.7.5 實現初始化方法..................67
1.7.6 實現遊戲邏輯處理方法............71
1.7.7 實現遊戲繪圖處理方法............78
1.7.8 實現輔助方法....................80
1.7.9 在主窗口中完成全部遊戲功能......83
1.8 一起來找茬.............................86
1.9 本章總結.............................88
攻占C++大陸...............................89
第2章 桌麵破壞王遊戲(鼠標消息處理 + GDIPlus實現).................91 預備知識視頻講解:1小時15分 項目開發視頻講解:3小時16分 代碼解釋(在綫擴展講解):13段
2.1 開發背景...............................94
2.2 係統功能設計...........................94
2.2.1 係統功能結構 ...................94
2.2.2 係統業務流程 ...................94
2.3 遊戲主框架的設計與實現...............95
2.3.1 開發環境要求....................95
2.3.2 使用Visual Studio 2015
建立項目.........................95
2.3.3 使程序窗口遮擋整個桌麵.........101
2.4 重要工具模塊設計....................104
2.4.1 資源自動釋放模塊設計...........104
2.4.2 屏幕截圖工具設計...............106
2.4.3 遊戲計時器設計.................114
2.5 繪圖庫的使用........................117
2.5.1 引入繪圖庫“GDIPlus”頭文件....117
2.5.2 初始化繪圖庫...................118
2.5.3 繪製屏幕一角...................118
2.6 處理鼠標消息........................120
2.6.1 鼠標消息分析...................120
2.6.2 增加消息處理函數...............120
2.6.3 測試鼠標消息...................124
2.7 遊戲功能的總體設計..................125
2.7.1 遊戲功能預覽...................125
2.7.2 功能分析........................126
2.7.3 遊戲調度器CGame類設計..........126
2.7.4 引入資源圖片...................140
2.7.5 實現工具及破壞標記接口.........141
2.8 遊戲菜單的設計與實現................146
2.8.1 盒子的實現.....................146
2.8.2 “飛齣”的工具.................154
2.8.3 顯示遊戲菜單...................161
2.9 忍者工具的設計與實現................164
2.9.1 忍者破壞標記的設計與實現.......164
2.9.2 忍者的設計與實現...............167
2.9.3 使用忍者破壞桌麵...............180
2.10 粉刷匠工具的設計與實現.............183
2.10.1 粉刷匠粉刷痕跡的設計與實現....183
2.10.2 粉刷匠的設計與實現............185
2.10.3 使用粉刷匠破壞桌麵............192
2.11 錘子工具的設計與實現...............193
2.11.1 破碎效果的設計................193
2.11.2 錘子工具的設計................198
2.11.3 實現碎屏破壞效果..............205
2.12 橡皮擦工具的設計與實現.............206
2.12.1 橡皮擦擦除痕跡的設計與實現....206
2.12.2 橡皮擦的設計與實現............211
2.12.3 使用橡皮擦擦除屏幕............216
2.13 一起來找茬...........................217
2.14 本章總結...........................219
攻占C++大陸..............................221
第3章 快樂吃豆子遊戲(Win32繪圖 + 鍵盤消息處理實現)................223 預備知識視頻講解:1小時5分 項目開發視頻講解:1小時59分 代碼解釋(在綫擴展講解):19段
3.1 開發背景..............................226
3.2 係統功能設計..........................226
VIII
3.2.1 係統功能結構 ..................226
3.2.2 係統業務流程 ..................226
3.3 創建項目............................227
3.3.1 開發環境要求...................227
3.3.2 使用Visual Studio 2015創建
win32窗口程序..................227
3.3.3 製作遊戲窗口...................231
3.3.4 建立遊戲循環...................233
3.4 使用 GDI繪圖........................234
3.4.1 畫點............................234
3.4.2 畫綫段..........................236
3.4.3 畫矩形..........................236
3.4.4 畫圓............................239
3.4.5 畫弧綫..........................240
3.4.6 綜閤應用:畫玩傢...............241
3.5 地圖及關卡製作......................246
3.5.1 地圖類設計.....................246
3.5.2 第一關地圖的設計...............247
3.5.3 第二關地圖的設計...............248
3.5.4 第三關地圖的設計...............248
3.5.5 地圖類的實現...................248
3.5.6 遊戲隱藏後門的實現.............250
3.5.7 第一關地圖的實現...............251
3.5.8 第二關地圖的實現...............253
3.5.9 第三關地圖的實現...............255
3.5.10 使用地圖........................256
3.6 遊戲可移動對象設計與實現............258
3.6.1 可移動對象的設計...............258
3.6.2 玩傢對象的設計.................260
3.6.3 敵軍對象的設計.................260
3.6.4 可移動對象的實現...............262
3.6.5 玩傢對象的實現.................266
3.6.6 敵軍對象的實現.................269
3.6.7 完成整個遊戲...................274
3.7 一起來找茬............................280
3.8 本章總結............................282
攻占C++大陸..............................283
第4章 植物大戰僵屍修改器(逆嚮工程 + 內聯匯編 + DLL注入實現).......285 代碼解釋(在綫擴展講解):9段
4.1 開發背景............................288
4.2 係統功能設計........................288
4.2.1 係統功能結構 ..................288
4.2.2 係統業務流程 ..................289
4.3 係統開發環境要求....................289
4.4 修改器原理介紹......................289
4.4.1 跨進程內存操作 ................290
4.4.2 DLL注入技術介紹 ...............290
4.4.3 進程內的內存操作 ..............290
4.4.4 內聯匯編及代碼調用 ............290
4.5 項目目錄結構預覽....................292
4.6 修改器界麵開發......................293
4.6.1 建立項目 ......................293
4.6.2 刪除多餘控件 ..................294
4.6.3 完成修改器主界麵 ..............294
4.6.4 添加進程瀏覽對話框 ............295
4.7 修改任何版本遊戲的陽光數量..........296
4.7.1 列齣所有進程 ..................296
4.7.2 打開遊戲進程 ..................297
4.7.3 搜索陽光數量、地址 ............298
4.7.4 修改陽光數量 ..................300
4.7.5 使用方法 ......................301
4.8 注入遊戲中的動態鏈接庫..............306
4.8.1 動態鏈接庫原理概述 ............306
4.8.2 創建DLL項目 ...................306
IX
4.8.3 修改器界麵介紹 ................308
4.8.4 注入DLL到遊戲進程 .............308
4.9 修改器核心功能的實現................309
4.9.1 < HOME >鍵呼齣修改器窗口 .......310
4.9.2 任意修改陽光和金錢 ............311
4.9.3 調用種植、鏟除功能 ............313
4.9.4 自動收集陽光和金錢 ............315
4.9.5 僵屍全部齣動 ..................316
4.9.6 忽略地形,重疊種植 ............317
4.9.7 種植無冷卻時間 ................319
4.10 本章總結...........................320
第5章 軟件注冊機(注冊錶操作 + 加密算法 + 係統信息獲取實現)............321 代碼解釋(在綫擴展講解):10段
5.1 開發背景.............................324
5.2 係統功能設計........................324
5.2.1 係統功能結構 ..................324
5.2.2 係統業務流程 ..................324
5.3 係統開發環境要求....................325
5.4 關鍵技術............................325
5.4.1 獲取CPU序列號 .................325
5.4.2 獲取磁盤序列號 ................326
5.4.3 獲取網卡地址 ..................328
5.4.4 生成注冊碼 ....................329
5.4.5 根據注冊錶中的數據
限製試用次數 ..................329
5.5 設計注冊碼生成器....................330
5.5.1 注冊碼生成器功能概述 ..........330
5.5.2 注冊碼生成器界麵設計 ..........331
5.5.3 獲取係統信息 ..................331
5.5.4 生成注冊碼 ....................334
5.6 注冊軟件主窗體......................335
5.6.1 注冊軟件主窗體概述 ............335
5.6.2 設計主窗體界麵 ................336
5.6.3 驗證試用次數 ..................336
5.7 軟件注冊功能........................337
5.7.1 注冊功能概述 ..................337
5.7.2 設計注冊界麵 ..................338
5.7.3 實現軟件注冊過程 ..............338
5.8 注冊嚮導模塊設計....................341
5.8.1 注冊嚮導概述 ..................341
5.8.2 注冊嚮導界麵設計 ..............341
5.8.3 實現注冊嚮導功能 ..............342
5.9 本章總結............................344
第6章 365係統加速器(界麵美化 + 文件操作 + 係統進程管理 + 窗口管理實現)....345 代碼解釋(在綫擴展講解):16段
6.1 開發背景............................348
6.2 係統功能設計........................348
6.2.1 係統功能結構 .................348
6.2.2 係統業務流程 ..................348
6.3 係統開發環境要求....................349
6.4 關鍵技術............................349
6.4.1 自繪標題欄 ....................349
6.4.2 獲取任務列錶 ..................356
6.4.3 獲取正在運行的進程 ............358
6.4.4 為列錶視圖控件關聯右鍵菜單 ....359
6.4.5 清空迴收站 ....................360
6.4.6 清空“運行”中的曆史記錄 ......361
6.4.7 清空IE曆史記錄 ................361
6.4.8 調用控製麵闆工具 ..............362
6.5 主窗體設計..........................363
6.5.1 主窗體界麵預覽 ................363
6.5.2 主窗體界麵布局 ................363
X
6.5.3 實現子窗口切換功能 ............364
6.5.4 繪製主窗口背景圖片 ............366
6.6 控製麵闆操作模塊....................367
6.6.1 控製麵闆操作模塊界麵預覽 ......367
6.6.2 控製麵闆操作模塊界麵布局 ......368
6.6.3 實現控製麵闆的各部分功能 ......368
6.7 磁盤空間整理模塊....................371
6.7.1 磁盤空間整理模塊概述 ..........371
6.7.2 磁盤空間整理模塊界麵布局 ......371
6.7.3 功能實現 ......................372
6.8 垃圾文件清理模塊....................376
6.8.1 垃圾文件清理模塊概述 ..........376
6.8.2 垃圾文件清理模塊界麵布局 ......377
6.8.3 實現垃圾文件清理功能 ..........377
6.9 係統任務管理模塊....................380
6.9.1 係統任務管理模塊概述 ..........380
6.9.2 係統任務管理模塊界麵布局 ......380
6.9.3 進程與窗口管理 ................380
6.10 本章總結...........................384
第7 章 Q友—— 做你自己的QQ(MFC
+ XML + Socket 編程實現)............ 385
代碼解釋(在綫擴展講解):12 段
7.1 開發背景............................388
7.2 係統功能設計........................388
7.2.1 係統功能結構 ..................388
7.2.2 係統業務流程 ..................388
7.3 係統開發環境要求....................389
7.4 Q友軟件概述.........................389
7.4.1 係統分析 ......................389
7.4.2 總體設計 ......................390
7.5 數據庫設計..........................390
7.5.1 數據錶的建立 ..................390
7.5.2 數據庫操作流程 ................391
7.6 服務端功能設計......................392
7.6.1 服務端主窗體設計 ..............392
7.6.2 服務端網絡通信 ................394
7.6.3 服務端賬戶管理模塊 ............402
7.6.4 服務端係統組織結構管理模塊 ....407
7.7 客戶端功能設計......................410
7.7.1 客戶端登錄模塊 ................410
7.7.2 客戶端主窗體模塊 ..............413
7.7.3 客戶端消息發送模塊 ............417
7.8 本章總結............................426
第8 章 股票分析仿真係統(SQL Server
+ MFC + 自繪K 綫圖 + 網站數據抓取實現)....428
代碼解釋(在綫擴展講解):10 段
界麵預覽.................................429
項目功能應用技術預覽.....................431
攻占C++大陸..............................433
特彆提醒:
親愛的讀者朋友,為瞭使您更好地學習編程,
在隨書附贈的光盤中提供瞭一章拓展內容《股票分
析仿真係統》,如果您學有餘力,可以進一步進行
學習。
(以下拓展內容在配書光盤中)
8.1 開發背景............................435
8.2 係統功能設計........................435
8.2.1 係統功能結構 ..................435
8.2.2 係統業務流程 ..................436
8.3 係統開發環境要求....................436
8.4 數據庫與數據錶設計..................436
8.4.1 數據庫分析 ....................437
8.4.2 創建數據庫 ....................437
8.4.3 數據庫錶介紹 ..................440
XI
8.5 數據庫操作模塊設計..................441
8.5.1 數據模型類 ....................441
8.5.2 數據庫操作類 ..................444
8.5.3 對數據庫錶的操作 ..............446
8.6 登錄模塊設計........................451
8.6.1 設計登錄對話框 ................452
8.6.2 登錄功能的實現 ................452
8.6.3 退齣登錄窗口 ..................453
8.7 係統主窗體設計......................453
8.7.1 主窗體和各模塊功能組織方式 ....453
8.7.2 顯示各功能窗口 ................455
8.8 公式選股功能實現....................456
8.8.1 界麵設計 ......................457
8.8.2 實現公式選股 ..................457
8.9 繪製股票日數據K綫圖.................463
8.9.1 自定義控件 ....................463
8.9.2 K綫圖的更新 ..................464
8.10 其他主要功能模塊...................465
8.10.1 基礎數據維護模塊 .............465
8.10.2 導入、導齣數據模塊 ...........466
8.10.3 品種維護模塊 .................467
8.10.4 選擇品種模塊 .................468
8.10.5 曆史數據查詢模塊 .............468
8.10.6 即時數據模塊 .................469
8.10.7 金融計算器模塊 ...............471
8.10.8 屏幕截圖模塊 .................471
8.10.9 係統設置模塊 .................472
8.11 本章總結...........................473
XII
· · · · · · (
收起)