本书把趣味游戏开发应用于C和C++编程教学,通过13个由易到难的有趣案例,带领读者从零基础开始学习。本书将编程教学穿插在游戏开发的过程中,通过游戏案例逐步讲解新的语法知识,便于读者理解其含义。书中案例均经过精心的设计,并包括详细的实现过程,适合上手,让读者学习编程的同时培养逻辑思维能力,增强认识问题、解决问题的能力。 本书带领读者搭建的案例包括: ? 仿真“自由落体的小球” ? “别碰方块”游戏 ? “旋转蛇”错觉 ? “见缝插针”游戏 ? “见缝插圆”游戏 ? “贪吃蛇”游戏 ? “十步万度”游戏 ? “推箱子”游戏 ? “十字消除”游戏 ? 樱花树 ? “坚持一百秒”游戏 ? “祖玛”游戏 ? “火柴人的无尽冒险”游戏 和市面上同类图书相比,本书有以下3个鲜明的特色。 1.为初学者量身打造。 一般编程图书会系统讲解语法知识,让初学者感到记忆负担大、学习难度高。本书先讲解较少的语法知识,然后利用这些语法知识编写趣味游戏,通过游戏案例逐步引入新的语法知识,便于读者学习理解。书中案例从易到难,且提供了实现过程的分步骤代码,适合学习。 2.趣味性强。 大部分C和C++图书的编程案例比较抽象、枯燥乏味,让读者提不起兴趣。本书精选了13个案例,涵盖了多种游戏类型,读者在开发这些趣味程序的过程中,会有很强的成就感。书中分解了案例的实现过程,每个步骤的学习成本较低,读者很容易就能体会到编程的乐趣。 3.可拓展性强。 本书所有章节均提供了练习题,以加深读者对语法知识、开发游戏方法的理解,培养读者逻辑思维能力,认识问题、解决问题的能力。附录中提供了所有练习题的参考答案。每章小结列出了可以进一步改进与实践的方向,读者可以参考本书开发思路,尝试设计并分步骤实现任何自己喜欢的小游戏。 作者具有 15 年的一线编程教学经验,被评为河海大学优秀主讲教师。开设课程广受好评,在知乎、网易云课堂、中国大学 MOOC 等线上平台已有上百万次的阅读量。
售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权
内容提要
前 言
资源与支持
第1章 C和C++与开发环境介绍
1.1 什么是C和C++
1.2 集成开发环境
1.3 小结
第2章 仿真“自由落体的小球”
2.1 下载安装图形库
2.2 显示一个静止小球
2.3 显示多个小球
2.4 利用变量修改多个小球的位置
2.5 小球下落动画
2.6 利用while实现小球下落动画
2.7 利用if语句实现小球重复下落
2.8 小球落地反弹
2.9 小球加速下落
2.10 小结
第3章 “别碰方块”游戏
3.1 字符
3.2 按空格键控制小球起跳
3.3 方块的绘制与移动
3.4 小球和方块的碰撞判断
3.5 随机方块的速度和高度
3.6 得分的计算与显示
3.7 避免空中起跳
3.8 小结
第4章 “旋转蛇”错觉
4.1 绘制扇形
4.2 RGB颜色模型
4.3 绘制一个扇形单元
4.4 for循环语句
4.5 循环的嵌套
4.6 HSV颜色模型
4.7 按键切换效果
4.8 小结
第5章 “见缝插针”游戏
5.1 绘制圆盘与针
5.2 针的旋转
5.3 利用数组实现多根针的绘制
5.4 批量绘制函数
5.5 针的发射与新增
5.6 游戏失败判断
5.7 得分与显示效果改进
5.8 小结
第6章 “见缝插圆”游戏
6.1 利用数组记录多个随机圆
6.2 每次增加一个随机圆
6.3 新圆不和已有圆相交
6.4 函数的定义与应用
6.5 新圆半径最大化
6.6 函数封装多种绘制效果
6.7 按键互动
6.8 小结
第7章 “贪吃蛇”游戏
7.1 变量作用域与游戏框架
7.2 基于二维数组的游戏地图
7.3 小蛇向右移动
7.4 控制小蛇向4个方向移动
7.5 时间控制的改进
7.6 失败判断与显示
7.7 添加食物
7.8 小结
第8章 “十步万度”游戏
8.1 结构体
8.2 鼠标交互
8.3 被鼠标点击后旋转
8.4 函数的参数传递
8.5 旋转的传播
8.6 操作步数与旋转度数
8.7 小结
第9章 “推箱子”游戏
9.1 字符串与字符数组
9.2 应用字符数组存储关卡数据
9.3 键盘控制游戏角色移动
9.4 元素更新的实现
9.5 游戏胜利判断
9.6 多关卡的实现
9.7 基于文件的关卡数据读取
9.8 枚举类型
9.9 小结
第10章 “十字消除”游戏
10.1 红色方块的表示与绘制
10.2 随机颜色方块的实现
10.3 鼠标点击与十字消除
10.4 方块提示框的绘制
10.5 倒计时与进度条
10.6 得分计算与胜负判断
10.7 多关卡与增加游戏难度
10.8 地址与指针
10.9 指针与数组
10.10 小结
第11章 樱花树
11.1 递归
11.2 分形与递归
11.3 绘制樱花树
11.4 显示绘制过程动画
11.5 小结
第12章 “坚持一百秒”游戏
12.1 背景与火箭图片的显示
12.2 基于结构体的反弹子弹
12.3 面向对象版本的子弹
12.4 每隔2秒增加一颗子弹
12.5 添加火箭类
12.6 碰撞判断与火箭爆炸
12.7 坚持时间与多条生命的显示
12.8 添加音乐音效
12.9 添加智能飞碟类
12.10 小结
第13章 “祖玛”游戏
13.1 链表
13.2 C++标准模板库
13.3 顶点类与轨迹类
13.4 添加小球类
13.5 将小球放置在轨迹线上
13.6 小球自动沿着轨迹运动
13.7 小球的插入与消除
13.8 添加炮台类
13.9 炮台旋转与更改小球颜色
13.10 炮台发射小球
13.11 连续出球与胜负判断
13.12 添加音效和复杂轨道
13.13 小结
第14章 “火柴人的无尽冒险”游戏
14.1 定义Player类
14.2 异步输入与延时改进
14.3 枚举类型状态切换
14.4 添加奔跑动画
14.5 跳跃的实现
14.6 添加地面类与场景类
14.7 火柴人与地面的碰撞检测
14.8 相对运动效果的实现
14.9 无尽关卡与胜负判断
14.10 添加敌人类
14.11 添加音效和更多图片
14.12 小结
附录A 练习题参考答案
附录B 语法知识索引
附录C 调试方法与辅助工具
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜