【VC++开源代码栏目提醒】:以下是网学会员为您推荐的VC++开源代码-课程设计 一个简单的打字游戏 - 课程设计,希望本篇文章对您学习有所帮助。
《C 语言程序设计》 课程设计报告设 计 题 目:一个简单的打字游戏年 级 专 业:09 级计算机科学与技术组 长 指 导 教 师:完 成 日 期: 2010 年 6 月 29 日 摘 要 C 语言课程设计是一门实践性很强的课程。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,讲课本上的理论知识和解决问题的能力、提高学生适应实际环境和实践编程的能力,也能培养学生独立、探索的能力,同时也是对学生所学理论知识和基础技能的全面考核。
1 教师选题 选择一个合适的题目是课程设计的首要条件。
教师在众多的课程设计题目中挑选有代表性是题目,题目要符合教学实际,不仅要是学生掌握 C 语言程序设计教学中的重要知识点、了解程序模块化开发等内容,而且还要与现实生活联系密切,具有一定的实用性和趣味性,这样的题目对学生的吸引力较大。
2 知识复习 教师围绕课题教学目标和重点、难点编写课程复习大纲,并印发给每一个学生,让学生按照大纲进行复习。
要求学生通过对 C 语言的回顾,理解计算机的高级语言编程的一般方法和逻辑思考过程,理解如何将实际问题转化成计算机语言表达的模型。
此外教师还应对学生的复习进行指导,启发学生动脑思考,大胆质疑。
通过指导复习,使学生对设计中将要用到的知识做到心中有数,可使学生进一步掌握 C 语言的知识点。
3 课程分析 课程设计是一项复杂又细致的工作,要求教师从中发挥主导作用,努力调动学生是创新能力和求知欲望。
课题分析对教师也有一定的约束作用,教师对学生下达的设计任务应心中有数,应是学生在整个课程设计期间能够完成的,避免工作量过大或过小。
4 书面设计 文档写作和程序开发必须同步,也就是说,应该先完成程序设计目的的分析和功能模块分析后,再进行编码和程序调试、测试工作。
对于C 语言初学者,最好先将程序以书面的形式描述出来,然后录入计算机调试。
在经过定性、定量分析后,学生对所要进行的设计进行书面算法设计。
强调学生在编程时要
代码规范、使用注释,养成良好的编程风格。
C 程序设计语言课程是高强度的脑力劳动,不是听会的,也不是看会的,而是自己练习会的。
因此,要求大家在学习 C 程序设计语言课程时,不能满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即能独立地编写出源程序,独立地上机调试程序,独立运行程序和分析结果。
程序设计是一门实践性很强的课程,必须十分重视实践环节,同时还必须保证应有足够的上机实验时间。
通过程序设计,自己就会在其中慢慢体会 C 语言的独特之处。
针对 C 语言课程编排需要,根据要求设计一个简单程序,正常运行,锻炼动手动脑能力和知识的掌握。
根据一些练习打字软件的启发所制作的游戏,实现经过不断重复的记忆法熟悉键盘字母所在位置的目的。
关键字:C 语言课程设计;打字程序;编码;程序调试 目 录摘 要.................................................................................................................................... 2第一章 绪 论.......................................................................................................................... 5 1.1 选题背景.................................................................................................................... 5 1.2 目的和意义................................................................................................................ 6 1.3 发展现状...................................................................................................................... 7第二章 系统分析...................................................................................................................... 8 2.1 系统总体结构分析...................................................................................................... 8 2.2 数据类型的选择........................................................................................................... 9 2.3 系统整体概括............................................................................................................. 10 2.4 系统设计分析............................................................................................................. 11第三章 调试与测试................................................................................................................ 12 3.1 程序运行效果图......................................................................................................... 12 3.2 源程序
代码(附有详细注释)................................................................................. 14 3.3 已知程序不完善处..................................................................................................... 17结 束 语.................................................................................................................................. 18致 谢........................................................................................................................................ 20参 考 文 献............................................................................................................................ 21第一章 绪 论1.1 选题背景 当今时代,网络已经成为人们生活中不可缺少的一部分,世界上的第三媒体——Internet ,它打破了地域时间限制,改变了人们的工作和生活方式,制作站点是企业和个人的宣传自己的重要手段,网上聊天线上游戏更是不用说了,大家都会玩得不亦乐乎,打字也成了我们生活中必不可少的一部分,没错,人应该会写字了,现在也应该会打字,毕竟打出来的字是准确无误的,不会出现书写上的错误,而且具备一定的打字速度以后,很多效率都会得到质的提升,同时也学习信息的重要手段接到课题时很迷茫,因为对 C 语言一窍不通,想想这学期的课程虽说是每节课都听,可很多知识还是不清楚的,课下也没抽出时间来看,面对这样的现状,就更别提去选题了,很多同学说要做贪吃蛇,要做通讯录,我觉得他们很聪明,也很能干,在万般纠结的时候,在百度吧看了一些书本上没有的教程,就是用 C 语言进行简单的游戏设定,这个很有趣,可以涉及到绘图函数,经过了几天的学习和考虑,决定要设计一个打字游戏,记得小时候玩过金山打字通这款软件,给我印象颇深刻,里面的游戏也趣味横生,当然它的功能是很强大的,相比我们的程序而言实在我们是微不住道,又想到当今电脑已经普及,就想到了做一个打字的程序。
当今学生有着充足的课余时间,然而目前学生的打字速度以及大 第 5 页 共 21 页学生的输入指法并不是完全正确,此款程序是为了改善大学生文字输入能力以及锻炼学生的临时反应能力而编写,同时可以丰富同学们的课余生活。
当然如果说能丰富课余生活有种说大话的感觉,毕竟是一种能力,掌握没有什么不好的,活到老学到老吧。
1.2 目的和意义 通过简单的操作锻炼学生的输入能力,简单快捷非常有效。
计算机已经成为我们学习和工作的得力助手今天,计算机的价格已经十分低廉,性能却有了长足的进步。
它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。
运用数据结构中的算法思想作为数据结构,结合 C 语言的基本知识,编写一个简单的打字游戏。
通过完成本课题,进一步熟悉 C 语言程序设计的基本知识,掌握数据结构的一些基本算法思想 ,掌握 C语言的文件操作,进一步熟悉指针的用法,数组的建立运用和函数的调用等。
加深对数据结构的理解,提高算法设计能力,锻炼编程能力。
生成的程序仅有 228KB,CPU 占用率极低,不会和任何软件程序发生冲突,也没有恶意
代码,虽不说界面美观,不惭的说也能算是简洁 第 6 页 共 21 页吧,美化能力真的很有限,作为简单的联系键盘英文输入应该是不错的,如果会一定的编译能力的话,可以在源
代码的基础上做更多的改进,例如提示文字,字母修正,颜色修正等,可以根据自己的喜好,做出属于自己的打字程序,在一定程度上还是有一定的自豪感的,发给朋友亲戚也是不错的选择。
1.3 发展现状 现在练习打字的软件不多,最好用的当属金山公司开发的金山打字通 2010 虎年版,金山打字是金山公司推出的系列教育软件,主要由金山打字通和金山打字游戏两部分构成是一款功能齐全、数据丰富、界面友好的、集打字练习和测试于一体的打字软件。
金山打字通针对用户水平的定制个性化的练习课程,循序渐进。
提供英文、拼音、五笔、数字符号等多种输入练习,并为收银员、会计、速录等职业提供专业培训。
适用于打字教学、电脑入门、职业培训、汉语言培训等多种使用场景。
但是虽然此软件功能强大,但占用 CPU 也很大,相比较而且,用户也许更需要一种可以运行在各种配置上而且很
开源,可以随意更改的练习打字的工具,这就让我们有了想法。
在下文也会提到,这次使用的是 Microsoft Visual C 6.0 ,并且该平台易于开发、维护,使用方便。
第 7 页 共 21 页第二章 系统分析2.1 系统总体结构分析 根据实际情况,我们使用原型法,即以少量代价快速地构造一个可执行的软件系统模型,使用户和开发人员可以较快的确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐加上去,直到所有的性质全部满足。
程序流程图是一个图表,它显示了计算机执行程序的详细处理步骤和顺序,在书中用于描述求解问题的算法。
第 8 页 共 21 页 欢迎界面 输入任意 键以继续 见到随机字母 输入所见字母 字母到底端消失 输入正确 按下 END 结束 结束画面2.2 数据类型的选择 使用ltgraphics.hgtltconio.hgtlttime.hgt三个函数库,第一个是绘图用的,第二个是控制用的,第三个设置时间用的。
代码中的 ASCII 码是从网上找的, RGB 键盘
代码表, 颜色
代码表。
第 9 页 共 21 页通过 KEY 值对应按键实现消失功能,涉及到的句型 while 语句,goto语句,if 语句,for 循环。
详细的数据结构如流程图所示,void welcome 制作欢迎界面,setcolor 编辑以下
代码所显示的颜色,Setfont 输入文字和编辑文字字体,outtextxy 输入文字和编辑文字颜色,Sleep 实现时间等待效果,target 目标控制,key 键盘控制,getchclosegraph 实现按下任意键关闭窗口效果。
,以图 全部
代码使用“//”显示文字注释,未使用”/……./”输入方便。
2.3 系统整体概括 程序设计题目:《一个简单的游戏动画》 目标系统简介:通过对应键盘按键实现轻松键盘字母记忆的程序。
确定系统功能:简单、实用的打字程序。
采用的工具:Microsoft Visual C 6.0 这里说一下为什么选择用
VC 而不是用 turbo C,这只是两个不同的编译环境而已,都可以编译 C 和 C语法,是 C 与 C 的区别,不是编译器的区别,
VC 比 Turbo C 更直观,调试更方便 编译的时候 行缩进等都是自动的,可以使得编程的不需要一直使用 tab 来缩进 ,不过
VC 使用的时候要建立工程 然后文件是包含在这个工程里面,最后直接生成 .exe 文件,turbo C 在 C图形界面和应用 第 10 页 共 21 页Application 方面要差的很多
VC 很庞大,可以建立任何想要的工程文件 可以创建 mfc 等 这是 tc 所不具备的好像是,turbo C 用的不是很久没发现这些,具体有没有还得问高手 最早的时候,我就是使用的 turbo c后来改用
VC 个人感觉还是
VC 好用的多,毕竟是用鼠标进行操作的,虽然用键盘还是多了一点,很多功能用快捷键也十分的顺手,也可能一定原因上对 DOS 不是很接受。
至于所谓的语法问题 都是一样的
VC 可以执行 C 也可以执行 C文件 所以语法根本都是一样的 。
最后还是选择
VC 来制作。
2.4 系统设计分析 ltgraphics.hgt 是 TC 里面的图形库,如果要用的话应该用 TC来编译,
VC有他自己的另外图形库,图形库涉及到的颜色通过RPB 色表可以查到。
ltconio.hgt 不 是 C 标 准 库 中 的 头 文 件 。
conio 是 ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如 getch函数等等。
作为一种简单游戏程序,必须用到的函数之一。
第 11 页 共 21 页 lttime.hgt 日期和时间函数 time_t 和 clock_t 和 size_t 都是与 long 有同等意义的名字。
本类别给出时间和日期处理函数 头文件 time.h。
程序本身十分简单,流程为欢迎界面-游戏界面-结束界面,结束就要按下“ESC”才会出现的。
从源
代码中就可以看出 KEY值的设定。
整个程序的大体思想:欢迎界面上 4 个标题字设置,欢迎正文设置,界面下方比较有心意的闪烁字设定。
游戏界面随机字母srandtimeNULL大写 1-26 从屏幕上方出现,对应各个 KEY 值将其从屏幕上清除,字体颜色的设定。
结束界面,中英文对照,使用通常出现的“GAME OVER”字样。
第三章 调试与测试3.1 程序运行效果图STEP-1 欢迎界面 第 12 页 共 21 页STEP-2 游戏界面STEP-3 结束界面 第 13 页 共 21 页3.2 源程序
代码(附有详细注释)include ltgraphics.hgtinclude ltconio.hgtinclude lttime.hgtvoid welcome // 制作欢迎开始界面 cleardevice // 输出屏幕提示信息 setcolorRGB25520147 setfont64 0 quot黑体quot outtextxy190 50 quot简单打字quot setcolorWHITE setfont16 0 quot新宋体quot outtextxy90 190 quot内容简介: 这是一个简单的功能单一的,练习打字的英文小游戏,quot outtextxy90 230 quot游戏很简单,上方会下落字母,按照字母按下对 第 14 页 共 21 页应按键字母消失即可quot outtextxy90 270 quot相比聊天玩游戏这个也可以练习打字,记忆字母键盘位置反应速度。
quot outtextxy85 310 quot(计算机一班 C 语言程序设计组员:金沛融,杜 )quot晓磊,孙冰,李健。
int c255 // 实现闪烁的“按任意键继续” whilekbhit setcolorRGBc 0 0 outtextxy262 400 quot-按任意键继续-quot c-8 if clt0 c255 Sleep25 getch cleardevicevoid goodbye // 退出界面显示 cleardevice setcolorRGB02550 setfont48 0 quot黑体quot outtextxy200 190 quotGAME OVERquot outtextxy200 240 quot游戏 结束quot getchvoid main // 主函数(游戏主体) initgraph640 480 // 初始化屏幕为-640x480 welcome // 显示欢迎界面 srandtimeNULL // 设置随机种子 setfont48 0 quotArial Blackquot // 设置字母的字体和大小 char target2 quot quot // 定义字母字符串 char key // 定义用户按键变量 第 15 页 共 21 页 whiletrue // 主循环结构 target0 65 rand 26 // 产生任意大写字母 int x rand630 for int y0 ylt460 y setcolorRGB0191255 // 设置字母的颜色 outtextxyx y target // 显示字母 ifkbhit key getch ifkey target0 key target0 32 // 设置清除 setcolorBLACK outtextxyx y target // 清除原字符 break // 跳出循环,进行下一个字符 else if key 27 goto EXIT // 按 ESC,退出游戏主循环 Sleep10 // 延时,并清除原字符 setcolorBLACK outtextxyx y target EXIT: goodbye // 退出部分 closegraph // 关闭图形界面(任意键) 第 16 页 共 21 页3.3 已知程序不完善处1.RGB 色彩搭配不合理。
原因:不会使用
VC 提取用户自选图形文件。
2.游戏英文输入结构单一。
原因:色彩单一同上,编程思想不成熟,475p 显示字母为一半,调整字体大小后,发现字母显示有阴影残留,并未游戏本身效果,字体大小缩小后方可正常,实际原因不详。
游戏本身无惩罚模式,字母输入错误飞入底端游戏依然正常运行,也是弊端之一。
如果能输入拼音,并通过敲击生成汉字,功能将更加完善。
(3).结束草草收尾无附加功能原因:期望显示游戏分数,游戏等级,以及可以键入使用者姓名等功能,
代码共计 78 行,能力有限,开发功能不完全。
其实是很希望能够用鼠标进行操作的,最后还是没能实现这一功能。
(4).程序本身缺少设定功能原因:在这一点上确实做到没有为用户考虑了,如果游戏本身能设定英文字母的下降速度、出现频率、出现方向,应该可玩性会更高。
第 17 页 共 21 页结 束 语 通过这次课程设计,增加了我对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习 C 语言这门课程开始,已发现程序设计的好处,他对我们数学的学习也有很大的帮助。
在学习 C 语言的过程中也学到和巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。
在具体操作中对这学期所学的 C 语言的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,为我问以后的 c 语言学习奠定了基础,同时体会到 C 语言具有的语句简洁,使用灵活,执行效率高等特点。
发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。
通过实际操作,学会 C 语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。
这不仅是程序设计更是锻炼我们处理问题的能力同时也使我们了解到团队合作的可贵.编写程序是件细心活稍不留神就会出错这就必须要求我们对待事情要认真在编写程序的过程中错误不.
上一篇:
2440_Linux系统移植
下一篇:
科研管理杂志简介