C++遊戲與圖形編程基礎

C++遊戲與圖形編程基礎

《C++遊戲與圖形編程基礎(第2版)》採用新穎有趣的方式來講授傳統的C++編程方法與技巧,通過豐富有趣的案例和各種各樣的編程練習、算法訓練來指導讀者進行編程實踐,動手開發小遊戲。《C++遊戲與圖形編程基礎(第2版)》由淺入深,在確認讀者掌握基本的編程知識之後再介紹面向對象的概念,同時還藉助於圖形、動畫、聲音和遊戲編程來進一步激發讀者的學習興趣,並在最後用整章的篇幅來引導讀者實現一個完整的電腦遊戲。

基本介紹

內容簡介

《C++遊戲與圖形編程基礎(第2版)》由清華大學出版社出版。

作者簡介

作者:(美國)加迪斯(Tony Gaddis) 譯者:周靖
加迪斯(Tony Gaddis)在北卡羅來納州的海伍德社區學院講授“計算機程式語言”、“作業系統”和“物理”課程。他在1994年被評為北卡羅來納社區學院的“年度最佳教師”,並在1997年獲得“教學獎”。Tony也提供對公司和機構(包括NASA的甘迺迪航天中心)的培訓。他著有Starting OutwithC++和Starting OutwithJava,並與人合著了Starting Outwith Visual Basic2005。

圖書目錄

第1部分標準C++入門
第1章計算機和編程概論
1.1概述
1.2硬體
1.2.1CPU
1.2.2主記憶體
1.2.3輔助存儲設備
1.2.4輸入設備
1.2.5輸出設備
知識檢查點
1.3計算機如何存儲數據
1.3.1存儲數字
1.3.2存儲字元
1.3.3負整數
1.3.4實數
1.3.5其他類型的數據
知識檢查點
1.4程式如何工作
1.4.1從機器語言到彙編語言
1.4.2高級語言
1.4.3關鍵字、運算符和語法:概述
1.4.4編譯器和解釋器
1.5C++和AppGameKit庫
1.5.1核心語言和庫
1.5.2需要使用的軟體
綜合測驗
編程練習
第2章C++基礎知識
2.1C++程式的組成部分
分號
知識檢查點
2.2顯示螢幕輸出
2.2.1使用endl運運算元
2.2.2\n轉義序列
知識檢查點
2.3深入#include指令
2.4變數初探
2.4.1數據類型
2.4.2變數名稱
2.4.3常用數據類型
2.4.4int,float和double數據類型
2.4.5在函式中聲明變數
2.4.6變數要先聲明再使用
2.4.7變數初始化
2.4.8一個語句聲明多個變數
2.4.9數值文字常量
2.4.10int變數和賦值兼容性
2.4.11double變數和賦值兼容性
2.4.12變數一次容納一個值
2.4.13作用域
2.4.14重複的變數名稱
2.4.15float數據類型
知識檢查點
2.5讀取鍵盤輸入
提示訊息
知識檢查點
2.6注釋、空行和縮進
2.6.1單行注釋
2.6.2多行注釋
2.6.4用空行和縮進增強
可讀性
知識檢查點
2.7執行計算和處理數字
2.7.1運算順序
2.7.2用圓括弧進行分組
2.7.3整數除法
2.7.4取余運算符
2.7.5複合賦值運算符
2.7.6混合類型表達式和數據類型轉換
知識檢查點
2.8命名常量
知識檢查點
2.9標準庫的數學函式
2.10使用字元串
知識檢查點
2.11char數據類型
綜合測驗
編程練習
第3章判斷結構和布爾邏輯
3.1控制結構
偽代碼
知識檢查點
3.2用if語句寫判斷結構
3.2.1布爾表達式和關係運算符
3.2.2綜合運用
知識檢查點
3.3if—else語句
知識檢查點
3.4嵌套判斷結構和if—else—if語句
3.4.1測試一系列條件
3.4.2if—else—if語句
知識檢查點
3.5邏輯運算符
3.5.1運算符
3.5.2運算符
3.5.3短路求值
3.5.4運算符!
3.5.5邏輯運算符的優先權
3.5.6用邏輯運算符檢查數值範圍
知識檢查點
3.6switch語句
知識檢查點
3.7bool變數
知識檢查點
3.8比較字元串
綜合測驗
編程練習
第4章重複結構
4.1重複結構
條件控制和計數控制的循環
知識檢查點
4.2條件控制的循環:while和do—while循環
4.2.1while循環
4.2.2while循環是先測試循環
4.2.3無限循環
4.2.4do—while循環是後測試循環
知識檢查點
4.3遞增和遞減運算符
知識檢查點
4.4計數控制的循環:for循環
4.4.1在初始化表達式中聲明計數器變數
4.4.2在循環主體中使用計數器變數
4.4.3其他形式的更新表達式
4.4.4讓用戶控制疊代次數
知識檢查點
4.5計算累加值
知識檢查點
4.6嵌套循環
綜合測驗
編程練習
第5章函式
5.1函式簡介
void函式和返回值的函式
5.2void函式
5.2.1函式頭
5.2.2函式主體
5.2.3調用函式
5.2.3函式原型
5.2.4自頂向下設計
知識檢查點
5.3局部變數
5.3.1作用域和局部變數
5.3.2重複的變數名稱
知識檢查點
5.4向函式傳遞實參
5.4.1參數變數(形參)的作用域
5.4.2傳遞多個實參
5.4.3以傳值方式傳遞實參
5.4.4以傳引用方式傳遞實參
知識檢查點
5.5全局變數和全局常量
5.5.1全局變數
5.5.2全局常量
知識檢查點
5.6返回值的函式
5.6.1自己寫返回值的函式
5.6.2bool函式
5.6.3從函式返回字元串
知識檢查點
5.7調用string類的成員函式
綜合測驗
編程練習
第6章數組
6.1數組基礎
6.1.1數組元素和下標
6.1.2向數組元素賦值
6.1.3輸入和輸出數組內容
6.1.4數組初始化
6.1.5使用循環來遍歷數組
6.1.6C++不執行數組邊界檢查
6.1.7警惕相差1錯誤
6.1.8處理數組元素
知識檢查點
6.2順序搜尋數組
搜尋字元串數組
知識檢查點
6.3處理數組內容
6.3.1複製數組
6.3.2比較數組
6.3.3累加數組中的值
6.3.4計算數組平均值
6.3.5找出數組中的最大和最小值
6.3.6將數組作為實參傳給函式
6.3.7部分填充的數組
知識檢查點
6.4平行數組
知識檢查點
6.5二維數組
6.5.1聲明二維數組
6.5.2訪問二維數組中的元素
6.5.3向函式傳遞二維數組
知識檢查點
6.6多維數組
知識檢查點
綜合測驗
編程練習
第2部分C++和AGK遊戲編程基礎
第7章通過AppGameKit進行
C++編程
7.1AppGameKit和遊戲程式的結構
7.1.1典型遊戲程式的結構
7.1.2記住,app::Loop函式是自動循環的
7.1.3創建使用VisualC++的AGK項目
7.1.4AppGameKit在線上文檔
知識檢查點
7.2螢幕坐標系統
設定虛擬解析度
知識檢查點
7.3顯示精靈
7.3.1點陣圖圖像
7.3.2精靈
7.3.3圖形檔案的位置
7.3.4理解後台緩衝區和同步
7.3.5精靈作為背景使用
7.3.6顯示多個精靈
7.3.7精靈深度
7.3.8設定精靈位置
7.3.9獲取精靈的X和Y坐標
7.3.10獲取精靈的寬度和高度
7.3.11縮放精靈
7.3.12旋轉精靈
7.3.13翻轉精靈
7.3.14使精靈可見或不可見
7.3.15克隆精靈
7.3.16精靈的透明背景
7.3.17黑色透明背景
7.3.18刪除精靈
7.3.19組織template資料夾中的圖片
知識檢查點
7.4使用遊戲循環
7.4.1更改同步頻率
7.4.2遊戲狀態
知識檢查點
7.5處理顏色和透明度
7.5.1RGB顏色系統
7.5.2向精靈套用顏色和透明
7.5.3獲取精靈的顏色和alpha值
知識檢查點
7.6在AGK視窗中顯示文本
7.6.1列印string對象
7.6.2在視窗標題欄顯示標題
知識檢查點
7.7生成隨機數
知識檢查點
綜合測驗
編程練習
第8章輸入、動畫和聲音
8.1滑鼠
8.1.1獲取滑鼠坐標
8.1.2顯示和隱藏滑鼠指針
8.1.3檢測滑鼠輸入
8.1.4用agk::GetSpriteHit函式判斷滑鼠指針是否碰到精靈
8.1.5綜合運用
知識檢查點
8.2虛擬按鈕
8.2.1在螢幕上添加虛擬按鈕
8.2.2更改虛擬按鈕的位置
8.2.3更改虛擬按鈕的大小
8.2.4在虛擬按鈕上顯示文本
8.2.5更改虛擬按鈕的顏色
8.2.6更改虛擬按鈕的透明度
8.2.7顯示和隱藏虛擬按鈕
8.2.8啟用或禁用虛擬按鈕
8.2.9更改虛擬按鈕的圖像
8.2.10回響按下虛擬按鈕的事件
知識檢查點
8.3虛擬手柄
8.3.1添加虛擬手柄
8.3.2設定虛擬手柄的位置
8.3.3設定虛擬手柄的大小
8.3.4設定虛擬手柄的透明度
8.3.5設定禁用或啟用虛擬手柄
8.3.6設定虛擬手柄的可見性
8.3.7更改虛擬手柄的圖像
8.3.8判斷虛擬手柄是否存在
8.3.9刪除虛擬手柄
8.3.10設定虛擬手柄的死亡區域
8.3.11獲取虛擬手柄的輸入
知識檢查點
8.4鍵盤
8.4.1用鍵盤按鍵移動物體
8.4.2回響按鍵
8.4.3判斷按下的最後一個鍵
知識檢查點
8.5動畫
8.5.1用紋理圖集簡化動畫
8.5.2用AGK播放精靈動畫
8.5.3停止和恢復精靈動畫
知識檢查點
8.6音樂和聲音
8.6.1載入聲音檔案
8.6.2播放聲音
8.6.3音樂檔案
8.6.4載入音樂檔案
8.6.5播放音樂
8.7BugZapper遊戲
綜合測驗
編程練習
第9章文本、碰撞和“壞禿鷹”遊戲
9.1文本對象
9.1.1創建文本對象
9.1.2刪除文本對象
9.1.3判斷文本對象是否存在
9.1.4設定文本對象大小
9.1.5獲取文本對象大小
9.1.6設定文本對象位置
9.1.7設定文本對象X坐標
9.1.8獲取文本對象X坐標
9.1.9設定文本對象Y坐標
9.1.10獲取文本對象Y坐標
9.1.11設定文本對象對齊
9.1.12更改文本對象字母間距
9.1.13設定文本對象的內容
9.1.14獲取文本對象的總寬度
9.1.15獲取文本對象的總高度
9.1.16顯示或隱藏文本對象
9.1.17更改文本對象顏色
9.1.18檢測與文本對象的碰撞
知識檢查點
9.2精靈碰撞檢測
知識檢查點
9.3模擬物體墜落
模擬兩個方向的運動
知識檢查點
9.4“壞禿鷹”遊戲
綜合測驗
編程練習
第10章在AGK中使用檔案和數組
10.1檔案輸入和輸出
10.1.1檔案名稱
10.1.2檔案編號
10.1.3打開輸出檔案
10.1.4向現有檔案追加數據
10.1.5向輸出檔案寫入數據
10.1.6關閉輸出檔案
10.1.7打開輸入檔案
10.1.8從輸入檔案讀取數據
10.1.9關閉輸入檔案
10.1.10判斷檔案是否打開
知識檢查點
10.2在AGK程式中使用數組
數組排序
10.3TileMap
10.4遇到障礙物
知識檢查點
綜合測驗
編程練習
第11章面向對象編程
11.1過程式編程和面向對象編程
11.1.1對象重用
11.1.2日常生活中的對象
11.1.3面向對象編程術語
知識檢查點
11.2類和對象
11.2.1聲明類
11.2.2賦值函式和取值函式
11.2.3構造器
11.2.4析構器
11.2.5設計Sprite類
11.2.6定義成員函式
11.2.7根據同一個類創建多個對象
11.2.8重載構造器和成員函式
11.2.9創建對象數組
11.2.10對象作為實參傳給函式
知識檢查點
11.3繼承
11.3.1常規化和特殊化
11.3.2繼承和“屬於”關係
知識檢查點
綜合測驗
編程練習
附錄下載和安裝必要的軟體

相關詞條

熱門詞條

聯絡我們