內容簡介
《C++項目開發實戰入門》最大特點是提供“圖書與《小白手冊》+光碟+二維碼+明日學院網站”立體化、全方位的教學模式,零基礎
編程學習者也能輕鬆學會項目開發。《小白手冊》中蒐集了開發項目過程中遇到的各類問題,並給出解決問題的詳細方案,力求為初學者掃除項目開發中遇到的障礙;光碟中給出項目源碼、資源檔案、代碼查錯器和代碼片段,方便讀者學習;書中設定多種功能二維碼,掃描二維碼,預備知識、視頻講解和代碼解釋等詳細內容精彩呈現;登錄明日學院網站可以獲得全方位的學習資源和技術支持。
本書涉及的案例趣味性強,涉及行業廣泛,實用性強。通過本書的學習,讀者可以提高編程興趣,獲得編程技巧;也可以輕鬆領會C++項目開發的精髓,快速提高開發技能;還可以通過光碟中提供的案例原始碼和資料庫進行二次開發,以減少開發項目所需要的時間。
圖書目錄
第1章 坦克動盪遊戲(GDIPlus + 碰撞檢測 + 自動尋路實現)
預備知識視頻講解:1小時 56分
項目開發視頻講解:3 小時 17 分
代碼解釋(線上擴展講解):23段
1.1 開發背景
1.2 系統功能設計
1.2.1 系統功能結構
1.2.2 系統業務流程
1.3 創建項目
1.3.1 開發環境要求
1.3.2 遊戲所用資源介紹
1.3.3 創建新項目
1.4 創建遊戲框架
1.4.1 創建遊戲主視窗
1.4.2 遊戲核心框架類的建立
1.4.3 增加滑鼠回響
1.4.4 在遊戲視窗中使用遊戲核心功能
1.5 繪圖庫GDIPlus的使用
1.5.1 繪圖庫的引入
1.5.2 繪圖庫的初始化
1.5.3 在螢幕上“畫”遊戲幀數
1.5.4 引入圖片資源
1.5.5 畫出遊戲選單背景
1.6 遊戲功能的詳細設計及使用舉例
1.6.1 遊戲對象概述
1.6.2 遊戲中可移動對象的設計
1.6.3 設計遊戲選單
1.6.4 人機大戰與雙人大戰
1.6.5 設計坦克及子彈
1.6.6 畫出移動的坦克
1.6.7 自動尋路與碰撞檢測
1.6.8 畫出遊戲地圖,控制運行軌跡
1.7 實現完整的遊戲
1.7.1 引進所有遊戲對象的聲明
1.7.2 聲明核心對象—— CGame類的公有方法
1.7.3 聲明私有方法
1.7.4 實現公有方法
1.7.5 實現初始化方法
1.7.6 實現遊戲邏輯處理方法
1.7.7 實現遊戲繪圖處理方法
1.7.8 實現輔助方法
1.7.9 在主視窗中完成全部遊戲功能
1.8 一起來找茬
1.9 本章總結
攻占C++大陸
第2章 桌面破壞王遊戲(滑鼠訊息處理 + GDIPlus 實現)
預備知識視頻講解:1小時 15分
項目開發視頻講解:3 小時 16 分
代碼解釋(線上擴展講解):13段
2.1 開發背景
2.2 系統功能設計
2.2.1 系統功能結構
2.2.2 系統業務流程
2.3 遊戲主框架的設計與實現
2.3.1 開發環境要求
2.3.2 使用Visual Studio 2015建立項目
2.3.3 使程式視窗遮擋整個桌面
2.4 重要工具模組設計
2.4.1 資源自動釋放模組設計
2.4.2 螢幕截圖工具設計
2.4.3 遊戲計時器設計
2.5 繪圖庫的使用
2.5.1 引入繪圖庫“GDIPlus”頭檔案
2.5.2 初始化繪圖庫
2.5.3 繪製螢幕一角
2.6 處理滑鼠訊息
2.6.1 滑鼠訊息分析
2.6.2 增加訊息處理函式
2.6.3 測試滑鼠訊息
2.7 遊戲功能的總體設計
2.7.1 遊戲功能預覽
2.7.2 功能分析
2.7.3 遊戲調度器CGame類設計
2.7.4 引入資源圖片
2.7.5 實現工具及破壞標記接口
2.8 遊戲選單的設計與實現
2.8.1 盒子的實現
2.8.2 “飛出”的工具
2.8.3 顯示遊戲選單
2.9 忍者工具的設計與實現
2.9.1 忍者破壞標記的設計與實現
2.9.2 忍者的設計與實現
2.9.3 使用忍者破壞桌面
2.10 粉刷匠工具的設計與實現
2.10.1 粉刷匠粉刷痕跡的設計與實現
2.10.2 粉刷匠的設計與實現
2.10.3 使用粉刷匠破壞桌面
2.11 錘子工具的設計與實現
2.11.1 破碎效果的設計
2.11.2 錘子工具的設計
2.11.3 實現碎屏破壞效果
2.12 橡皮擦工具的設計與實現
2.12.1 橡皮擦擦除痕跡的設計與實現
2.12.2 橡皮擦的設計與實現
2.12.3 使用橡皮擦擦除螢幕
2.13 一起來找茬
2.14 本章總結
攻占C++大陸
第 3 章 快樂吃豆子遊戲(Win32 繪圖 + 鍵盤訊息處理實現)
預備知識視頻講解:1小時 5分
項目開發視頻講解:1 小時 59 分
代碼解釋(線上擴展講解):19段
3.1 開發背景
3.2 系統功能設計
3.2.1 系統功能結構
3.2.2 系統業務流程
3.3 創建項目
3.3.1 開發環境要求
3.3.2 使用Visual Studio 2015創建win32視窗程式
3.3.3 製作遊戲視窗
3.3.4 建立遊戲循環
3.4 使用 GDI繪圖
3.4.1 畫點
3.4.2 畫線段
3.4.3 畫矩形
3.4.4 畫圓
3.4.5 畫弧線
3.4.6 綜合套用:畫玩家
3.5 地圖及關卡製作
3.5.1 地圖類設計
3.5.2 第一關地圖的設計
3.5.3 第二關地圖的設計
3.5.4 第三關地圖的設計
3.5.5 地圖類的實現
3.5.6 遊戲隱藏後門的實現
3.5.7 第一關地圖的實現
3.5.8 第二關地圖的實現
3.5.9 第三關地圖的實現
3.5.10 使用地圖
3.6 遊戲可移動對象設計與實現
3.6.1 可移動對象的設計
3.6.2 玩家對象的設計
3.6.3 敵軍對象的設計
3.6.4 可移動對象的實現
3.6.5 玩家對象的實現
3.6.6 敵軍對象的實現
3.6.7 完成整個遊戲
3.7 一起來找茬
3.8 本章總結
攻占C++大陸
第4章 植物大戰殭屍修改器(逆向工程 + 內聯彙編 + DLL 注入實現)
代碼解釋(線上擴展講解):9段
4.1 開發背景
4.2 系統功能設計
4.2.1 系統功能結構
4.2.2 系統業務流程
4.3 系統開發環境要求
4.4 修改器原理介紹
4.4.1 跨進程記憶體操作
4.4.2 DLL注入技術介紹
4.4.3 進程內的記憶體操作
4.4.4 內聯彙編及代碼調用
4.5 項目目錄結構預覽
4.6 修改器界面開發
4.6.1 建立項目
4.6.2 刪除多餘控制項
4.6.3 完成修改器主界面
4.6.4 添加進程瀏覽對話框
4.7 修改任何版本遊戲的陽光數量
4.7.1 列出所有進程
4.7.2 打開遊戲進程
4.7.3 搜尋陽光數量、地址
4.7.4 修改陽光數量
4.7.5 使用方法
4.8 注入遊戲中的動態程式庫
4.8.1 動態程式庫原理概述
4.8.2 創建DLL項目
4.8.3 修改器界面介紹
4.8.4 注入DLL到遊戲進程
4.9 修改器核心功能的實現
4.9.1 < HOME >鍵呼出修改器視窗
4.9.2 任意修改陽光和金錢
4.9.3 調用種植、剷除功能
4.9.4 自動收集陽光和金錢
4.9.5 殭屍全部出動
4.9.6 忽略地形,重疊種植
4.9.7 種植無冷卻時間
4.10 本章總結
第5章 軟體註冊機(註冊表操作 + 加密算法 + 系統信息獲取實現)
代碼解釋(線上擴展講解):10段
5.1 開發背景
5.2 系統功能設計
5.2.1 系統功能結構
5.2.2 系統業務流程
5.3 系統開發環境要求
5.4 關鍵技術
5.4.1 獲取CPU序列號
5.4.2 獲取磁碟序列號
5.4.3 獲取網卡地址
5.4.4 生成註冊碼
5.4.5 根據註冊表中的數據限制試用次數
5.5 設計註冊碼生成器
5.5.1 註冊碼生成器功能概述
5.5.2 註冊碼生成器界面設計
5.5.3 獲取系統信息
5.5.4 生成註冊碼
5.6 註冊軟體主窗體
5.6.1 註冊軟體主窗體概述
5.6.2 設計主窗體界面
5.6.3 驗證試用次數
5.7 軟體註冊功能
5.7.1 註冊功能概述
5.7.2 設計註冊界面
5.7.3 實現軟體註冊過程
5.8 註冊嚮導模組設計
5.8.1 註冊嚮導概述
5.8.2 註冊嚮導界面設計
5.8.3 實現註冊嚮導功能
5.9 本章總結
第6章 365 系統加速器(界面美化 + 檔案操作 + 系統進程管理 + 視窗管理實現)
代碼解釋(線上擴展講解):16段
6.1 開發背景
6.2 系統功能設計
6.2.1 系統功能結構
6.2.2 系統業務流程
6.3 系統開發環境要求
6.4 關鍵技術
6.4.1 自繪標題欄
6.4.2 獲取任務列表
6.4.3 獲取正在運行的進程
6.4.4 為列表視圖控制項關聯右鍵選單
6.4.5 清空資源回收筒
6.4.6 清空“運行”中的歷史記錄
6.4.7 清空IE歷史記錄
6.4.8 調用控制臺工具
6.5 主窗體設計
6.5.1 主窗體界面預覽
6.5.2 主窗體界面布局
6.5.3 實現子視窗切換功能
6.5.4 繪製主視窗背景圖片
6.6 控制臺操作模組
6.6.1 控制臺操作模組界面預覽
6.6.2 控制臺操作模組界面布局
6.6.3 實現控制臺的各部分功能
6.7 磁碟空間整理模組
6.7.1 磁碟空間整理模組概述
6.7.2 磁碟空間整理模組界面布局
6.7.3 功能實現
6.8 垃圾檔案清理模組
6.8.1 垃圾檔案清理模組概述
6.8.2 垃圾檔案清理模組界面布局
6.8.3 實現垃圾檔案清理功能
6.9 系統任務管理模組
6.9.1 系統任務管理模組概述
6.9.2 系統任務管理模組界面布局
6.9.3 進程與視窗管理
6.10 本章總結
第7 章 Q友—— 做你自己的QQ(MFC + XML + Socket 編程實現)
代碼解釋(線上擴展講解):12段
7.1 開發背景
7.2 系統功能設計
7.2.1 系統功能結構
7.2.2 系統業務流程
7.3 系統開發環境要求
7.4 Q友軟體概述
7.4.1 系統分析
7.4.2 總體設計
7.5 資料庫設計
7.5.1 數據表的建立
7.5.2 資料庫操作流程
7.6 服務端功能設計
7.6.1 服務端主窗體設計
7.6.2 服務端網路通信
7.6.3 服務端賬戶管理模組
7.6.4 服務端系統組織結構管理模組
7.7 客戶端功能設計
7.7.1 客戶端登錄模組
7.7.2 客戶端主窗體模組
7.7.3 客戶端訊息傳送模組
7.8 本章總結
第 8 章 股票分析仿真系統(SQL Server + MFC + 自繪 K 線圖 + 網站數據抓取實現) ...428
代碼解釋(線上擴展講解):10段
界面預覽
項目功能套用技術預覽
攻占C++大陸
特別提醒:
親愛的讀者朋友,為了使您更好地學習編程,
在隨書附贈的光碟中提供了一章拓展內容《股票分
析仿真系統》,如果您學有餘力,可以進一步進行
學習。
(以下拓展內容在配書光碟中)
8.1 開發背景
8.2 系統功能設計
8.2.1 系統功能結構
8.2.2 系統業務流程
8.3 系統開發環境要求
8.4 資料庫與數據表設計
8.4.1 資料庫分析
8.4.2 創建資料庫
8.4.3 資料庫表介紹
8.5 資料庫操作模組設計
8.5.1 數據模型類
8.5.2 資料庫操作類
8.5.3 對資料庫表的操作
8.6 登錄模組設計
8.6.1 設計登錄對話框
8.6.2 登錄功能的實現
8.6.3 退出登錄視窗
8.7 系統主窗體設計
8.7.1 主窗體和各模組功能組織方式
8.7.2 顯示各功能視窗
8.8 公式選股功能實現
8.8.1 界面設計
8.8.2 實現公式選股
8.9 繪製股票日數據K線圖
8.9.1 自定義控制項
8.9.2 K線圖的更新
8.10 其他主要功能模組
8.10.1 基礎數據維護模組
8.10.2 導入、導出數據模組
8.10.3 品種維護模組
8.10.4 選擇品種模組
8.10.5 歷史數據查詢模組
8.10.6 即時數據模組
8.10.7 金融計算器模組
8.10.8 螢幕截圖模組
8.10.9 系統設定模組
8.11 本章總結