高级语言程序设计课程设计指导书
(220741、220742 班适用)
2023 年 2 月
2
目 录
1 课程设计任务书..........................................................- 1 -
1.1 课程设计教学环节的主要目的........................................- 1 -
1.2 课程设计总体任务要求..............................................- 1 -
1.3 课程设计题目......................................................- 2 -
1.3.1 题目 1:简化版《羊了个羊》...................................- 2 -
1.3.2 题目 2:简化版《开心消消乐》.................................- 4 -
2.1 完成课程设计任务的基本过程与时间安排..............................- 6 -
2.2 课程设计具体事项说明..............................................- 7 -
2.2.1 课程设计题目分配方案........................................- 7 -
2.2.2 课程设计的考核与成绩评定....................................- 7 -
2.3 课程设计报告要求..................................................- 9 -
3 相关技术学习(VC).....................................................- 10 -
3.1C 语言显示方式概述 ................................................- 10 -
3.2 Visual C++ 的图形显示方式使用....................................- 11 -
3.2.1 设置图形显示方式 ...........................................- 12 -
3.2.2 定义视口 ...................................................- 12 -
3.2.3 设置当前位置 ...............................................- 14 -
3.2.4 设置颜色 ...................................................- 15 -
3.2.5 在图形显示方式下显示文字和数值 .............................- 15 -
3.2.6 绘制图形 ...................................................- 16 -
3.2.7 封闭图形的填充 .............................................- 16 -
3.3 制作动画.........................................................- 17 -
3.3.1 擦除/重绘法 ................................................- 17 -
3.4 响应消息 .........................................................- 20 -
3.4.1 键盘消息响应 ...............................................- 20 -
3.4.2 鼠标消息响应 ...............................................- 22 -
3.4.3 系统时间 ...................................................- 24 -
3.4.4 产生声音 ...................................................- 27 -
附件 1 ...................................................................- 30 -
附件 2 虚拟键码对照表 ....................................................- 36 -
- 1 -
1 课程设计任务书
1.1 课程设计教学环节的主要目的
本课程设计的主要目的是通过一个趣味盎然的游戏程序的设计与实现,使学生亲身经历
一个对初学者而言较为复杂的程序的设计与开发过程。
在设计中需要熟练运用“高级语言程序设计”课程中所学知识,理解和运用模块化程序设
计的理念,初步体会软件工程的方法。同时需要自学用图形方式编写 C 语言程序。课程设
计培养学生严谨的工作态度,良好的程序设计习惯和程序文档写作能力。
在本课程设计的训练中,首先强化训练了代码编写能力,代码编写量远高于通常课程作
业训练。重点体会模块化程序设计方法,好的模块化程序设计方案使得程序开发效率高、可
重用性好、易于调试、集成和扩展。在课程设计中,同学的调试能力也会有大幅度提高。设
计文档的撰写培养了学生文档写作能力,并应在文档写作中提升对程序设计方法的理解。
1.2 课程设计总体任务要求
本课程设计要求学生完成的主要任务有:遵循软件开发过程的基本规范,运用模块化程
序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试 C 语言程序及
编写实践报告。学生应注意如下问题:
(1)从思想上重视课程设计教学环节,用严谨、科学和踏实的工作态度对待课程设计
的每一项任务;
(2)遵守软件设计规范,依据课程设计题目要求完成设计基本任务,并在此基础上增
加扩展功能,充分发挥每个同学的想象力和创造力;注意完成任务书中题目的【基本功能要
求】,同学的课设成绩可以得到约 70 分,同学要获得更高的成绩需要完成课程设计题目中
的若干扩展功能,更鼓励同学发挥想象力自行合理地增加其他扩展功能。注意,期中检查
时同学需要完成至少包含大部分基本功能的程序,否则影响期末成绩。
(3)独立完成分配给每人的一个课程设计题目,设计题目内容详见 1.3 节。设计任务
包括程序开发和编写课程设计报告两部分。课程设计报告的书写规范和要求参看 2.3 节。具
体格式参见附件 1。
(4)遵守课程设计的各项要求,仔细阅读第 2 部分课程设计要求与安排。按要求时间、
地点参加课程设计。特别注意 2.2.4 课程设计的考核与成绩评定部分,认真完成每个步骤是
取得好成绩的保证。
(5)完成课程设计需要采用图形显示方式,要用到在《高级语言程序设计》课程中没
有 讲 授 过 的 知 识 , 同 学 应 先 自 学 图 形 方 式 相 关 内 容 。 图 形 方 式 学 习 内 容 可 参 见
www.EasyX.cn。相关技术学习的例子大部分取自 www.EasyX.cn 网站,可以作为学习材料。
- 2 -
1.3 课程设计题目
1.3.1 题目 1:简化版《羊了个羊》
【问题描述】
用 C 语言编写一个简化版的羊了个羊游戏(具体玩法参考同名游戏),具体游戏玩法
请参考同名游戏,在本学期课程中要求学生实现该游戏的简单功能。
【基本功能要求】
游戏主界面如图 1 所示:
在 此 显 示
游 戏 相 关
的信息。如:
玩家名,历
史 最 高 得
分、当前得
分、游戏倒
计 时 等 信
息。
图 1 游戏主画面
一、主界面
1. 主界面分为三个区域:游戏区、按钮区和信息显示区。
2. 按钮区应包括游戏主要按钮。如开始、暂停、结束等。
3. 信息显示区至少需要显示玩家名、历史最高得分等信息。
二、具体要求
1. 程序运行时先出现系统登录界面,输入用户名等信息,然后进入主界面,主界面可参考
图 1,要求尽量不要用 InputBox,尽量自己通过编程实现数据输入功能。
2. 单击“开始”按钮进入画面游戏开始。
开始
暂停
…
…
- 3 -
3. 至少要 2 层卡片堆叠与收取,实现基本的游戏逻辑。
4. 要注意数据结构的设计。
5. 在游戏中要设计链表,实现链表的建立与增删,具体应用在哪里,可以自行设计。
6. 程序中要实现文件的读写,同学自行设计文件的数据内容和格式。
【扩展功能要求】
1. 使游戏画面更加流畅和逼真;
2. 增加多层卡片叠加;
3. 增加特殊功能卡片;
4. 增加游戏彩蛋;
5. 为游戏增加自己设计的道具;
6. 为游戏增加关卡;
7. 自行添加各个游戏元素,提高游戏趣味性;
8. 能够显示玩家排行榜;
9. 本作业是开放的作业,同学们要打开思路,不拘一格,增加任何可行的附加功能;
10. 游戏创意可参照网上同名游戏。