图书介绍

通过游戏编程实战教新手学C++编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

通过游戏编程实战教新手学C++编程
  • (美)道森著;万千译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302271956
  • 出版时间:2011
  • 标注页数:295页
  • 文件大小:28MB
  • 文件页数:311页
  • 主题词:C语言-程序设计;游戏-应用程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

通过游戏编程实战教新手学C++编程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 类型、变量与标准 I/O: Lost Fortune1

1.1 C++简介1

1.1.1使用C++编写游戏1

1.1.2生成可执行文件2

1.1.3错误处理3

1.1.4理解ISO标准3

1.2编写第一个C++程序4

1.2.1 Game Over程序简介4

1.2.2注释5

1.2.3使用空白字符5

1.2.4包含其他文件5

1.2.5定义main()函数6

1.2.6通过标准输出显示文本6

1.2.7语句的终止7

1.2.8从main()函数返回值7

1.3使用std名称空间8

1.3.1 Game Over 2.0程序简介8

1.3.2使用usmg指令8

1.3.3 Game Over 3.0程序简介8

1.3.4使用using声明9

1.3.5使用using的时机9

1.4使用算术运算符9

1.4.1 Expensive Calculator程序简介10

1.4.2加法、减法与乘法11

1.4.3理解整型与浮点型除法11

1.4.4使用取模运算符11

1.4.5运算符的优先级11

1.5声明和初始化变量12

1.5.1 Game Stats程序简介12

1.5.2基本类型13

1.5.3类型修饰符13

1.5.4变量声明14

1.5.5变量命名15

1.5.6变量的赋值15

1.5.7变量初始化16

1.5.8显示变量值16

1.5.9获取用户输入17

1.5.10为类型定义新名称17

1.5.11类型的选择17

1.6使用变量进行算术运算18

1.6.1 Game Stats 2.0程序简介18

1.6.2修改变量值19

1.6.3使用组合赋值运算符19

1.6.4递增运算符与递减运算符20

1.6.5整数的溢出处理21

1.7使用常量21

1.7.1 Game Stats 3.0程序简介21

1.7.2使用常量22

1.7.3使用枚举类型23

1.8 Lost Fortune简介23

1.8.1创建程序24

1.8.2从玩家获取信息24

1.8.3讲故事25

1.9本章小结26

1.10问与答26

1.11问题讨论27

1.12习题27

第2章 真值、分支与游戏循环:Guess My Number29

2.1理解真值29

2.2使用if语句30

2.2.1 Score Rater程序简介30

2.2.2验证真与假32

2.2.3值的真与假33

2.2.4使用关系运算符33

2.2.5 if语句的嵌套34

2.3使用else子句34

2.3.1 Score Rater 2.0程序简介34

2.3.2创建分支36

2.4使用带else子句的if语句序列36

2.4.1 Score Rater 3.0程序简介36

2.4.2创建带else子句的if语句序列38

2.5使用switch语句38

2.5.1 Menu Chooser程序简介39

2.5.2创建多路分支40

2.6使用while循环40

2.6.1 Play Again游戏简介41

2.6.2使用while循环42

2.7使用do循环42

2.7.1 Play Again 2.0程序简介42

2.7.2使用do循环43

2.8使用break和continue语句44

2.8.1 Finicky Counter程序简介44

2.8.2创建while(true)循环45

2.8.3使用break语句退出循环45

2.8.4使用continue语句跳转到循环开始45

2.8.5使用break和continue的时机46

2.9使用逻辑运算符46

2.9.1 Designers Network程序简介46

2.9.2使用逻辑与运算符48

2.9.3使用逻辑或运算符49

2.9.4使用逻辑非运算符49

2.9.5运算符的优先级50

2.10随机数的生成50

2.10.1 Die Roller程序简介51

2.10.2调用rand()函数51

2.10.3为随机数生成器确定种子52

2.10.4在一定范围内计算52

2.11理解游戏主循环53

2.12 Guess My Number游戏简介54

2.12.1采用游戏主循环54

2.12.2初始化游戏55

2.12.3创建游戏主循环56

2.12.4游戏结束56

2.13本章小结56

2.14问与答57

2.15 问题讨论58

2.16习题59

第3章for循环、字符串与数组:Word Jumble61

3.1使用for循环61

3.1.1 Counter程序简介62

3.1.2使用for循环计数63

3.1.3在for循环中使用空语句64

3.1.4 for循环的嵌套64

3.2理解对象65

3.3使用string对象66

3.3.1 String Tester程序简介67

3.3.2创建string对象68

3.3.3 string对象的连接68

3.3.4使用size()成员函数69

3.3.5索引string对象69

3.3.6循环访问string对象70

3.3.7使用find()成员函数70

3.3.8使用erase()成员函数71

3.3.9使用empty()成员函数71

3.4使用数组72

3.4.1 Hero’s Inventory程序简介72

3.4.2创建数组73

3.4.3数组的索引74

3.4.4使用数组元素的成员函数75

3.4.5数组边界75

3.5理解C风格字符串76

3.6使用多维数组77

3.6.1 Tic-Tac-Toe Board程序简介77

3.6.2创建多维数组78

3.6.3多维数组的索引79

3.7 Word Jumble程序简介79

3.7.1创建程序80

3.7.2选择单词80

3.7.3单词乱序81

3.7.4欢迎界面81

3.7.5进入游戏主循环82

3.7.6游戏结束82

3.8本章小结82

3.9问与答83

3.10问题讨论84

3.11习题85

第4章 标准模板库:Hangman87

4.1标准模板库简介87

4.2使用vector88

4.2.1 Hero’s Inventory 2.0程序简介88

4.2.2使用向量的准备工作90

4.2.3向量的声明90

4.2.4使用push_ back()成员函数91

4.2.5使用size()成员函数91

4.2.6向量的索引91

4.2.7调用元素的成员函数92

4.2.8使用pop_ back()成员函数92

4.2.9使用clear()成员函数92

4.2.10使用empty()成员函数92

4.3使用迭代器93

4.3.1 Hero’s Inventory 3.0程序简介93

4.3.2迭代器的声明94

4.3.3循环访问向量95

4.3.4修改向量元素的值97

4.3.5访问向量元素的成员函数97

4.3.6使用向量的成员函数insert()98

4.3.7使用向量的成员函数erase()98

4.4使用算法99

4.4.1 High Scores程序简介99

4.4.2使用算法的准备工作101

4.4.3使用fimd()算法101

4.4.4使用random_ shuffle()算法101

4.4.5使用sort()算法102

4.5理解向量的性能102

4.5.1向量的增长103

4.5.2元素的插入与删除104

4.6其他STL容器104

4.7对程序进行规划105

4.7.1使用伪代码105

4.7.2逐步细化106

4.8 Hangman简介106

4.8.1游戏规划107

4.8.2创建程序107

4.8.3变量与常量的初始化108

4.8.4进入游戏主循环108

4.8.5获取玩家的猜测108

4.8.6游戏结束109

4.9本章小结110

4.10问与答110

4.11问题讨论111

4.12习题111

第5章 函数:Mad Lib113

5.1创建函数113

5.1.1 Instructions程序简介113

5.1.2函数声明114

5.1.3函数定义115

5.1.4函数调用115

5.1.5理解抽象115

5.2使用形参和返回值116

5.2.1 Yes or No程序简介116

5.2.2返回值117

5.2.3传递参数值118

5.2.4理解封装119

5.3理解软件重用120

5.4使用作用域120

5.4.1 Scoping程序简介120

5.4.2使用独立的作用域122

5.4.3使用嵌套作用域123

5.5使用全局变量124

5.5.1 Global Reach程序简介124

5.5.2声明全局变量125

5.5.3访问全局变量125

5.5.4隐藏全局变量125

5.5.5修改全局变量126

5.5.6尽量少使用全局变量126

5.6使用全局常量126

5.7使用默认参数127

5.7.1 Give Me a Number程序简介127

5.7.2指定默认参数128

5.7.3为形参设置默认参数129

5.7.4重写默认参数129

5.8函数重载130

5.8.1 Triple程序简介130

5.8.2创建重载函数131

5.8.3调用重载函数131

5.9内联函数132

5.9.1 Taking Damage程序简介132

5.9.2函数内联的指定133

5.9.3调用内联函数133

5.10 Mad Lib游戏简介134

5.10.1创建程序134

5.10.2 main()函数135

5.10.3 askText()函数135

5.10.4 askNumber()函数135

5.10.5 tellStory()函数136

5.11本章小结136

5.12问与答137

5.13问题讨论138

5.14习题138

第6章 引用:Tic-Tac-Toe139

6.1使用引用139

6.1.1 Referencing程序简介139

6.1.2创建引用140

6.1.3访问被引用的值141

6.1.4修改被引用的值141

6.2通过传递引用改变实参142

6.2.1 Swap程序简介142

6.2.2按值传递参数144

6.2.3按引用传递参数144

6.3传递引用以提高效率145

6.3.1 Inventory Displayer程序简介145

6.3.2引用传递的陷阱146

6.3.3以常量引用声明参数146

6.3.4传递常量引用147

6.4如何传递实参147

6.5返回引用148

6.5.1 Inventory Referencer程序简介148

6.5.2返回一个引用149

6.5.3显示返回的引用的值150

6.5.4将返回的引用赋值给引用150

6.5.5将返回的引用赋值给变量150

6.5.6通过返回的引用修改对象150

6.6 Tic-Tac-Toe游戏简介151

6.6.1游戏规划151

6.6.2创建程序153

6.6.3 main()函数154

6.6.4 instructions()函数155

6.6.5 askYesNo()函数155

6.6.6 askNumber()函数156

6.6.7 humanPiece()函数156

6.6.8 opponent()函数156

6.6.9 displayBoard()函数157

6.6.10 winner()函数157

6.6.11 isLegal()函数158

6.6.12 humanMove()函数159

6.6.13 computerMove()函数159

6.6.14 announceWinner()函数161

6.7本章小结162

6.8问与答162

6.9问题讨论164

6.10习题164

第7章 指针:Tic-Tac-Toe 2.0165

7.1指针基础165

7.1.1 Pointing程序简介166

7.1.2指针的声明167

7.1.3指针的初始化168

7.1.4将地址赋值给指针168

7.1.5指针的解引用169

7.1.6指针的重新赋值169

7.1.7使用对象的指针170

7.2指针和常量171

7.2.1使用常量指针171

7.2.2使用指向常量的指针172

7.2.3使用指向常量的常量指针172

7.2.4常量与指针小结173

7.3传递指针173

7.3.1 Swap Pointer Version程序简介173

7.3.2值传递175

7.3.3传递常量指针175

7.4返回指针176

7.4.1 Inventory Pointer程序简介176

7.4.2返回指针178

7.4.3使用返回的指针显示值179

7.4.4将返回的指针赋值给指针179

7.4.5将返回的指针指向的值赋值给变量179

7.4.6通过返回的指针修改对象180

7.5理解指针与数组的关系181

7.5.1 Array Passer程序简介181

7.5.2将数组名用作常量指针182

7.5.3数组的传递与返回182

7.6 Tic-Tac-Toe 2.0程序简介183

7.7本章小结184

7.8问与答185

7.9问题讨论186

7.10习题186

第8章类:Critter Caretaker187

8.1定义新类型187

8.1.1 Simple Critter程序简介187

8.1.2类的定义189

8.1.3成员函数的定义189

8.1.4对象的实例化190

8.1.5数据成员的访问190

8.1.6成员函数的调用190

8.2使用构造函数191

8.2.1 Constructor Critter程序简介191

8.2.2构造函数的声明与定义192

8.2.3构造函数的自动调用193

8.3设置成员访问级别193

8.3.1 Private Critter程序简介193

8.3.2指定公有与私有访问级别195

8.3.3定义访问器成员函数196

8.3.4定义常量成员函数197

8.4使用静态数据成员与静态成员函数197

8.4.1 Static Critter程序简介197

8.4.2声明与初始化静态数据成员199

8.4.3访问静态数据成员199

8.4.4声明与定义静态成员函数200

8.4.5调用静态成员函数200

8.5 Critter Caretaker游戏简介201

8.5.1游戏规划201

8.5.2规划伪代码202

8.5.3 Critter类202

8.5.4 main()函数205

8.6本章小结206

8.7问与答207

8.8问题讨论208

8.9习题208

第9章 高级类与动态内存:Game Lobby211

9.1使用聚合体211

9.1.1 Critter Farm程序简介212

9.1.2使用对象数据成员213

9.1.3使用容器数据成员214

9.2使用友元函数与运算符重载215

9.2.1 Friend Critter程序简介215

9.2.2创建友元函数217

9.2.3运算符重载217

9.3动态分配内存218

9.3.1 Heap程序简介218

9.3.2使用new运算符220

9.3.3使用delete运算符221

9.3.4避免内存泄漏221

9.4使用数据成员与堆223

9.4.1 Heap Data Member程序简介223

9.4.2声明指向堆中值的指针数据成员225

9.4.3声明与定义析构函数226

9.4.4声明与定义拷贝构造函数227

9.4.5赋值运算符的重载229

9.5 Game Lobby程序简介231

9.5.1 Player类232

9.5.2 Lobby类233

9.5.3 Lobby::AddPlayer()成员函数234

9.5.4 Lobby::RemovePlayer()成员函数236

9.5.5 Lobby::Clear()成员函数237

9.5.6 operator<<()成员函数237

9.5.7 main()函数237

9.6本章小结238

9.7问与答239

9.8问题讨论240

9.9习题240

第10章 继承与多态:Blackjack241

10.1继承简介241

10.1.1 Simple Boss程序简介242

10.1.2从基类派生244

10.1.3从派生类实例化对象245

10.1.4使用继承成员245

10.2继承访问权的控制246

10.2.1 Simple Boss 2.0程序简介246

10.2.2对类成员使用访问修饰符247

10.2.3使用访问修饰符修饰派生类247

10.3调用与重写基类成员函数248

10.3.1 Overriding Boss程序简介248

10.3.2调用基类构造函数250

10.3.3声明虚基类成员函数250

10.3.4重写虚基类成员函数251

10.3.5调用基类成员函数251

10.4在派生类中使用重载赋值运算符与拷贝构造函数252

10.5多态简介253

10.5.1 Polymorphic Bad Guy程序简介253

10.5.2使用基类指针指向派生类对象255

10.5.3定义虚析构函数256

10.6使用抽象类257

10.6.1 Abstract Creature程序简介257

10.6.2声明纯虚函数258

10.6.3从抽象类派生类259

10.7 Blackjack游戏简介259

10.7.1类的设计260

10.7.2规划游戏的逻辑263

10.7.3 Card类264

10.7.4 Hand类265

10.7.5 GenericPlayer类267

10.7.6 Player类268

10.7.7 House类269

10.7.8 Deck类270

10.7.9 Game类272

10.7.10 main()函数275

10.8本章小结277

10.9问与答277

10.10问题讨论278

10.11习题279

附录A创建第一个C++程序281

附录B运算符优先级285

附录C关键字287

附录D ASCII字符表289

附录E转义序列295

热门推荐