课程概述

C语言是一门重要的基础课程,应用广泛,也是不少后续课程的基础。然而,由于C语言语法规则较多,在实际编程时又相对灵活,很多初学者接触这门课程会觉得有难度,普遍有畏惧心理。目前教学方法一般偏向于语法规则的介绍,实例偏数学算法,过于抽象、趣味性不强,学生不愿写程序,进而觉得入门困难。

针对这些问题,本课程把游戏开发实践应用于C语言课程设计教学,培养学生对编程的兴趣。为了达到这一目的,我们应用C语言的语法知识带领同学从无到有地开发游戏,通过游戏案例逐步应用学到的语法知识,在实际编程中加深体会。课程设计中尽量站在初学者的角度,降低开发游戏的难度,不超出所学知识范围,逐步提高读者对编程的兴趣和能力。

美国著名教育家杜威曾说过:“大多数的人,只知道对五官接触的、能够实用的东西才有趣味,书本上的趣味是没有的”。同样对于C语言这门课程,让学生看到用C语言可以编出很好玩的程序,学生感到有趣、有成就感,就会自己花时间钻研,师生积极互动,教学效果也因此得到改进。

该授课方法已在实际教学中验证,同学们对编程产生了浓厚的兴趣,能够主动学习,大一学生普遍能写出千行代码的复杂游戏,编程能力显著提升。


证书要求

课程的总分达到60分以上,可以获得本课程的合格证书。

课程的总分达到85分以上,可以获得本课程的优秀证书。


预备知识

学习本课程不需要特别的专门知识。

授课大纲

第一章 课程介绍(0.5学时)

1.1 课程简介

1.2 2015级计科新生-C语言游戏制作视频

1.3 2016级计科新生-C语言游戏制作视频

1.4 2017级计科新生-C语言游戏制作视频

第二章 程序设计基本概念(0.5学时)

2.1 Hello World

2.2 C语言程序的基本结构

第三章 C语言快速入门(3学时)

3.1 数据类型、常量变量

3.2 求长方形面积

3.3 算术运算符、类型转换

3.4 关系运算符、逻辑运算符

3.5 格式输出函数

3.6 格式输入函数

第四章 程序基本结构及游戏开发快速入门(8学时)

4.1 顺序结构

4.2 选择结构

4.3 循环结构

4.4 弹跳小球

4.5 最简单的飞机游戏

4.6 基本程序设计

第五章 函数封装的游戏开发(8学时)

5.1 函数

5.2 正弦函数sin(x)的实现

5.3 变量的作用域与修饰符

5.4 函数封装的飞机游戏

5.5 反弹球消砖块

5.6 flappy bird

5.7 包含文件与宏定义

5.8 是男人就坚持100秒

第六章  应用数组的游戏开发(8学时)

6.1 一维数组

6.2 二维数组

6.3 生命游戏

6.4 数组算法例题

6.5 空战游戏

6.6 贪吃蛇

6.7 反弹球消砖块

第七章 简单绘图游戏开发(4学时)

7.1 EasyX快速入门

7.2 简单动画

7.3 实时钟表

7.4 鼠标交互

第八章 应用图片音乐素材的游戏开发(4学时)

8.1 flappy bird

8.2 飞机大战

8.3 复杂动画效果

8.4 双人游戏异步输入

第九章 其他语法知识及其在游戏开发中的应用(10学时)

9.1 指针

9.2 动态数组在游戏中的应用

9.3 字符串基础

9.4 字符串处理库函数

9.5 游戏得分显示

9.6 字符雨动画

9.7 结构体

9.8 链表

9.9 枚举类型

9.10 游戏数据结构的改进

9.11 文件

9.12 游戏存档与读档

9.13 递归

9.14 汉诺塔可视化


第十章 C语言游戏开发项目实践(2学时)

参考资料

《C Primer Plus 第6版 中文版》,史蒂芬·普拉达(Stephen Prata),人民邮电出版社,2016

《C语言课程设计与游戏开发实践教程》,童晶等,清华大学出版社,2017