- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计报告
机房名称 ??
时 间 ?
学 院
专业班级 ?
姓? ?名
学?? 号
指导教师
小游戏“黄金矿工”设计报告
目录
C语言课程设计报告 1
一、课题简述 3
二、功能需求 4
Ⅰ.程序大体流程图: 4
Ⅱ.部分函数介绍 5
Funcode接口介绍 5
三、总体设计 8
1.下图为主函数及各级嵌套函数的流程图,部分省略。 8
2、操作使用说明 9
四、详细设计 10
1.主函数模块WinMain()函数模块 10
2.部分自己设置定义的函数 12
五、运行相关界面及简介 20
六、程序运行测试及遇到问题的解决方案 25
七、成员分工表 27
八、总结与体会 28
九、教师评语 30
一、课题简述
通过一年的c语言程序设计的学习,我们仅仅掌握了c语言最基本的知识,还有很多内容是我们没有涉及的。所以通过c语言课程设计的学习实践活动和实际演练,使我们能够在实际操作中提高运用c语言解决问题的能力和程序设计的能力。
得知本次课程设计任务是小游戏的设计,我们既兴奋又不安,兴奋是十分期待自己亲手做出的游戏,不安的是我们对funcode这个软件很不了解。幸好这次实践的过程,让我们从做平时简单的小程序过渡到现在的综合应用程序,将学过的c语言知识融入新接触到的funcode操作中,不仅能巩固所学的知识,还能加强对新事物的接受及应用的本领,在不断的挑战问题中大大的提升自己,同时也是对c语言程序设计这门课的深入理解的过程。
而什么样的小游戏是我们能实现而又不乏趣味呢?经过反复思考、讨论,我们小组设计了“黄金矿工”这样一个小游戏:
玩家通过键盘的按键控制矿工抓取金块,将钩子碰触到的金块抓取过来。
1.单机键盘上的空格键进入游戏,金块的总数是20,钻石的总数是2,炸弹的总数是3,石头的总数是4,大小位置是随机的。
2.在没有抓取状态下,钩子左右摆动,此时矿工的是静止的。当钩子摆动到一定角度,玩家可以单击键盘上的上下左右键中的下方向键控制矿工伸出长钩,抓取金子等——抓到一个金子金子加20分,钻石加50分且拉回速度变快,石头加5分且拉回速度变慢,抓到炸弹不加分且炸弹会爆炸。此时矿工是向下摇动转轴。获取到金子等往回拉后,矿工是不断转动转轴,直到金子拉动到钩子初始处,矿工恢复静止,钩子继续左右摇摆,直到玩家再次单击向下方向键。如果钩子没有碰触到金子,而是碰触到左右和下的边界,则钩子保持原来的速度往回收。
3.加入计分和计时系统。60秒倒计时时间内抓取的金子越多得分越高。
接下来,我们开始思索,要如何实现这些功能,如何将所有功能连接在一起。于是我们先用funcode 熟悉小游戏制作的操作,认真按照老师给我们的实验指南进行练习,反复阅读其内容,并用vc6.0进行对各种小游戏源代码的简单探索。当然,由于技术原因,我们想要设计的软件只是局限于对游戏功能的实现,而实际中正式的欢迎界面,游戏说明等优美的图片,我们并没有进行设计,包括刚开始拟定的金子运动、玩家升级等也取消了。然而,这并不影响我们制作小游戏的热情,而且我们根据其具体的功能进行了组员之间的分工合作。
二、功能需求
Ⅰ.程序大体流程图:
图1. 游戏模块图
Ⅱ.部分函数介绍
本实验用到的API
extern float dGetScreenLeft(); /*获取世界边界之左边X坐标*/
extern float dGetScreenTop(); /*获取世界边界之上边Y坐标*/
extern float dGetScreenRight(); /*获取世界边界之右边X坐标*/
extern float dGetScreenBottom(); /*获取世界边界之下边Y坐标*/
extern void dSetSpriteWidth( const char *szName, const float fWidth ); /*设置精灵外形宽度*/
extern float dGetSpriteWidth( const char *szName ); /*dGetSpriteWidth:获取精灵外形宽度*/
extern int dRandomRange( const int iMin, const int iMax ); /*获取一个位于参数1到参数2之间的随机数*/
extern void dSetSpriteRotation( const char *szName, const float fRo
您可能关注的文档
- 8#煤层巷道锚杆支护研究锚杆支护技术报告.doc
- 11采区回风下山扩修施工安全技术措施.doc
- 40MW分布式煤气发电项目除盐水池施工方案.docx
- Android 客户端开发.doc
- 安全与环境应急预案.doc
- 毕业设计刀具曲面修磨机设计.docx
- 毕业设计液压拉伸机.doc
- 大型化工厂工程监理规划.doc
- 地下室模板支设技术交底.doc
- 典型的涵洞的设计.doc
- Unit9FromHeretoThere第7课时ReadingforWriting课件仁爱(级英语下册.pptx
- 学生自主学习与合作学习的比较.pptx
- 学生怎样写感谢信给老师(优质18).pptx
- 学生开学活动中的动物保护与植物种植意识培养.pptx
- 学生自主学习能力的培养策略.pptx
- 学生自主学习能力培养的实践与探索.pptx
- 股份公司董事、监事、高级管理人员及其他核心人员行为规范.doc
- 2025高考数学二轮专题复习专题四立体几何微重点3立体几何中的动态问题 .pptx
- 山东省日照市2024-2025学年高一上学期期末考试历史试题2.docx
- 学生思维能力在初中语文教学中的培养.pptx
文档评论(0)