高级言程序设计课程设计指导书13级计算机Word下载.docx

上传人:b****5 文档编号:16887915 上传时间:2022-11-26 格式:DOCX 页数:45 大小:96.34KB
下载 相关 举报
高级言程序设计课程设计指导书13级计算机Word下载.docx_第1页
第1页 / 共45页
高级言程序设计课程设计指导书13级计算机Word下载.docx_第2页
第2页 / 共45页
高级言程序设计课程设计指导书13级计算机Word下载.docx_第3页
第3页 / 共45页
高级言程序设计课程设计指导书13级计算机Word下载.docx_第4页
第4页 / 共45页
高级言程序设计课程设计指导书13级计算机Word下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

高级言程序设计课程设计指导书13级计算机Word下载.docx

《高级言程序设计课程设计指导书13级计算机Word下载.docx》由会员分享,可在线阅读,更多相关《高级言程序设计课程设计指导书13级计算机Word下载.docx(45页珍藏版)》请在冰豆网上搜索。

高级言程序设计课程设计指导书13级计算机Word下载.docx

如得分情况等。

图1-1“小狼下百层”游戏主画面

一、主界面

1.主界面分为三个区域:

游戏区、按钮区和信息显示区。

2.游戏区的游戏画面同学可参照网上下一百层游戏的画面。

3.按钮区有游戏的主要菜单,“开始”、“暂停”、“结束”等需要的按钮。

扩展后的功能按钮也放在本区。

4.信息显示区至少需要显示用户名、最高得分、当前得分、下到层数等信息。

二、游戏规则(要求)

5.游戏采用键盘控制.

6.当游戏打开时,需要添加新用户或者可以读取已经保存的用户。

7.鼠标左键单击开始按钮或者按回车键可以开始游戏;

游戏进行中,可以鼠标单击暂停按钮或者按空格键暂停;

暂停中暂停按钮变为继续按钮,单击继续按钮或者再次按空格键游戏继续;

游戏处于任何阶段都可以单击结束按钮或者按ESC键结束游戏

8.游戏开始后,小狼随机出现在某个砖块上,从底部向上匀速运动,周围慢慢也有其它砖块以同样的速度匀速上升,玩家可以利用键盘控制小狼随砖块左右移动。

小狼移动到离开砖块后,键盘的左右控制依然有效,同时小狼有一个向下的分速度,向下分速度应为匀速,同时要比砖块向上运动速度要快。

9.小狼撞到画面顶端或者掉下时没有踩到砖块则游戏结束

10.砖块出现密度应保证只要操作得当且足够敏捷,小狼就不会死

11.小狼下降多少为一层,由同学自己决定,由i层下降到i+1层,加10*(i+1)分

12.在保证上述条件下,狼左右、上下移动速度,砖块上升速度以及砖块出现频率由同学自行决定,出现位置随机产生。

13.每个用户及最高得分的信息、用户排行榜等应能以文件的形式存储到本地。

【扩展功能要求】

1.增加可以美化界面元素,使游戏更具趣味性。

2.游戏可以采用鼠标控制。

3.游戏可以通过调整各种参数设置分级。

4.游戏可以增添小狼具有上下或者水平跳跃功能。

5.游戏可以增加不同类型砖块,例如带刺砖块,带弹簧的砖块等等

6.游戏可以给小狼赋予血属性,例如满血为5格,撞到顶扣两格血,踩到带刺砖块扣一血等等,待没有血了,游戏结束

7.可以保存游戏状态到文件,下次登录时读入状态继续游戏。

8.何自己设计添加可行的附加功能

1.3.2题目2:

“四则运算练习”游戏

通过设计编写一个数百行的应用程序,学习VC6.0环境下图形程序的基本方法,掌握结构化程序设计的一般方法,了解程序设计、模块划分的基本思路,能够使用简单算法完成程序,掌握程序调试的一般技巧,消化和巩固在“高级语言程序设计”课程中所学的知识。

用C语言编写一个简单的一位整数的“四则运算练习”游戏程序,供小学生练习数学使用,实现所要求的基本功能。

在完成基本功能后,可以选择是否实现扩展功能。

(必须完成)

从屏幕左面向右面在一定高度范围内有飞艇按一定速度飞过,每隔一定时间出现一条飞艇,飞艇上有一道四则运算题。

玩家用鼠标选定某个飞艇,然后在屏幕下方出现4个数字,从中选择题目的答案。

如果玩家选中正确答案,则被选中的飞艇爆炸,玩家加1分;

如果玩家选中错误答案,玩家减1分。

未选的飞艇飞到右端消失,也减1分。

玩家可不断选择,直到按下了“结束”按钮。

动态显示玩家得分。

一、界面

界面分为四个区域:

游戏区、控制、信息显示区、答案显示区。

游戏界面如图所示。

鼓励把界面做的更美观。

图1-2“四则运算练习”游戏主画面

游戏区中有多个飞艇连续从左向右飞,没有爆炸的,到游戏区右端自动消失。

控制区有“开始”、“结束”、“退出”、“存盘”、“导入”等按钮,扩展功能所需的按钮和同学自己添加功能的按钮也显示在此区域。

信息显示区显示游戏的状态信息,例如用户名、游戏所得分数等。

答案显示区显示被选中飞艇上题目的4个答案,其中只有一个是正确的。

二、具体要求

1、用户名

程序运行时先输入用户名,再显示游戏界面,并把用户名显示在信息显示区中。

2、控制区按钮

单击“开始”按钮,游戏开始,此后,“开始”按钮无效。

飞艇开始按指定间隔出现,并匀速飞行。

单击“结束”按钮,本盘游戏结束,但不结束程序,且“开始”按钮可用。

若再按“开始”按钮,则下一盘游戏从头开始。

单击“退出”按钮,结束整个程序。

单击“存积分榜”按钮,执行“存积分榜”功能(见6、)。

单击“显示积分”按钮,执行“显示积分”功能(见7、)。

其他添加功能的按钮。

3、飞艇的出现和移动

每次从屏幕左端出现一个飞艇,按指定时间间隔(例如2秒)连续出现,飞艇的高度在一定范围内随机产生。

飞艇上有一道一位整数四则运算题(不能出现负数结果,除法结果必须为整数)。

飞艇按匀速飞行(例如每0.3秒向右移动一定距离),如未爆炸,到右端自动消失。

4、玩家操作及计分

玩家用鼠标选定某个飞艇,该飞艇底色变红(在屏幕上只能有一条飞艇被选中),同时在答案显示区出现4个数字,供玩家选择,其中一个是被选中飞艇上题目的正确答案(另外3个答案必须是1位或2位正整数,随机产生)。

如果玩家选择正确,则被选中的飞艇爆炸,玩家加1分;

如果玩家选择错误,则被选中的飞艇恢复原来的颜色,玩家减1分,答案显示区中的4个答案消失。

玩家可再选择任意一个飞艇。

如飞艇飞到右端消失,也减1分。

5、显示得分

游戏开始后,在信息显示区动态显示本盘游戏玩家的得分。

按“结束”按钮后,得分清零。

导入文件中的游戏后,得分恢复到文件中存储的得分。

6、存积分榜

单击“存积分榜”按钮,先要求输入文件名,确定后,将当前当前用户的用户名和积分存入文件。

7、显示积分

单击“显示积分”按钮,先要求输入文件名,确定后,弹出窗口,显示积分榜。

【扩展功能】

(在完成基本功能之后可自选是否实现1项或数项扩展功能,视扩展功能质量,在基本功能得分基础上加分)

1、游戏分级

在游戏开始前,可在控制区通过鼠标选择游戏级别。

不同级别飞艇的出现频率不同,飞艇的飞行速度也不同。

2、限定游戏时间

在游戏开始前,可在控制区通过鼠标选择游戏限定时间,例如100秒、200秒等,同时,在信息显示区动态显示剩余时间。

限定时间到,则本盘游戏自动结束。

3、将游戏的当前状态存盘和导入

存盘:

按指定文件名,将当前游戏的状态(各飞艇状态)、用户名、得分存入文件。

游戏继续。

导入:

删除当前游戏(删除前应提问是否存盘),将文件中存储的游戏状态恢复到屏幕上,继续导入的游戏。

4、自己添加的使游戏更加有趣的功能,或使界面更加美观的功能(例如,鼠标单击控制区中的按钮时,按钮有被按下去的效果,松开时,有弹回来的效果)。

1.3.3题目3:

Pong游戏

用C语言编写一个简单的“Pong”游戏。

球在界面上移动,左右各有一个板,板可以上下移动接球,当没有接住球时(左边的板一个人控制,右边的板另一个人控制),对方得一分。

动态显示得分情况。

游戏主画面如图1-3所示:

图1-3“Pong”游戏主画面

●主界面分为三个区域:

●游戏区上面显示玩家的姓名和得分情况

●按钮区应包括游戏主要菜单。

●信息显示区显示文件中玩家的姓名和得分信息。

二、游戏规则

●按空格键开始游戏。

●开始时球在中间,初始球移动的速度和方向由同学自行设置。

●球的实际运动轨迹是水平与垂直两个方向的叠加。

●左侧的板按‘Q’向上移,按‘A’向下移

●右侧的板按‘P’向上移,按‘L’向下移

●当球碰到了板或者上下边界,球反弹。

碰到了左右边界,对方得分。

●点击按钮记录轨迹后,该按钮变为不可用,此时开始记录球的运动轨迹。

●点击按钮停止记录后,就不再记录轨迹,此时记录轨迹按钮变为可用。

●点击按钮回放,则显示所记录的球的轨迹。

●点击按钮结束,则把用户的姓名及得分信息,以文件的形式存储到本地。

1.增加和美化界面元素,使游戏更具趣味性。

如增加背景,颜色等。

2.球的速度可以随着时间增加加快。

3.游戏可以通过调整各种参数分级。

4.考虑板的厚度。

5.任何可行的附加功能。

2课程设计要求与安排

2.1完成课程设计任务的基本过程与时间安排

程序设计应采用自顶向下的模块化程序设计方法。

按照软件开发规范,本课程设计任务的基本过程应该经过分析、设计、编码、调试、测试和整合优化程序等阶段。

程序设计与开发中应兼顾程序的可扩展性和健壮性。

完成程序之后,最终还要提交课程设计报告。

表2-1给出了各阶段的主要任务和相应的时间分配,供大家参考。

表2-1课程设计主要任务与时间分配

周次

内容安排

放假之前

1、认真阅读《高级语言程序设计课程设计指导书》的各个部分,特别是明确题目任务要求,思考完成课程设计的方法和实施计划,学习准备完成课程设计的各项知识技能。

2、鼓励假期提前开始设计。

1

1、学会C语言图形方式编程。

参考:

网站。

该网站有关于该图形库的丰富的内容介绍,包括:

函数库下载与安装方法、范例程序、技术文章、在线帮助(库函数介绍)和讨论社区等。

2、思考被分配的课设题目的图形界面方案、游戏规则和操作流程。

3、对题目进行详尽地了解和分析,明确最终系统应具有的功能,并初步写出课程设计报告的需求分析部分。

2

1、思考自己题目的模块化程序设计方案,体会模块化程序设计的优点。

2、完成程序框架的设计,给出功能模块的划分,定义主要的数据结构。

3、写出课程设计报告的概要设计部分中的主要内容。

4、完善更新已写出的课程设计报告部分内容。

3

1、完成主界面部分的代码并调试成功。

2、完成主要模块的代码编写、调试和测试。

4

1、完成每个模块的详细设计。

2、开始编写课程设计报告的详细设计部分。

3、完善更新已写出的课程设计报告部分内容。

5

1、完成全部模块的代码编写、调试和测试。

2、集成程序,进行整体调试。

6

1、设计测试用例,并进行测试,记录测试结果。

2、完善修改程序设计。

3、完善修改已写出的课程设计报告部分内容。

7

1、进行期中检查。

期中检查要求同学已经完成题目的第一个版本,包括程序代码和报告。

期中检查成绩记录在案,影响期末成绩。

期中检查注意事项:

①携带程序源代码和课程设计报告。

②同学要提前准备好程序及运行环境。

③携带身份证件。

8

1、对期中检查情况进行总结,分析典型经验与错误,修正和优化设计。

9

1、修正和优化课程设计报告。

10

1、进行期末检查,同时进行面试。

注意事项:

①按时间安排准时在机房接受期末检查,如有不按时到达的同学,以旷考处理,一律不给予补考。

②携带学生证等有效证件。

③携带程序源代码和课程设计报告。

④同学按要求的时间提前准备好程序及运行环境。

⑤期末检查前需要在“教育在线”提交课程设计相关文件,提交内容有两部分:

一部分是设计报告、程序全部源代码(以附录形式放在报告中),另一部分是可执行文件(可执行文件需要用Release版。

通常缺省状态编译生成的可执行文件为Debug版本。

Release制作方法:

如果是在VC6环境下生成方式如下:

选择Build菜单下SetActiveConfiguration菜单,打开一个对话框,选中其中的Win32Release,关闭对话框。

重新编译连接程序,在当前工程目录下会自动生成一个release目录,目录下的exe文件既是release办的可执行文件。

没有提交的同学不得参加考试。

2.2课程设计具体事项说明

2.2.1课程设计题目分配方案

每位学生分配的课程设计题目编号=学号的后两位%3+1

要求:

不允许擅自更换课程设计题目。

2.2.2指导教师

指导教师:

陈彩老师:

地点:

信息楼南305B房间,电话:

67392986

诸海生老师:

信息楼南412房间,电话:

67391745

周珺老师:

三位老师分别负责1、2、3题,与班级无关。

2.2.3上机时间地点

按课表执行。

期中、期末检查同学按学号顺序执行。

三位老师分别负责检查1、2、3题。

2.2.4课程设计的考核与成绩评定

【考核内容】

课程设计考核主要包含两部分内容:

游戏程序设计与实现和课程设计报告。

下面分别详细描述。

(1)程序设计与实现

指导教师将在机房现场检查应用程序的运行情况,并同时进行面试,主要考查下列内容:

●是否符合题目要求,完全实现了基本功能要求;

●完成了哪些扩展功能要求;

●是否存在语法错误、逻辑错误及运行错误;

●程序设计是否合理,是否符合模块化程序设计所倡导的基本理念;

●程序是否具有良好的可读性和可靠性;

●用户界面是否友好。

(2)课程设计报告

检查程序的现场提交课程设计报告,主要考查下列内容:

●设计过程是否符合模块化程序设计方法的基本原则;

●课程设计报告的内容是否完整,应包括附件1中要求的全部内容;

●层次是否清楚,语言是否通顺;

●格式是否整洁漂亮,如类似附件1中的格式;

【成绩评定方法】

采用百分制。

100(课程设计总评成绩)=50(程序运行情况)+30(课程设计报告)+20(平时成绩)

成绩评定的原则:

(1)有下列情况之一视为课程设计总评成绩不及格

●没有按照题目要求完成基本内容的;

●没有按照要求编写课程设计报告的;

●通过教师考查表明课程设计不是自己独立完成的;

●期中检查不来,或期末检查不来、不交课程设计报告的;

●期末检查时将随机提问,多数问题回答错误的;

●期末检查时可能要求现场修改或编写一段小程序,在指定时间内不能独立完成的;

●程序存在错误,不能运行,且不能在指定时间内独立修改正确的;

●两位同学之间课程设计报告和程序非常雷同,有抄袭嫌疑者,两同学均不及格。

(2)有下列情况者将视完成情况给予加分

●程序设计符合模块化程序设计规范;

●模块设计合理;

●程序健壮性好;

●用户界面友好;

●出色地自行设计和完成了扩展功能。

【温馨提示】

为了完成课程设计的各项任务,并获得良好的成绩,在课程设计过程中应该注意以下几个问题:

1、严格按照软件开发规范完成各个阶段的任务,合理分配时间,认真阅读本指导书,并按指导的基本过程完成课设会很有帮助。

2、遵守模块化程序设计的基本原则。

3、注重基本功能的实现。

以前有同学扩展功能完成很好,但没有完成部分基本功能,最终影响了成绩。

4、务必随时保存编程结果,特别是阶段性的编程结果,一旦代码丢失或意外损坏对成绩会有很大的影响。

5、注意版权的自我保护,一旦发现抄袭拷贝别人的课设作业,抄袭人和被抄袭人按学校规定同等处理。

6、认真写好课程设计报告。

7、有问题及时与老师联系、沟通。

2.3课程设计报告要求

书写文档是软件开发的一个重要组成部分,文档的完备性是评价一个软件质量优劣的重要因素之一。

为了强化学生对书写文档重要性的认识,训练学生书写文档的能力,要求每位参与课程设计的学生认真完成编写课程设计报告的任务。

课程设计报告应该能够反映学生完成课程设计题目的全部情况,包括对课程设计题目需求的分析、应用程序的设计、程序的测试过程以及程序的运行情况等等。

设计报告有多种写法,同学们可自己发挥,但鉴于同学们可能初次编写程序设计报告,本《指导书》依据软件工程的思想,在附件1中给出了一种课程设计报告的参考内容和格式。

同学应认真阅读附件1,并思考课程设计报告乃至软件文档的编写方法。

其实,同学最好参考附件1的内容和格式,特别是附件1中列出的各个章节内容是通常程序设计报告都会涉及到的,缺少某些内容会直接影响到你的报告部分的成绩。

同时要注意附件1中报告排版格式也是已经设置好的,同学按此字体字号大小排版即可。

一个比较简洁的做法是直接使用附件1的报告结构,同学只需根据自己的程序设计详细填写每个部分的内容即可。

3相关技术学习(VC)

该部分内容主要取自,供同学参考。

3.1VisualC++的文本显示方式

C语言程序有字符显示和图形显示两种方式,控制台程序默认的显示方式为文本方式。

在文本模式下可以使用各种库函数,用来输入输出文本,以及调整文本的颜色、字体、输出的位置等,这些函数在程序进入图形方式后不能正常使用。

TC下提供了很多使用起来很简单的函数以便设置文本方式,而这些函数在VC下并不通用,随着操作系统从DOS变为Windows,编译环境也应该由古老的TC变更为VC等更高级的编译环境,那么TC下那些功能将如何在新的环境中使用呢?

可以使用VC下的一些标准函数和Windows提供的功能更加强大的应用程序接口库(ApplicationProgrammingInterface,简称API)。

API函数是编程中非常常用的工具之一,它由Windows本身提供,通过调用API函数,可以直接使用Windows的各种功能,API的应用无处不在,用WindowsAPI可以构建起丰富多彩的程序。

在课设中,我们只使用几个少数的API就可以在VC下实现原先TC中的各种功能,对于API函数的细节不做过多解释,如有疑问或兴趣可以参照API函数手册等资料。

在VC中使用WindowsAPI非常方便,只需要引用windows.h即可。

以下是一个使用API的例子。

#include<

windows.h>

intmain()

{

MessageBoxA(0,"

HelloWorld!

"

"

Test"

MB_OK);

/*用API做的HelloWorld!

*/

return0;

}

下面列出了在文本模式下几个常用功能的实现。

1、将当前光标位置设置到(x,y)处,输出“HelloWorld!

”。

#include"

stdio.h"

//COORD是一个结构体(struct),包含SHORTX;

SHORTY;

两个变量,为一个坐标

COORDposition;

//申明句柄变量hout,句柄是一个四字节长的数字,用以指定窗口等各种对象

HANDLEhout;

position.X=20;

position.Y=20;

hout=GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(hout,position);

printf("

\n"

);

上面这句话设定了光标在第20行第20个字,第一个参数为被指定光标位置的对象,GetStdHandle(STD_OUTPUT_HANDLE)函数返回的数据指向一个标准输出对象,也就是当前控制台的输出对象,,第二个参数是一个COORD结构体,它表示光标将会被定位在第X行,第Y个字的位置。

2、清空文本窗口:

system(“cls”);

system函数可以使用DOS中的一些常用命令,用这种方式清屏是最简单的。

另外,system(“PAUSE”);

可以产生让程序暂停的效果,用户按回车后继续。

使用system函数需要引用stdlib.h。

如在上面程序中printf("

语句之后,return0;

语句之前加入下面两个语句,可观察暂停后清屏的效果。

system("

PAUSE"

cls"

3、设置文本颜色

在文本显示模式下,颜色用一个占2字节的变量表示,其低八位格式如下所示:

87654321

背景

字符颜色

当最低位到最高位分别为1时,表示如下含义:

常数

数值

含义

FOREGROUND_BLUE

前景蓝

FOREGROUND_GREEN

前景绿

FOREGROUND_RED

前景红

FOREGROUND_INTENSITY

前景高亮

BACKGROUND_BLUE

16

背景蓝

BACKGROUND_GREEN

32

背景绿

BACKGROUND_RED

64

背景红

BACKGROUND_INTENSITY

128

背景高亮

上述数值或常数之间可以用按位或运算符 

“|”连接,产生叠加效果。

设置文字前景色和背景色要用到API函数SetConsoleTextAttribute

用法为 

:

SetConsoleTextAttribute(控制台输出句柄,颜色参数) 

;

例:

使以后输出的字变成红色,其背景变为绿色

HAND

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1