通過游戲編程實戰(zhàn)教新手學C++編程

出版時間:2011-11  出版社:清華大學  作者:道森  頁數:293  譯者:萬千  
Tag標簽:無  

內容概要

  本書從游戲視角來介紹C++,既獨具匠心又妙趣橫生。即使讀者初學C++,還沒有任何編程經驗,也可以在Michael
Dawson的循循善誘下掌握C++的各種概念與技巧。書中每章涵蓋一系列彼此相關的主題,并在結尾部分編寫一個簡單的文本游戲來鞏固所學概念。隨著學習的深入,讀者將學會如何組織編程項目,如何將問題分解為可管理的子問題塊,以及如何精煉代碼。最后一章的游戲將綜合運用《游戲開發(fā)經典叢書:通過游戲編程實戰(zhàn)教新手學C++編程》介紹的概念與技巧,創(chuàng)建一個相對復雜的游戲。讀完《游戲開發(fā)經典叢書:通過游戲編程實戰(zhàn)教新手學C++編程》,您將為C++開發(fā)打下堅實的基礎。

作者簡介

  道森,Michael Dawson,是一位游戲編程圖書的作者。他為UCLA Extension、The Digital
MediaAcademy和The Los Angeles Film
School開設并執(zhí)教游戲編程課程,指導學生游戲編程的藝術與科學。另外,他的多部著作已成為國內多所大學的必讀書目。Mike以游戲制作人和設計師的身份進入游戲行業(yè),同時還在一個玩家冒險游戲中擔任主角——玩家控制的角色的名字就叫Mike
Dawson。在游戲中,Dawson的大腦中被植入了外星人的胚胎,玩家要指揮數字化形象的Dawson在胚胎誕生之前阻止外星人的入侵。Mike的著作包括《通過游戲編程實戰(zhàn)教新手學C++編程》、Python
Programming for theAbsolute Beginner、C++Projects:Programming with
Text-Based Games以及Guide to Programming with
Bython。他在南加州大學獲得計算機科學學士學位。

書籍目錄

第1章 類型、變量與標準
i/o:lost fortune
1.1 c++簡介
1.1.1 使用c++編寫游戲
1.1.2 生成可執(zhí)行文件
1.1.3 錯誤處理
1.1.4 理解iso標準
1.2 編寫第一個c++程序
1.2.1 game over程序簡介
1.2.2 注釋
1.2.3 使用空白字符
1.2.4 包含其他文件
1.2.5 定義main()函數
1.2.6 通過標準輸出顯示文本
1.2.7 語句的終止
1.2.8 從main()函數返回值
1.3 使用std名稱空間
1.3.1 game over 2.0程序簡介
1.3.2 使用using指令
.1.3.3 game over 3.0程序簡介
1.3.4 使用using聲明
1.3.5 使用using的時機
1.4 使用算術運算符
1.4.1 expensive calculator程序簡介
1.4.2 加法、減法與乘法
1.4.3 理解整型與浮點型除法
1.4.4 使用取模運算符
1.4.5 運算符的優(yōu)先級
1.5 聲明和初始化變量
1.5.1 game stats程序簡介
1.5.2 基本類型
1.5.3 類型修飾符
1.5.4 變量聲明
1.5.5 變量命名
1.5.6 變量的賦值
1.5.7 變量初始化
1.5.8 顯示變量值
1.5.9 獲取用戶輸入
1.5.10 為類型定義新名稱
1.5.11 類型的選擇
1.6 使用變量進行算術運算
1.6.1 game stats 2.0程序簡介
1.6.2 修改變量值
1.6.3 使用組合賦值運算符
1.6.4 遞增運算符與遞減運算符
1.6.5 整數的溢出處理
1.7 使用常量
1.7.1 game stats 3.0程序簡介
1.7.2 使用常量
1.7.3 使用枚舉類型
1.8 lost fortune簡介
1.8.1 創(chuàng)建程序
1.8.2 從玩家獲取信息
1.8.3 講故事
1.9 本章小結
1.10 問與答
1.11 問題討論
1.12 習題
第2章 真值、分支與游戲循環(huán):
guess my number
2.1 理解真值
2.2 使用if語句
2.2.1 score rater程序簡介
2.2.2 驗證真與假
2.2.3 值的真與假
2.2.4 使用關系運算符
2.2.5 if語句的嵌套
2.3 使用else子句
2.3.1 score rater 2.0程序簡介
2.3.2 創(chuàng)建分支
2.4 使用帶else子句的if語句序列
2.4.1 score rater 3.0程序簡介
2.4.2 創(chuàng)建帶else子句的if語句序列
2.5 使用switch語句
2.5.1 menu chooser程序簡介
2.5.2 創(chuàng)建多路分支
2.6 使用while循環(huán)
2.6.1 play again游戲簡介
2.6.2 使用while循環(huán)
2.7 使用do循環(huán)
2.7.1 play again 2.0程序簡介
2.7.2 使用do循環(huán)
2.8 使用break和continue語句
2.8.1 finicky counter程序簡介
2.8.2 創(chuàng)建while(true)循環(huán)
2.8.3 使用break語句退出循環(huán)
2.8.4 使用continue語句跳轉到循環(huán)開始
2.8.5 使用break和continue的時機
2.9 使用邏輯運算符
2.9.1 designers network程序簡介
2.9.2 使用邏輯與運算符
2.9.3 使用邏輯或運算符
2.9.4 使用邏輯非運算符
2.9.5 運算符的優(yōu)先級
2.10 隨機數的生成
2.10.1 die roller程序簡介
2.10.2 調用rand()函數
2.10.3 為隨機數生成器確定種子
2.10.4 在一定范圍內計算
2.11 理解游戲主循環(huán)
2.12 guess my number游戲簡介
2.12.1 采用游戲主循環(huán)
2.12.2 初始化游戲
2.12.3 創(chuàng)建游戲主循環(huán)
2.12.4 游戲結束
2.13 本章小結
2.14 問與答
2.15 問題討論
2.16 習題
第3章 for循環(huán)、字符串與數組:
word jumble
3.1 使用for循環(huán)
3.1.1 counter程序簡介
3.1.2 使用for循環(huán)計數
3.1.3 在for循環(huán)中使用空語句
3.1.4 for循環(huán)的嵌套
3.2 理解對象
3.3 使用string對象
3.3.1 string tester程序簡介
3.3.2 創(chuàng)建string對象
3.3.3 string對象的連接
3.3.4 使用size()成員函數
3.3.5 索引string對象
3.3.6 循環(huán)訪問string對象
3.3.7 使用find()成員函數
3.3.8 使用erase()成員函數
3.3.9 使用empty()成員函數
3.4 使用數組
3.4.1 hero's inventory程序簡介
3.4.2 創(chuàng)建數組
3.4.3 數組的索引
3.4.4 使用數組元素的成員函數
3.4.5 數組邊界
3.5 理解c風格字符串
3.6 使用多維數組
3.6.1 tic-tac-toe board程序簡介
3.6.2 創(chuàng)建多維數組
3.6.3 多維數組的索引
3.7 word jumble程序簡介
3.7.1 創(chuàng)建程序
3.7.2 選擇單詞
3.7.3 單詞亂序
3.7.4 歡迎界面
3.7.5 進入游戲主循環(huán)
3.7.6 游戲結束
3.8 本章小結
3.9 問與答
3.10 問題討論
3.11 習題
第4章 標準模板庫:hangman
4.1 標準模板庫簡介
4.2 使用vector
4.2.1 hero's inventory 2.0程序簡介
4.2.2 使用向量的準備工作
4.2.3 向量的聲明
4.2.4 使用push_back()成員函數
4.2.5 使用size()成員函數
4.2.6 向量的索引
4.2.7 調用元素的成員函數
4.2.8 使用pop_back()成員函數
4.2.9 使用clear()成員函數
4.2.10 使用empty()成員函數
4.3 使用迭代器
4.3.1 hero's inventory 3.0程序簡介
4.3.2 迭代器的聲明
4.3.3 循環(huán)訪問向量
4.3.4 修改向量元素的值
4.3.5 訪問向量元素的成員函數
4.3.6 使用向量的成員函數insert()
4.3.7 使用向量的成員函數erase()
4.4 使用算法
4.4.1 high scores程序簡介
4.4.2 使用算法的準備工作
4.4.3 使用find()算法
4.4.4 使用random_shuffle()算法
4.4.5 使用sort()算法
4.5 理解向量的性能
4.5.1 向量的增長
4.5.2 元素的插入與刪除
4.6 其他stl容器
4.7 對程序進行規(guī)劃
4.7.1 使用偽代碼
4.7.2 逐步細化
4.8 hangman簡介
4.8.1 游戲規(guī)劃
4.8.2 創(chuàng)建程序
4.8.3 變量與常量的初始化
4.8.4 進入游戲主循環(huán)
4.8.5 獲取玩家的猜測
4.8.6 游戲結束
4.9 本章小結
4.10 問與答
4.11 問題討論
4.12 習題
第5章 函數:mad lib
5.1 創(chuàng)建函數
5.1.1 instructions程序簡介
5.1.2 函數聲明
5.1.3 函數定義
5.1.4 函數調用
5.1.5 理解抽象
5.2 使用形參和返回值
5.2.1 yes or no程序簡介
5.2.2 返回值
5.2.3 傳遞參數值
5.2.4 理解封裝
5.3 理解軟件重用
5.4 使用作用域
5.4.1 scoping程序簡介
5.4.2 使用獨立的作用域
5.4.3 使用嵌套作用域
5.5 使用全局變量
5.5.1 global reach程序簡介
5.5.2 聲明全局變量
5.5.3 訪問全局變量
5.5.4 隱藏全局變量
5.5.5 修改全局變量
5.5.6 盡量少使用全局變量
5.6 使用全局常量
5.7 使用默認參數
5.7.1 give me a number程序簡介
5.7.2 指定默認參數
5.7.3 為形參設置默認參數
5.7.4 重寫默認參數
5.8 函數重載
5.8.1 triple程序簡介
5.8.2 創(chuàng)建重載函數
5.8.3 調用重載函數
5.9 內聯(lián)函數
5.9.1 taking damage程序簡介
5.9.2 函數內聯(lián)的指定
5.9.3 調用內聯(lián)函數
5.10 mad lib游戲簡介
5.10.1 創(chuàng)建程序
5.10.2 main()函數
5.10.3 asktext()函數
5.10.4 asknumber()函數
5.10.5 tellstory()函數
5.11 本章小結
5.12 問與答
5.13 問題討論
5.14 習題
第6章 引用:tic-tac-toe
6.1 使用引用
6.1.1 referencing程序簡介
6.1.2 創(chuàng)建引用
6.1.3 訪問被引用的值
6.1.4 修改被引用的值
6.2 通過傳遞引用改變實參
6.2.1 swap程序簡介
6.2.2 按值傳遞參數
6.2.3 按引用傳遞參數
6.3 傳遞引用以提高效率
6.3.1 inventory displayer程序簡介
6.3.2 引用傳遞的陷阱
6.3.3 以常量引用聲明參數
6.3.4 傳遞常量引用
6.4 如何傳遞實參
6.5 返回引用
6.5.1 inventory referencer程序簡介
6.5.2 返回一個引用
6.5.3 顯示返回的引用的值
6.5.4 將返回的引用賦值給引用
6.5.5 將返回的引用賦值給變量
6.5.6 通過返回的引用修改對象
6.6 tic-tac-toe游戲簡介
6.6.1 游戲規(guī)劃
6.6.2 創(chuàng)建程序
6.6.3 main()函數
6.6.4 instructions()函數
6.6.5 askyesno()函數
6.6.6 asknumber()函數
6.6.7 humanpiece()函數
6.6.8 opponent()函數
6.6.9 displayboard()函數
6.6.10 winner()函數
6.6.11 islegal()函數
6.6.12 humanmove()函數
6.6.13 computermove()函數
6.6.14 announcewinner()函數
6.7 本章小結
6.8 問與答
6.9 問題討論
6.10 習題
第7章 指針:tic-tac-toe 2.0
7.1 指針基礎
7.1.1 pointing程序簡介
7.1.2 指針的聲明
7.1.3 指針的初始化
7.1.4 將地址賦值給指針
7.1.5 指針的解引用
7.1.6 指針的重新賦值
7.1.7 使用對象的指針
7.2 指針和常量
7.2.1 使用常量指針
7.2.2 使用指向常量的指針
7.2.3 使用指向常量的常量指針
7.2.4 常量與指針小結
7.3 傳遞指針
7.3.1 swap pointer version程序簡介
7.3.2 值傳遞
7.3.3 傳遞常量指針
7.4 返回指針
7.4.1 inventory pointer程序簡介
7.4.2 返回指針
7.4.3 使用返回的指針顯示值
7.4.4 將返回的指針賦值給指針
7.4.5 將返回的指針指向的值賦值給變量
7.4.6 通過返回的指針修改對象
7.5 理解指針與數組的關系
7.5.1 array passer程序簡介
7.5.2 將數組名用作常量指針
7.5.3 數組的傳遞與返回
7.6 tic-tac-toe 2.0程序簡介
7.7 本章小結
7.8 問與答
7.9 問題討論
7.10 習題
第8章 類:critter caretaker
8.1 定義新類型
8.1.1 simple critter程序簡介
8.1.2 類的定義
8.1.3 成員函數的定義
8.1.4 對象的實例化
8.1.5 數據成員的訪問
8.1.6 成員函數的調用
8.2 使用構造函數
8.2.1 constructor critter程序簡介
8.2.2 構造函數的聲明與定義
8.2.3 構造函數的自動調用
8.3 設置成員訪問級別
8.3.1 private critter程序簡介
8.3.2 指定公有與私有訪問級別
8.3.3 定義訪問器成員函數
8.3.4 定義常量成員函數
8.4 使用靜態(tài)數據成員與靜態(tài)成員函數
8.4.1 static critter程序簡介
8.4.2 聲明與初始化靜態(tài)數據成員
8.4.3 訪問靜態(tài)數據成員
8.4.4 聲明與定義靜態(tài)成員函數
8.4.5 調用靜態(tài)成員函數
8.5 critter caretaker游戲簡介
8.5.1 游戲規(guī)劃
8.5.2 規(guī)劃偽代碼
8.5.3 critter類
8.5.4 main()函數
8.6 本章小結
8.7 問與答
8.8 問題討論
8.9 習題
第9章 高級類與動態(tài)內存:
game lobby
9.1 使用聚合體
9.1.1 critter farm程序簡介
9.1.2 使用對象數據成員
9.1.3 使用容器數據成員
9.2 使用友元函數與運算符重載
9.2.1 friend critter程序簡介
9.2.2 創(chuàng)建友元函數
9.2.3 運算符重載
9.3 動態(tài)分配內存
9.3.1 heap程序簡介
9.3.2 使用new運算符
9.3.3 使用delete運算符
9.3.4 避免內存泄漏
9.4 使用數據成員與堆
9.4.1 heap data member程序簡介
9.4.2 聲明指向堆中值的指針數據成員
9.4.3 聲明與定義析構函數
9.4.4 聲明與定義拷貝構造函數
9.4.5 賦值運算符的重載
9.5 game lobby程序簡介
9.5.1 player類
9.5.2 lobby類
9.5.3 lobby::addplayer()成員函數
9.5.4 lobby::removeplayer()成員函數
9.5.5 lobby::clear()成員函數
9.5.6 operator[[()成員函數
9.5.7 main()函數
9.6 本章小結
9.7 問與答
9.8 問題討論
9.9 習題
第10章 繼承與多態(tài):blackjack
附錄a 創(chuàng)建第一個c++程序
附錄b 運算符優(yōu)先級
附錄c 關鍵字
附錄d ascii字符表
附錄e 轉義序列

章節(jié)摘錄

版權頁:插圖:以上介紹了兩種使名稱空間中的元素本地化的方法。但是哪種方法更好呢?語言純粹主義者會說兩種方法都不可取,而應該在每次使用這些元素的時候加上前綴作為區(qū)別。在我看來,這就如同總是使用全名來稱呼您最好的朋友,顯得過于正式。如果您討厭輸入太多字符,可以使用using指令。較為折中的方案是使用using聲明。為了簡潔起見,本書大多數時候使用using指令。

編輯推薦

《游戲開發(fā)經典叢書:通過游戲編程實戰(zhàn)教新手學C++編程》由清華大學出版社出版。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    通過游戲編程實戰(zhàn)教新手學C++編程 PDF格式下載


用戶評論 (總計45條)

 
 

  •   書真的是入門。。比較簡單。。即使沒學過C或者C++都能夠看懂。。不過資深人員我覺得真的可以pass掉這本。。這本書屬于是用編游戲的思路學習C++的一本書。。
  •   很不錯的入門書,如果你有一定的C基礎,想學游戲的話看這個真的很不錯
  •   挺好的書,學習一下C++編程,還是不錯的
  •   今天已經學完第一章。
  •   這本書是寫給剛剛學習C++的人看的。非常有趣,符合國外教材的特點。
  •   加上實例可以更好的讓初學者更加直觀的學習
  •   的確是新手的教學,講得很適合學習。受益匪淺
  •   這本書真心不錯,易懂
  •   這本書對于初學者來說 挺不錯的
  •   還沒開始看呢,應該還不錯吧
  •   很使用很好
  •   里面解釋比較清楚,總體來說是不錯的~
  •   封面很好,正版.內容還在看,應該不錯
  •   初中的孩子基本可以啃得動
  •   C++愛好者的福音。
  •   送貨很快,但書看上去不象新書
  •   內容不錯,還未看
  •   反正是正版吧,內容適合我這種初學者
  •   游戲編程的入門書
  •   這簡直是介紹C++的教材,跟游戲關系有點少
  •   這是本書 適合有C++知識的人學習加鞏固
  •   翻了幾頁看了看,還沒有讀。質量是不錯的
  •   書還不錯,發(fā)貨速度有點慢,說是2號到,期待好久,結果3號下午才到,給個4分吧
  •   是我比較感興趣的,很有意思,外國人的書大都很輕松
  •   這本書還好,我特喜歡!
  •   這本書我看過一部分內容,寫的很清晰,更適合一時摸不著頭腦的初學者使用
  •   是一本入門級的好書,值得推薦
  •   入門還可以,有時間練練也蠻不錯
  •   總的來講這個可不是教你寫游戲的書,就是一本基礎的C 編程書,內容不深,也不是很全面,不過對于想了解一下,能看懂一些C 代碼的人來說還是可以的。
  •   還好 只適合C++初學者 本來以為能有游戲程序
  •   號稱游戲,其實。。。不是心里的游戲,差的遠了
  •   說的是一些控制臺的小程序(百行左右吧),不建議買
  •   挺好的,有光盤的話更好了!
  •   實際上和普通的程序設計教材差別不大的。
  •   只適合c++菜鳥作參考,老鳥路過。
  •   書講的很好,就是太基礎了。。。其實內容跟游戲相關度不大
  •   初學者看起來應該會有些吃力,有些小細節(jié)凸顯不出來,很容易漏掉。
  •   還可以,學C++編程的,值得一看,可以入門
  •   比較適合入門吧,基礎
  •   里面的內容很適合初學者。
  •   就是c++編程,加了一個游戲的噱頭而已
  •   我喜歡,初學者的福音
  •   不錯的c++入門書,強烈推薦
  •   初學是很不錯的
  •   很不錯的,推薦閱讀
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7

<style id="s2i9j"><small id="s2i9j"><wbr id="s2i9j"></wbr></small></style>