发表于2024-12-23
本书把游戏开发实践应用于C语言课程设计教学,应用C语言从无到有开发游戏,通过游戏案例逐步应用学到的语法知识,提升读者对编程的兴趣和能力。书中第1~3章学习普通Win32程序的游戏开发,第4~5章学习图形交互游戏开发,第6~7章进行后续语法知识的学习与应用,第8章介绍了多个游戏开发实践案例。
本书可以作为理工科大学生程序设计或者C语言程序设计的配套教材,也可以作为编程爱好者的自学辅导书。
目录
第1章C语言游戏开发快速入门
1.1弹跳的小球
1.1.1显示静止的小球
1.1.2小球下落
1.1.3上下弹跳的小球
1.1.4斜着弹跳的小球
1.1.5控制小球弹跳的速度
1.1.6小结
1.2最简单的飞机游戏
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.3flappybird
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.3flappybird初步
5.1.4声音的导入与使用
5.1.5带音效的flappybird
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绝对延时
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小结
前言
C语言是一门重要的基础课程,应用广泛,也是不少后续课程的基础。然而,由于C语言的语法规则较多,在实际编程时又相对灵活,很多初学者接触这门课程会觉得有难度,普遍有畏惧心理。目前的配套教材一般偏向于对语法规则的介绍,实例偏数学算法,过于抽象,趣味性不强,学生不愿写程序,进而觉得入门困难。
针对这些问题,本书把游戏开发实践应用于C语言课程设计教学,培养学生对编程的兴趣。为了达到这一目的,本书应用C语言的语法知识带领同学从无到有地开发游戏,通过游戏案例逐步应用学到的语法知识,在实际编程中加深体会。在课程设计中尽量站在初学者的角度,降低开发游戏的难度,不超出所学知识范围,逐步提高读者对编程的兴趣和能力。
美国著名教育家杜威曾说过:“大多数的人,只知道对五官接触的、能够实用的东西才有趣味,书本上的趣味是没有的。”同样对于C语言这门课程,让学生看到用C语言可以编出很好玩的程序,学生感到有趣、有成就感,就会自己花时间钻研,师生积极互动,教学效果也因此得到改进。
本书的授课方法已在实际教学中验证,同学们对编程产生了浓厚的兴趣,能够主动学习,大一学生普遍能写出数千行代码的复杂游戏,编程能力显著提升。对应效果请参看“\随书资源\第8章\2016级计科新生C语言游戏制作视频.flv”。
各章的主要内容如下:
第1章,学习printf、scanf、if…else、while、for语句后进行弹跳的小球、飞机游戏的开发,并介绍程序调试的方法与技巧。
第2章,学习函数后,利用函数封装及标准的游戏框架进行飞机游戏、反弹球消砖块、flappybird的开发。
第3章,学习数组后,利用数组改进数据结构,实现生命游戏、反弹球消砖块、空战游戏、贪吃蛇的开发,并介绍SVN代码管理工具。
第4章,学习简单的绘图工具,并进行多球反弹、实时钟表、反弹球消砖块、鼠标交互的学习开发。
第5章,学习图片与音乐素材的导入和使用,并进行flappybird、飞机大战、行走的小人、双人反弹球的学习开发。
第6章,利用后续语法知识进一步改进游戏程序,如指针创建动态数组、字符串控制得分显示、结构体改进数据结构、文件用于游戏存档等,实现《黑客帝国》中的字符雨动画、互动粒子仿真、具有多界面和存档功能的飞机大战游戏。
第7章,利用游戏化学习的思路学习C语言的两个知识难点——递归与链表。
第8章,介绍多个游戏开发实践案例,包括挖地小子、台球、太鼓达人、扫雷、蓝色药水、Rings、猪小弟、俄罗斯方块、通天魔塔、1010、炸弹人、口袋妖怪、大鱼吃小鱼,对每个案例均讲解了主体功能、实现思路,并提供分步骤源代码的下载。
编者
2017年5月
C语言课程设计与游戏开发实践教程(面向“工程教育认证”计算机系列课程规划教材) 下载 mobi pdf epub txt 电子书 格式 2024
C语言课程设计与游戏开发实践教程(面向“工程教育认证”计算机系列课程规划教材) 下载 mobi epub pdf 电子书厉害了?。?!。。?!~?。。。??!!!
评分能看不?。。。。。
评分能看不?。。。。。
评分好书,慢慢研究
评分知乎上看到的,支持一下!
评分很好的一本书看着很有意思
评分……………………………………………………………………………………………………………………………………………………………
评分这书是为数不多 的教你怎么用c语言开发游戏的书,但是这个书里面的代码几乎都要进行修改才能运行 直接复制运行是不行的 这对出血真来说非常的不好!
评分挺好的一本书,在知乎上看到的。评价挺多就买了
C语言课程设计与游戏开发实践教程(面向“工程教育认证”计算机系列课程规划教材) mobi epub pdf txt 电子书 格式下载 2024