欢迎来到天天文库
浏览记录
ID:29186863
大小:370.50 KB
页数:16页
时间:2018-12-17
《项目名称 RPG游戏《决战交大之颠》.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、项目名称:RPG游戏《决战交大之颠》姓名:徐晓刚02092021班级:信计21完成时间:2004年5月初指导教师:罗建军日期:2004年5月7日目录一、项目背景1.项目背景简介2.项目目标3.运行环境4.任务书二、项目的实现1.对项目的分析2.项目阶段3.项目进度4.实现过程三、测试及改进1.测试过程2.部分改进及方案四、总结报告一.项目背景1.背景简介现在的RPG游戏(角色扮演游戏)多得铺天盖地,由于刚刚学习了VC++,觉得自己可以用有限的知识尝试着作个有交大特色的RPG小游戏,既可以锻炼自己编写
2、软件的能力,又可以在编写过程中学习更多知识。2.项目目标能够实现简单的RPG游戏功能:移动、进攻、医疗、获得物品等;较美观的用户界面;实现一定的情节。3.运行环境一般的PC机,单机。“绿色软件”,不用安装,删除方便。运行速度较快,稳定可靠。4.任务书表1任务表项目名称RPG游戏《决战交大之颠》辅导教师罗建军项目背景现在的RPG游戏(角色扮演游戏)多得铺天盖地,由于刚刚学习了VC++,觉得自己可以用有限的知识尝试着作个有交大特色的RPG小游戏,既可以锻炼自己编写软件的能力,又可以在编写过程中学习更多知
3、识。任务目标能够实现简单的RPG游戏功能:移动、进攻、医疗、获得物品等;较美观的用户界面;实现一定的情节。开发平台VC++6.0开发人员徐晓刚任务阶段游戏引擎界面美化情节编制测试与改进地图编辑器任务启动日期2004.4月上旬预定完成日期2004.5月上旬二.项目的实现1.对项目的分析<1>游戏的结构游戏中涉及的主要对象有:人物、地图、对话、视图。因此本游戏就主要分成这几个类制作。下图是游戏总框架图:游戏底层:图像、音效、输入、计算角色(游戏的人物)CRole地图(游戏的场景)CMap对话(游戏中的各
4、种对话框)情节(游戏的情节及各种触发事件)<2>信息的显示游戏的主界面在视图中显示,辅以对话框。其中为了消除快速刷屏时的闪烁现象,采用了双缓冲技术。<3>游戏的操作鼠标用来完成:选择人物、目标、技能、移动位置、进攻等操作;键盘上定义各种快捷键,完成:选择人物、显示模式切换、显示帮助信息、保存和载入游戏、退出游戏等功能。2.项目阶段表2项目阶段表阶段游戏引擎界面美化情节编制测试与改进地图编辑器3.项目进度表3项目进度表(以校历为准)任务计划时间段实际完成情况未按计划原因游戏引擎四月上旬至中旬略有延迟技
5、术难题界面美化四月下旬按时完成无情节编制四月下旬部分完成时间不够,先做demo测试与改进五一长假按时完成无地图编辑器五一长假按时完成无4.实现过程(由于程序过大,函数的具体实现见源程序)<1>CRole(人物类)//变量部分//------------------------------------------------------------//需要保存//角色游戏状态信息(与游戏进行相关的)boolm_bExist;//是否存在,游戏进行到一定阶段可以获得boolm_bAlive;//是否生还
6、,游戏中可能被干掉,部分可以重生boolm_bUsedInRound;//在本回合中已使用//角色基本信息CStringm_strName;//姓名CStringm_strDescription;//简短描述intm_nSex;//性别1:male;0:female.intm_nBmp;//图形编号intm_nLevel;//当前等级intm_nHP;//当前生命值intm_nTotleHP;//全额生命值intm_nSpeed;//速度,即运动的最大格数intm_nMoveType;//运动类型:
7、0:不可动;1:地面;2:空中;intm_nExperience;//当前等级获得的经验值,主要来自与敌人的战斗intm_nLevelExperience;//当前等级升级所需总经验值intm_nAbility[MAX_ABILITY][ABILITY_OPTION];//技能表.第一个索引是角色技能的编号,第二个索引是技能信息。//第二个索引:0:技能是否存在;1:技能类型(何种技能);2:技能状态(正常0,有鼠标经过1,鼠标选中2);//3:技能最大施放距离;4:技能施放值intm_nAbili
8、tyCount;//技能数目intm_nAbilityCaptured;//已被选择技能的编号,-1:未选择intm_nX;//位置(地图坐标)intm_nY;//位置intm_nBeHit;//被施放技能次数intm_nHit;//施放技能次数intm_nKill;//杀敌数目intm_nMove;//移动次数intm_nItem[MAX_ITEM];//物品intm_nItemCount;//物品数目//------------------------------
此文档下载收益归作者所有