本书把开发游戏案例应用于C语言教学, 培养学生对编程的兴趣。为了达到这一目的, 课程应用C语言的语法知识, 带领同学从无到有地开发游戏, 通过游戏案例将已学的主要语法知识和常用算法串起来。在设计的过程中尽量站在学生的角度, 降低编写游戏的难度, 不超出学生的知识范围, 逐步提高学生对编程的兴趣和能力。
第1章C语言游戏开发快速入门
1.1弹跳的小球
1.1.1显示静止的小球
1.1.2小球下落
1.1.3上下弹跳的小球
1.1.4斜着弹跳的小球
1.1.5控制小球弹跳的速度
1.1.6小结
1.2zui简单的飞机游戏
1.2.1scanf控制飞机移动
1.2.2getch控制飞机移动
1.2.3显示复杂的飞机图案
1.2.4发射激光
1.2.5打靶练习
1.2.6小结
1.3程序调试方法
1.3.1语法错误
1.3.2逻辑错误
1.3.3常用技巧
第2章函数封装的游戏开发
2.1飞机游戏
2.1.1代码重构
2.1.2新式子弹
2.1.3静止的敌机
2.1.4敌机移动
2.1.5击中敌机
2.1.6清屏功能
2.1.7小结
2.2用函数实现反弹球消砖块
2.2.1代码重构
2.2.2显示边框
2.2.3显示移动挡板
2.2.4反弹小球
2.2.5消砖块
2.2.6小结
2.3flappy bird
2.3.1下落的小鸟
2.3.2显示小鸟和障碍物
2.3.3让障碍物移动
2.3.4判断是否碰撞
2.3.5障碍物循环出现
2.3.6小结
第3章应用数组的游戏开发
3.1生命游戏
3.1.1游戏的初始化
3.1.2繁衍或死亡
3.1.3小结
3.2用数组实现反弹球消砖块
3.2.1反弹球
3.2.2增加挡板
3.2.3消砖块
3.2.4小结
3.3空战游戏
3.3.1飞机的显示与控制
3.3.2发射子弹
3.3.3击中敌机
3.3.4多台敌机
3.3.5发射散弹
3.3.6小结
3.4贪吃蛇
3.4.1构造小蛇
3.4.2小蛇的移动
3.4.3玩家控制小蛇移动
3.4.4判断游戏失败
3.4.5吃食物增加长度
3.4.6小结
3.5版本管理与团队协作
3.5.1SVN简介
3.5.2开发实践
3.5.3小结
第4章简单绘图游戏的开发
4.1EasyX快速入门
4.1.1EasyX的介绍与安装
4.1.2简易绘图
4.1.3简单动画
4.1.4小结
4.2多球反弹
4.2.1多个反弹球和墙壁碰撞
4.2.2反弹球之间相互碰撞
4.2.3小结
4.3实时钟表
4.3.1绘制静态秒针
4.3.2秒针的转动
4.3.3根据实际时间转动
4.3.4添加时针和分针
4.3.5添加表盘刻度
4.3.6小结
4.4结合游戏开发框架和EasyX绘图实现反弹球消砖块
4.4.1游戏框架代码的重构
4.4.2绘制静态挡板
4.4.3控制挡板接球
4.4.4消砖块
4.4.5小结
4.5鼠标交互
4.5.1鼠标交互基础
4.5.2用鼠标控制挡板移动
4.5.3按鼠标左键初始化小球位置
4.5.4小结
第5章应用图片与声音素材的游戏开发
5.1使用图片与声音
5.1.1图片的导入与使用
5.1.2遮罩图的使用
5.1.3flappy bird初步
5.1.4声音的导入与使用
5.1.5带音效的flappy bird
5.1.6小结
5.2飞机大战
5.2.1用鼠标控制飞机移动
5.2.2发射子弹
5.2.3增加敌机
5.2.4判断胜败
5.2.5增加音效
5.2.6小结
5.3复杂动画效果
5.3.1小人原地行走
5.3.2控制小人移动
5.3.3构建动态地图
5.3.4小结
5.4双人游戏
5.4.1双人输入的问题
5.4.2异步输入函数
5.4.3双人反弹球
5.4.4小结
第6章其他语法知识在游戏开发中的应用
6.1指针
6.1.1减少不必要的全局变量
6.1.2动态二维数组
6.1.3小结
6.2字符串
6.2.1得分的转换与输出
6.2.2音乐播放函数的封装
6.2.3静态字符阵列的创建
6.2.4一场字符雨
6.2.5字符雨动画
6.2.6小结
6.3结构体
6.3.1静止小球的初始化与显示
6.3.2小球的运动与反弹
6.3.3小球运动的规范化
6.3.4鼠标的吸引力
6.3.5鼠标的击打斥力
6.3.6鼠标的扰动力
6.3.7绝dui延时
6.3.8小结
6.4文件
6.4.1工作目录的设定
6.4.2多画面显示
6.4.3游戏的读档和存档
6.4.4小结
第7章游戏化学习C语言的知识难点
7.1递归
7.1.1传统汉诺塔
7.1.2可视化汉诺塔
7.1.3小结
7.2链表
7.2.1单个结点数据结构的定义
7.2.2两个结点的串联
7.2.3多个结点的初始化
7.2.4链表的输出
7.2.5删除结点
7.2.6小结
第8章游戏开发实践案例
8.1挖地小子
8.1.1主体功能描述
8.1.2主要实现步骤
8.2台球
8.2.1主体功能描述
8.2.2主要实现步骤
8.3太鼓达人
8.3.1主体功能描述
8.3.2主要实现步骤
8.4扫雷
8.4.1主体功能描述
8.4.2主要实现步骤
8.5蓝色药水
8.5.1主体功能描述
8.5.2主要实现步骤
8.6Rings
8.6.1主体功能描述
8.6.2主要实现步骤
8.7猪小弟
8.7.1主体功能描述
8.7.2主要实现步骤
8.8俄罗斯方块
8.8.1主体功能描述
8.8.2主要实现步骤
8.9通天魔塔
8.9.1主体功能描述
8.9.2主要实现步骤
8.101010
8.10.1主体功能描述
8.10.2主要实现步骤
8.11炸弹人
8.11.1主体功能描述
8.11.2主要实现步骤
8.12口袋妖怪
8.12.1主体功能描述
8.12.2主要实现步骤
8.13大鱼吃小鱼
8.13.1主体功能描述
8.13.2主要实现步骤
8.14小结
..............