C++游戲與圖形編程基礎(第2版)

C++游戲與圖形編程基礎(第2版)
定價:534
NT $ 465
  • 作者:(美)加迪斯
  • 出版社:清華大學出版社
  • 出版日期:2014-06-01
  • 語言:簡體中文
  • ISBN10:7302362785
  • ISBN13:9787302362784
  • 裝訂:543頁 / 普通級 / 2-1
 

內容簡介

采用新穎有趣的方式來講授傳統的C++編程方法與技巧,通過豐富有趣的案例和各種各樣的編程練習、算法訓練來指導讀者進行編程實踐,動手開發小游戲。

由淺入深,在確認讀者掌握基本的編程知識之后再介紹面向對象的概念,同時還借助於圖形、動畫、聲音和游戲編程來進一步激發讀者的學習興趣,並在最后用整章的篇幅來引導讀者實現一個完整的電腦游戲。

加迪斯(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繼承和「屬於」關系
知識檢查點
綜合測驗
編程練習
附錄下載和安裝必要的軟件
網路書店 類別 折扣 價格
  1. 新書
    87
    $465