C++ 遊戲編程入門 (第4版)
內容描述
<內容簡介>
本書從遊戲編程的角度介紹C++語言,既獨具匠心又妙趣橫生。全書共10章,每章介紹C++語言的一個或數個重要的知識領域,同時通過一個遊戲示例項目的開發進行實踐和講解。每章的結尾,會在一個遊戲項目中將一些重要的概念組合起來。後一章的遊戲將綜合運用本書介紹的概念與技巧,創建一個相對複雜的遊戲,涵蓋了本書介紹過的所有主要概念。隨著學習的深入,讀者將學會如何組織編程項目,如何將問題分解為可管理的子問題塊,以及如何精煉代碼。本書適合任何想編寫遊戲的讀者,主要針對初學者,並假設讀者之前沒有任何編程經驗。通過閱讀本書,並在實驗中實踐,讀者將為掌握C++這門語言並為遊戲編程打下堅實的基礎。
<章節目錄>
第1章類型、變量與標準I/O:Lost Fortune 1 1.1 C++簡介1 1.1.1使用C++編寫遊戲1 1.1.2生成可執行文件2 1.1.3錯誤處理3 1.1.4理解ISO標準4 1.2編寫**個C++程序4 1.2.1 Game Over程序簡介4 1.2.2註釋5 1.2.3使用空白字符6 1.2.4包含其他文件6 1.2.5定義main()函數7 1.2.6通過標準輸出顯示文本7 1.2.7語句的終止8 1.2.8從main()函數返回值8 1.3使用std名稱空間9 1.3.1 Game Over 2.0程序簡介9 1.3.2使用using指令10 1.3.3 Game Over 3.0 程序簡介10 1.3.4使用using聲明11 1.3.5使用using的時機11 1.4使用算術運算符12 1.4.1 Expensive Calculator 程序簡介12 1.4.2加法、減法與乘法13 1.4.3理解整型與浮點型除法13 1.4.4使用模除運算符14 1.4.5運算符的優先級14 1.5聲明和初始化變量14 1.5.1 Game Stats程序簡介14 1.5.2基本類型16 1.5.3類型修飾符16 1.5.4變量聲明17 1.5.5變量命名18 1.5.6變量的賦值19 1.5.7變量初始化20 1.5.8顯示變量值20 1.5.9獲取用戶輸入20 1.5.10為類型定義新名稱21 1.5.11類型的選擇21 1.6使用變量進行算術運算21 1.6.1 Game Stats 2.0 程序簡介22 1.6.2修改變量值23 1.6.3使用組合賦值運算符23 1.6.4遞增運算符與遞減運算符24 1.6.5整數的溢出處理25 1.7使用常量26 1.7.1 Game Stats 3.0 程序簡介26 1.7.2使用常量27 1.7.3使用枚舉類型27 1.8 Lost Fortune簡介28 1.8.1創建程序29 1.8.2從玩家獲取信息30 1.8. 3講故事30 1.9本章小結31 1.10問與答32 1.11問題討論33 1.12習題34 第2章真值、分支與遊戲循環:Guess My Number 35 2.1理解真值35 2.2使用if語句36 2.2.1 Score Rater程序簡介36 2.2.2驗證真與假38 2.2.3值的真與假39 2.2.4使用關係運算符39 2.2.5 if語句的嵌套40 2.3使用else子句40 2.3.1 Score Rater 2.0 程序簡介41 2.3.2兩種創建分支的方法42 2.4使用帶else子句的if 語句序列43 2.4.1 Score Rater 3.0程序簡介43 2.4.2創建帶else子句的if 語句序列44 2.5使用switch語句45 2.5.1 Menu Chooser程序簡介46 2.5.2創建多路分支48 2.6使用while循環48 2.6.1 Play Again遊戲簡介48 2.6.2使用while循環49 2.7使用do循環50 2.7.1 Play Again 2.0程序簡介50 2.7.2使用do循環51 2.8使用break和continue語句52 2.8.1 Finicky Counter程序簡介52 2.8.2創建while(true)循環53 2.8.3使用break語句退出循環53 2.8.4使用continue語句跳轉到循環開始54 2.8.5使用break和continue 的時機54 2.9使用邏輯運算符54 2.9.1 Designers Network程序簡介55 2.9.2使用邏輯與運算符57 2.9.3使用邏輯或運算符58 2.9.4使用邏輯非運算符58 2.9.5運算符的優先級59 2.10隨機數的生成60 2.10.1 Die Roller程序簡介60 2.10.2調用rand()函數61 2.10.3為隨機數生成器確定種子61 2.10.4在一定範圍內計算62 2.11理解遊戲主循環63 2.12 Guess My Number遊戲簡介64 2.12.1採用遊戲主循環64 2.12.2初始化遊戲65 2.12.3創建遊戲主循環66 2.12.4遊戲結束67 2.13本章小結67 2.14問與答68 2.15問題討論69 2.16習題69 第3章for循環、字符串與數組:Word Jumble 71 3.1使用for循環71 3.1.1 Counter程序簡介72 3.1.2使用for循環計數73 3.1.3在for循環中使用空語句74 3.1.4 for循環的嵌套74 3.2瞭解對象75 3.3使用string對象77 3.3.1 String Tester程序簡介77 3.3.2創建string對象79 3.3.3 string對象的連接79 3.3 .4使用size()成員函數79 3.3.5索引string對象80 3.3.6循環訪問string對象81 3.3.7使用find()成員函數81 3.3.8使用erase()成員函數82 3.3.9使用empty( )成員函數83 3.4使用數組83 3.4.1 Hero's Inventory程序簡介83 3.4.2創建數組85 3.4.3數組的索引86 3.4.4使用數組元素的成員函數87 3.4.5數組邊界87 3.5理解C風格字符串88 3.6使用多維數組89 3.6.1 Tic-Tac-Toe Board程序簡介90 3.6.2創建多維數組91 3.6.3多維數組的索引92 3.7 Word Jumble程序簡介92 3.7.1創建程序93 3.7.2選擇單詞93 3.7.3單詞亂序94 3.7.4歡迎界面95 3.7.5進入遊戲主循環95 3.7.6遊戲結束96 3.8本章小結96 3.9問與答97 3.10問題討論99 3.11習題99 第4章標準模板庫:Hangman 100 4.1標準模板庫簡介100 4.2使用vector 101 4.2.1 Hero's Inventory 2.0程序簡介101 4.2.2使用向量的準備工作103 4.2.3向量的聲明103 4.2.4使用push_back()成員函數104 4.2 .5使用size()成員函數104 4.2.6向量的索引105 4.2.7調用元素的成員函數105 4.2.8使用pop_back()成員函數106 4.2.9使用clear()成員函數106 4.2.10使用empty ()成員函數106 4.3使用迭代器107 4.3.1 Hero's Inventory 3.0程序簡介107 4.3.2迭代器的聲明109 4.3.3循環訪問向量110 4.3.4修改向量元素的值111 4.3.5訪問向量元素的成員函數