猜你喜欢

C和C++游戏趣味编程(全彩印刷)

书籍作者:童晶 ISBN:9787115551993
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9301
创建日期:2021-10-07 发布日期:2021-10-07
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书通过趣味案例逐步引入语法知识,教读者用C?和?C++编写游戏程序,激发读者学习编程的兴趣。全书共14章和3个附录,依次介绍了C和C++编程语言的基本概念、数据类型、if语句、while循环、for循环、一维数组、函数、二维数组、字符串、文件读写、指针、递归、面向对象编程、链表和C++标准模板库等知识,其中贯穿了众多的小案例和游戏,最后综合应用这些知识编写了一款冒险游戏。附录分别给出了练习题的参考答案、语法知识索引以及常用的调试方法和辅助开发工具。本书适合不同年龄、不同层次的 C 与 C++ 编程初学者阅读和自学,也可以作为中学生、大学生学习程序设计的教材和少儿编程培训机构的参考教材。

作者简介

童晶,浙江大学计算机专业博士,河海大学计算机系副教授、硕士生导师,中科院兼职副研究员,主要研究方向为计算机图形学、数字化艺术、虚拟现实、三维打印等,曾发表学术论文 30 余篇。具有 15 年的一线编程教学经验,被评为河海大学优秀主讲教师。开设课程在校内广受好评,在知乎、网易云课堂、中国大学 MOOC 等线上平台已有上百万次的阅读量。积极投身教学与学生创新,曾指导学生获得英特尔嵌入式比赛全国一等奖、“挑战杯”全国三等奖、“中国软件杯”全国一等奖、中国大学生服务外包大赛全国一等奖等众多奖项。

编辑推荐

1.为初学者量身打造
循序渐进,适合零基础入门者学习。书中案例从易到难,且提供了实现过程的分步骤代码;
2.趣味性强
本书精选了13个案例,涵盖多种游戏类型,在开发趣味程序的过程中,会有很强的成就感;
3.可拓展性强
所有章节均提供练习题,培养读者逻辑思维的能力;
4.配套资源丰富
提供演示视频、配套资源代码和素材、书中每章练习题答案、书中配套彩图文件;
5.全彩印刷


本书把趣味游戏开发应用于C和C++编程教学,通过13个由易到难的有趣案例,带领读者从零基础开始学习。本书将编程教学穿插在游戏开发的过程中,通过游戏案例逐步讲解新的语法知识,便于读者理解其含义。书中案例均经过精心的设计,并包括详细的实现过程,适合上手,让读者学习编程的同时培养逻辑思维能力,增强认识问题、解决问题的能力。

本书带领读者搭建的案例包括:
·仿真“自由落体的小球”
·“别碰方块”游戏
·“旋转蛇”错觉
·“见缝插针”游戏
·“见缝插圆”游戏
·“贪吃蛇”游戏
·“十步万度”游戏
·“推箱子”游戏
·“十字消除”游戏
·樱花树
·“坚持一百秒”游戏
·“祖玛”游戏
·“火柴人的无尽冒险”游戏

和市面上同类图书相比,本书有以下3个鲜明的特色。
1.为初学者量身打造。
一般编程图书会系统讲解语法知识,让初学者感到记忆负担大、学习难度高。本书先讲解较少的语法知识,然后利用这些语法知识编写趣味游戏,通过游戏案例逐步引入新的语法知识,便于读者学习理解。书中案例从易到难,且提供了实现过程的分步骤代码,适合学习。
2.趣味性强。
大部分C和C++图书的编程案例比较抽象、枯燥乏味,让读者提不起兴趣。本书精选了13个案例,涵盖了多种游戏类型,读者在开发这些趣味程序的过程中,会有很强的成就感。书中分解了案例的实现过程,每个步骤的学习成本较低,读者很容易就能体会到编程的乐趣。
3.可拓展性强。
本书所有章节均提供了练习题,以加深读者对语法知识、开发游戏方法的理解,培养读者逻辑思维能力,认识问题、解决问题的能力。附录中提供了所有练习题的参考答案。每章小结列出了可以进一步改进与实践的方向,读者可以参考本书开发思路,尝试设计并分步骤实现任何自己喜欢的小游戏。

作者具有 15 年的一线编程教学经验,被评为河海大学优秀主讲教师。开设课程广受好评,在知乎、网易云课堂、中国大学 MOOC 等线上平台已有上百万次的阅读量。

目录
第 1 章 C 和 C++ 与开发环境介绍 1
1.1 什么是 C 和 C++ 1
1.2 集成开发环境 2
1.3 小结 6
第 2 章 仿真“自由落体的小球” 7
2.1 下载安装图形库 8
2.2 显示一个静止小球 11
2.3 显示多个小球 13
2.4 利用变量修改多个小球的位置 16
2.5 小球下落动画 20
2.6 利用 while 实现小球下落动画 21
2.7 利用 if 语句实现小球重复下落 24
2.8 小球落地反弹 26
2.9 小球加速下落 27
2.10 小结 30
第 3 章 “别碰方块”游戏 31
3.1 字符 32
3.2 按空格键控制小球起跳 34
3.3 方块的绘制与移动 35
3.4 小球和方块的碰撞判断 38
3.5 随机方块的速度和高度 39
3.6 得分的计算与显示 42
3.7 避免空中起跳 46
3.8 小结 46
第 4 章 “旋转蛇”错觉 47
4.1 绘制扇形 48
4.2 RGB 颜色模型 49
4.3 绘制一个扇形单元 51
4.4 for 循环语句 52
4.5 循环的嵌套 56
4.6 HSV 颜色模型 60
4.7 按键切换效果 63
4.8 小结 66
第 5 章 “见缝插针”游戏 67
5.1 绘制圆盘与针 68
5.2 针的旋转 69
5.3 利用数组实现多根针的绘制 72
5.4 批量绘制函数 76
5.5 针的发射与新增 76
5.6 游戏失败判断 79
5.7 得分与显示效果改进 81
5.8 小结 84
第 6 章 “见缝插圆”游戏 85
6.1 利用数组记录多个随机圆 86
6.2 每次增加一个随机圆 88
6.3 新圆不和已有圆相交 90
6.4 函数的定义与应用 93
6.5 新圆半径最大化 99
6.6 函数封装多种绘制效果 101
6.7 按键互动 103
6.8 小结 106
第 7 章 “贪吃蛇”游戏 107
7.1 变量作用域与游戏框架 108
7.2 基于二维数组的游戏地图 110
7.3 小蛇向右移动 115
7.4 控制小蛇向 4 个方向移动 117
7.5 时间控制的改进 120
7.6 失败判断与显示 122
7.7 添加食物 124
7.8 小结 129
第 8 章 “十步万度”游戏 130
8.1 结构体 131
8.2 鼠标交互 135
8.3 被鼠标点击后旋转 137
8.4 函数的参数传递 139
8.5 旋转的传播 141
8.6 操作步数与旋转度数 142
8.7 小结 147
第 9 章 “推箱子”游戏 148
9.1 字符串与字符数组 149
9.2 应用字符数组存储关卡数据 152
9.3 键盘控制游戏角色移动 156
9.4 元素更新的实现 157
9.5 游戏胜利判断 160
9.6 多关卡的实现 162
9.7 基于文件的关卡数据读取 170
9.8 枚举类型 172
9.9 小结 173
第 10 章 “十字消除”游戏 174
10.1 红色方块的表示与绘制 175
10.2 随机颜色方块的实现 177
10.3 鼠标点击与十字消除 179
10.4 方块提示框的绘制 182
10.5 倒计时与进度条 183
10.6 得分计算与胜负判断 187
10.7 多关卡与增加游戏难度 188
10.8 地址与指针 196
10.9 指针与数组 199
10.10 小结 203
第 11 章 樱花树 204
11.1 递归 205
11.2 分形与递归 210
11.3 绘制樱花树 215
11.4 显示绘制过程动画 218
11.5 小结 222
第 12 章 “坚持一百秒”游戏 223
12.1 背景与火箭图片的显示 224
12.2 基于结构体的反弹子弹 229
12.3 面向对象版本的子弹 231
12.4 每隔 2 秒增加一颗子弹 234
12.5 添加火箭类 236
12.6 碰撞判断与火箭爆炸 237
12.7 坚持时间与多条生命的显示 239
12.8 添加音乐音效 245
12.9 添加智能飞碟类 246
12.10 小结 248
第 13 章 “祖玛”游戏 249
13.1 链表 250
13.2 C++ 标准模板库 253
13.3 顶点类与轨迹类 256
13.4 添加小球类 260
13.5 将小球放置在轨迹线上 262
13.6 小球自动沿着轨迹运动 264
13.7 小球的插入与消除 270
13.8 添加炮台类 272
13.9 炮台旋转与更改小球颜色 274
13.10 炮台发射小球 275
13.11 连续出球与胜负判断 277
13.12 添加音效和复杂轨道 278
13.13 小结 280
第 14 章 “火柴人的无尽冒险”游戏 281
14.1 定义 Player 类 282
14.2 异步输入与延时改进 285
14.3 枚举类型状态切换 286
14.4 添加奔跑动画 288
14.5 跳跃的实现 290
14.6 添加地面类与场景类 292
14.7 火柴人与地面的碰撞检测 294
14.8 相对运动效果的实现 296
14.9 无尽关卡与胜负判断 298
14.10 添加敌人类 300
14.11 添加音效和更多图片 303
14.12 小结 305
附录 A 练习题参考答案 307
附录 B 语法知识索引 337
附录 C 调试方法与辅助工具 342
短评

物流给力,正版新书!

2021-03-05 11:11:27