基于游戏开发的C语言程序设计入门与实践
基于游戏开发的C语言程序设计入门与实践
1万+ 人选课
更新日期:2025/05/18
开课平台爱课程(中国大学MOOC)
开课高校河海大学
开课教师童晶
学科专业工学计算机类
开课时间2025/02/23 - 2025/06/08
课程周期15 周
开课状态开课中
每周学时-
课程简介

“C语言程序设计”是一门重要的基础课程,但现有教学方式普遍以语法知识为提纲,以数学算法练习为主,学生普遍觉得枯燥,教学效果有待提高。

为此,本课程将一个小球融入到不断进阶的游戏编程学习中,将C语言的所有语法串起来,带领学生了解语法知识在程序开发中的应用价值,掌握更有效的学习方法,体会编程带来的乐趣。

本课程以丰富的教学资源为基础,确立了“知识传授、能力培养、价值塑造”的课程目标。

通过教学视频和在线作业的学习,学生能够全面掌握C语言的知识体系、常用算法的设计以及程序调试方法,培养计算思维能力和勇于试错、踏实务实的作风。

通过游趣味程序的拓展,将编程理论与实践训练结合,培养学生对工程问题进行建模并设计解决方案与编程求解的创新开拓能力和工匠精神。

培养学生严谨的治学态度,树立积极乐观、攻坚克难的职业素养,树立为祖国繁荣昌盛贡献自己力量的理想信念。

课程大纲

第一章 课程介绍

课程速览

课程说明 往届学生作业

安装开发环境

练习

第二章 反弹球(C语言快速上手)

显示小球

小球居中与下落

小球下落与反弹

斜着弹跳的小球

练习

第三章 C语言快速入门

代码基本结构

标识符

基本数据类型 常量的输出

变量的概念 变量的输出

重力加速下落的小球

变量的输入

按空格控制小球向上飞

算术运算符

类型转换

改进碰到上下边界的代码

游戏的完善

OJ:编程练习的利器

练习

补充教程:别碰方块游戏开发教程 程序基本结构

第四章 程序基本结构

顺序结构

交换两个变量的值

基础调试方法

while循环

循环求和

for循环

输出水仙花数

Fibonacci数列

循环嵌套

小球波浪

流程跳转 减血的flappy ball

选择结构

多分支选择结构

滚动的圆点

逐步实现方法

穷举法

练习

补充教程:旋转蛇错觉图形开发教程 循环的应用

第五章 函数封装的反弹球

包含文件 随机数

宏定义

随机反弹球

函数的定义

函数应用例题

函数的参数传递

变量的作用域与修饰符

反弹球代码重构

练习

第六章 递归圆圈画

函数的嵌套调用

函数的递归调用

汉诺塔

绘制代码实现

练习

补充教程:分形樱花树开发教程 函数递归调用的应用

第七章 实现多个小球(数组)

两个随机反弹球

一维数组

数组元素处理

数组元素最大值

一百个反弹球

疫情传播模拟

二维数组

生命游戏

数组作为函数的参数

顺序查找 二分查找

插入排序

冒泡排序

选择排序

排序算法的可视化

练习

补充教程:见缝插针游戏开发教程 数组的应用

补充教程:见缝插圆开发教程 数组 函数封装的应用

补充教程:贪吃蛇游戏开发教程 二维数组的应用

第八章 小球数据结构改进(结构体)

小球代码的问题

结构体的定义

结构体数组

缤纷的连线

补充教程:十步万度游戏开发教程 结构体的应用

补充教程:坚持一百秒游戏开发教程 从结构体到类

第九章 任意个数的小球(指针)

输入小球的个数

地址与指针变量

指针与数组

动态内存分配

指针数组 多级指针

指针作为函数的参数

互相碰撞的小球

补充教程:十字消除游戏开发教程 指针的应用

第十章 大球吃小球(链表)

贪吃蛇、祖玛中的数据结构

分步骤实现链表

标准模板库中的链表

大球吃小球游戏开发

补充教程:祖玛游戏开发教程 链表和STL

第十一章 字符串

字符与ASCII码

字符串的表示

字符串的输入与输出

多个字符串的表示

字符处理库函数

字符串应用

字符串在推箱子游戏中的应用

字符画的自动生成

补充教程:推箱子游戏开发教程 字符串的应用

第十二章 记录最高分的flappy ball(文件)

游戏的改进

文本文件的读写

文件的定位

格式方式读写 记录游戏最高分

第十三章 合成一个大西瓜(综合实践)

代码版本控制

合成西瓜游戏 分步骤实现

补充教程:火柴人的无尽冒险游戏开发教程