13070036 段杰 小狼课设报告.doc
《13070036 段杰 小狼课设报告.doc》由会员分享,可在线阅读,更多相关《13070036 段杰 小狼课设报告.doc(24页珍藏版)》请在三一办公上搜索。
1、 小狼下100层 学 号 13070036姓 名 段杰指导教师 陈彩 2014年4月目录小狼下100层1目录21 需求分析31.1功能与数据需求31.1.1 显示用户界面31.1.2打开音乐31.1.5 计分31.1.6 键盘操作31.1.7按钮操作31.2 界面需求41.2.1输入用户名界面。41.2.2游戏界面51.2.3 结束界面51.3 开发与运行环境61.4 其他方面需求62 概要设计62.1 主要数据结构72.2 程序总体结构83 详细设计83.1主要函数流程图83.2板的生成和删除94 测试104.1 游戏开启测试104.2 游戏运行测试104.2.1边界测试105 用户手册11
2、5.1 应用程序功能的详细说明115.2 应用程序运行环境的要求115.3 应用程序的安装与运行方法115.4 程序界面、交互方式和操作方法116 总结提高126.1课程设计总结126.2对本课程意见与建议13附录:源代码141 需求分析小狼下100层,每下一层木板分数增加,木板不停生成。死亡后记录积分并排名。1.1功能与数据需求 程序功能:输入用户名、生成游戏界面、开始游戏、计分、保存、游戏开始及退出、排行榜、结束、键盘及鼠标操作。1.1.1 显示用户界面利用drawInterface和drawMenu和drawButton绘制游戏界面利用drawwolf,drawStep画出狼和板。1.1
3、.2打开音乐 显示开始界面之后,利用playsound打开音乐并播放音乐 1.1.4按开始键游戏开始游戏进入游戏界面,画好界面,信息显示区和控制区,产生狼和板,狼接触边界则游戏失败。记录得分之后显示排行榜。1.1.5 计分 狼每下一层算5分,接触板后才进行分数增加。1.1.6 键盘操作可控制狼的方向1.1.7按钮操作游戏有开始、暂停和结束键,可以暂停和退出游戏。游戏中退出不记录积分。1.2 界面需求游戏界面:进行游戏结束界面:排行榜显示 1.2.1输入用户名界面。 记录用户信息。1.2.2游戏界面游戏时的界面1.2.3 结束界面 按游戏结束的界面。1.3 开发与运行环境 本游戏开发环境为vc+
4、6.0 ,运行环境为vc+6.0 环境 添加EasyX库 使用预编译的头文件,选择不使用补偿页眉1.4 其他方面需求 Vc+6.0上要安装easyx软件2 概要设计 2.1 主要数据结构 struct Coordinate int x; int y;/坐标struct personchar name20;int score;/玩家信息struct Step Coordinate cor; int length; / 长度 stepType StepType; / 台阶类型 int n; / 第几阶 Step *nextNode; / 下一结点; / 用来存储台阶的链表struct Wolf C
5、oordinate cor; / 坐标 int life; / 待定 int State; / 1:在台子上;2:往下掉 IMAGE img;2.2 程序总体结构void initInterface(Coordinate but , buttonState butsta); / 初始化void drawInterface(Coordinate but , buttonState butsta); / 界面void drawMenu(Coordinate but , buttonState butsta); / 菜单void drawButton(Coordinate cd , buttonSt
6、ate butSta , char *text); / 按钮void drawMessage(char *name , int score , int time ); / 信息void drawStep(Step *step); / 台阶void drawWolf(Wolf wolf); / 狼void disposeStep(Step *step); / 台阶void CreatStepNode(Step *step); / 创建节点void DeleteStepNode(Step *step); / 删除结点void Next(Step *step , Wolf *wolf); /板和狼下
7、一步计算void DispatchCMD(Wolf *wolf); /停止响应void DispatchKeyboardMessage(Wolf *wolf); void DispatchMouseMessage(); int savescore(person player);/存得分int showscore();/显示排行榜void judge(buttonState butsta, Wolf *wolf , Step *step, int *score,person player);/ 判断void PAUSE();3 详细设计3.1主要函数流程图3.2板的生成和删除4 测试4.1 游戏
8、开启测试 本测试目的: 确定游戏能在PC上正常开启 测试:本游戏能在win7以下的操作系统中运行,高于win7的操作系统暂时还不能运行vc6.0应用程序。确定游戏能够运行时,可将程序代码直接导入到vc+6.0中,并点击运行(run)即可运行此游戏。或者用户确定游戏BGI路径与源代码中的路径相同,则可直接双击游戏的EXE文件,也可运行游戏。4.2 游戏运行测试4.2.1边界测试本测试目的: 确定游戏界面中的边界处是否可以正常运行 测试:用户进入游戏后,按照用户手册可进行测试,查看兔子到边界处是否能够正常使用 按开始键开始 按 狼开始动 到边界处是否正常运动 板能否正常生成 图形是否有缺损 游戏中
9、是否有隐藏的bug 经测试,游戏运行正常。4.2.2按钮测试本测试目的:测试暂停,退出,结束键是否可以正常使用测试:用户进入游戏后,按照用户手册可进行测试。按开始键,待游戏开始后按暂停键暂停,再按继续键继续,结束键结束本盘游戏,再按开始键开始,再按退出键退出游戏。看游戏是否可按预设的那样执行。经测试,游戏运行正常。5 用户手册5.1 应用程序功能的详细说明本应用程序名为“层下100层”是一款能在在vc+6.0环境下运行的益智小游戏。使用于win7,等操作系统。游戏主题是一个狼在不断生成并上升的木板中下降。触碰到游戏壁则死亡,记录游戏积分并排行 5.2 应用程序运行环境的要求 本游戏开发环境为v
10、c+6.0,运行环境为vc+6.0 环境生成可执行文件后可以用windows7,windows X等系统运行。5.3 应用程序的安装与运行方法 本益智小游戏不需要安装,玩家可将程序代码直接导入到vc+6.0环境中,并点击编译,运行,即可运行此游戏。或者用户确定游戏BGI路径与源代码中的路径相同,则可直接双击游戏的EXE文件,也可运行游戏。5.4 程序界面、交互方式和操作方法按钮区域游戏信息狼板 6 总结提高6.1课程设计总结这次C语言课程设计,我收获很大,本来上学期c语言学的就比较基础,在加上自己课下练习不够,起初,做课设很是费劲,不知道从何下手,后来跟着easyx上的教程一步一步的学,渐渐有
11、了点信心,通过学习网上别人介绍的方法,和看别人编的小程序,心里才渐渐有些想法。通过一段时间的学习,我发现其实编游戏也不是很难,重要的是要有想法,思路清晰之后再开始编,会更快更好。而且在设计时要分块写,调用方便而且改起来也方便。有的时候,总是找不到错误在哪里,真的想放弃。但是现在回想起来,如果那时放弃那么又怎能开发出来呢。通过这次的的课设,我想编程既要有头脑,又要有耐心,遇到问题时,应及时与同学,老师交流,或者想放一放干些别的,也许事情就可解决。编程并不可一蹴而就,是一个慢慢学习理解的过程,不能着急,耐心一点。但是也要注意时间的掌握,要合理安排课设的时间。在本次设计中,我觉得自己在c语言中复杂问
12、题的处理上有了很大提高,对整体结构的把握上也有了一定的提升。而且我觉得自己应多学习高级的算法,使自己的程序更加系统,更便于理解。这次的程序设计,我更要感谢老师和同学的帮助,在大家的帮助下我才能完成此次课设。6.2对本课程意见与建议 我希望课设能安排几节来是讲一讲怎么做游戏,先讲一讲基础的知识,再让我们做,这样可以节约很多时间。 我希望能够在最后几周,多安排几次答疑时间,以便更好地解决我们的问题。 附录:源代码#include #include #include #include #include#pragma comment(lib,winmm.lib)#define SPEED#define
13、 step_wide 30 / 台阶的厚度#define BUTTON_HEIGHT 50 / 按钮的高#define BUTTON_WEIGHT 80 / 按钮的宽度#define level 10 /难度【流畅度】/enum gameStateReady = 1,Run = 2,Pause = 3,Exit = 0;/游戏运行状态enum buttonStateavailable,notavailable,selected;/按钮的状态,可选.不可选,被选中enum stepTypeSafe,Spine,HEAD;/struct Coordinate int x; int y;struct
14、 personchar name20;int score;struct Step Coordinate cor; / 坐标 int length; / 长度 stepType StepType; / 台阶类型 int n; / 第几阶 Step *nextNode; / 下一结点; / 用来存储台阶的链表struct Wolf Coordinate cor; / 坐标 int life; / 待定 int State; / 1:在台子上;2:往下掉 IMAGE img;gameState GameSta = Ready; / 绘制界面void initInterface(Coordinate
15、but , buttonState butsta); / 初始化void drawInterface(Coordinate but , buttonState butsta); / 界面void drawMenu(Coordinate but , buttonState butsta); / 菜单void drawButton(Coordinate cd , buttonState butSta , char *text); / 按钮void drawMessage(char *name , int score , int time ); / 信息void drawStep(Step *ste
16、p); / 台阶void drawWolf(Wolf wolf); / 狼void disposeStep(Step *step); / 台阶void CreatStepNode(Step *step); / 创建节点void DeleteStepNode(Step *step); / 删除结点void Next(Step *step , Wolf *wolf); void DispatchCMD(Wolf *wolf); void DispatchKeyboardMessage(Wolf *wolf); void DispatchMouseMessage(); int savescore(p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 13070036 段杰 小狼课设报告 小狼 报告
链接地址:https://www.31ppt.com/p-3072988.html