系统分析(一)

2008-04-09 04:08:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

“系统分析”如此专业的词汇可能会立刻吓退一大片人,我当初也是如此!不过只要你认真读完下面的文字,也许你会说一声:‘系统分析’也不过如此嘛!

顾名思义‘系统分析’就是对整个游戏系统的规划,自顶向下的将它细化成一个个可由程序实现的模块;然后再把各个模块细化成一条条的语句。如此一来,写程序时就可以有条不紊,不会再像以前那样想到哪儿写到哪儿了。

相信大家对RPG都是非常熟悉的,通常的RPG按功能可分为:消息处理系统、场景显示及行走系统、打斗系统、升级系统、对话系统事件处理系统六大部分。其中又以消息处理系统走为核心模块,其余五部分紧紧围绕它运行。我的系统分析报告如下:

《英雄救美》系统分析记录

名称:英雄救美

中文RPG

硬件要求:PENTIUM 100以上CPU16M内存、SVGA、键盘、声卡(可选)。

软件平台:Windows 95/98/NTDirextX 5.0以上

开发环境:VC 5.0DirectX SDK

剧本:略(参见上文)

模块分析:

  1. 消息处理(核心)

  2. 场景显示及行走

  3. 打斗

  4. 升级

  5. 对话

  6. 事件处理

流程图:

(注:各个模块的具体实现略)

在这里并没有把每个模块的具体实现方法写出来,因为我认为把大量细节上的东西一股脑的堆在面前,实在是太枯燥了。为了不让你失去耐性,我决定还是把这些东西留到具体实现的时候来讲,也许这样会较生动而利于理解一些。

利用今天剩下的时间,我建立了两个非常重要的数据结构:‘角色’和‘地图‘的属性类结构。

//*********角色属性结构**********

typedef struct{

char Name[32]; //角色名称

int Width,Hight; //角色大小

int x,y; //当前坐标

int old_x,old_y; //旧的坐标

int Way; //方向

int Stats; //状态

int Level; //等级

int Exp; //经验

int Lift; //生命

int MaxLift; //生命最大值

int Attack; //攻击

int Defend; //防御

int Speed; //速度

char Goods[10]; //物品(最多可带10件)

}Role_Struct;

//*********地图结构**********

typedef struct{

char Name[32]; //名字

int Width; //

int Hight; //

char Ground; //地面材料

char res[7]; //保留

unsigned short *Data; //数据

}Map_Struct;

将同一事物的属性归在一起,使程序清晰易读,有利于我们方便的管理数据、把握大局;更是顺应了当今面向对象的程序设计思路。

三月二十八日 星期天:消息处理系统

今天的任务非常明确,就是搭起游戏的筐架(即建立游戏的消息处理系统)。

我们的这个消息处理系统和Windows的消息处理机制其实非常相似,都是先等待消息,然后根据收到的消息转到相应的函数进行处理。所不同的是

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:为什么要进行烦人的单元测试?

下一篇:系统分析(二)