当前位置:首页 > 范文大全 > 说明书 > 正文
 

代码说明书

发布时间:2024-04-26 21:03:27 影响了:

代码说明书篇一:源程序说明书

源程序说明书

1.概述

简要描述该程序在组

代码说明书

件中的作用、与其它程序(或类)的关系(可用图来描述)。

2.功能描述

详细描述此程序要完成的功能

3.输入说明

说明程序的输入、媒体文件、运行数据记录、运行开始时使用的输入数据的类型和存放单元、与程序初始化有关的入口要求等。

4.对象类说明

说明该程序中的所有类(类图,每个类的属性及方法。)及每个类所属物理文件的清单(包括文件存放路径)。

5.处理过程说明

用图表说明程序的运行的逻辑流程、程序主要转移条件、对程序的约束条件、程序结束时的出口要求、与下一个程序的通信与联结(运行、控制)、由该程序产生并供处理使用的

输出数据的类型和存放位置等。

6.输出说明

说明程序的输出。

7.接口说明

本程序与其他系统或模块的接口说明(使用到的外部接口及对外提供的接口)。

8.操作环境说明

列出支持该程序运行的数据,及软件(包括名称和版本号)。

9.程序清单和流程图

引用资料或提供附录给出程序清单和流程图。

代码说明书篇二:代码设计说明书

代码设计说明书

代码说明书篇三:代码说明

VC编写,6.0以上版本的VC都可以编译.

说明:

需要在工作目录放入盛大的GROUP.DAT才能显示区域服务器等信息.

在工作目录\DATA下放入MMAP.WIL,MMAP.WIX就可以显示大地图,在工作目录\MAP下放入盛大的地图就可以显示障碍地图.

|-MIRGUI.EXE

|-GROUP.DAT

+-DATA

||-MMAP.WIL

|\-MMAP.WIX

+-MAP

|-*.MAP(盛大传奇的地图文件)

DATA/MAP文件夹可以不存在.

但是GROUP.DAT必须存在,没有它就无法显示游戏区域和服务器,也就无法进入游戏.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

bindef.h 二进制定义文件,看看就知道了,就是定义了一些B00001111类似的序列,方便二进制操作

mircode.cpp 消息解码相关

mircode.h 消息解码相关头文件

mircore.cpp 开始做测试用代码,现在都转移到MIRGAME.CPP中了。

mircore.h

mirgame.cpp 消息处理,动作处理的核心代码

mirgame.h

mirgamemap.cpp 游戏地图的处理,障碍地图的绘制

mirgamemap.h

mirgroup.cpp 对GROUP.DAT的处理,得到服务器和区域列表,并且有个接口可以将列表输出到COMBOBOX控件

mirgroup.h

mirgroup1.cpp 本来想把上面的处理写到类里面,可是时间问题,我就。。。。

mirgroup1.h

mirgui.cpp 界面处理,

mirgui.h

mirminimap.cpp 小地图处理和绘制类

mirminimap.h

mirmsg.cpp 消息发送接收等处理的类

mirmsg.h

mirprocmsg.cpp 本来想把消息处理独立开,不过后来没时间就。。。。

mirprocmsg.h

mirsocket.cpp 对socket得简单封装。。。。

mirsocket.h

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MIRCODE的接口说明

mircode.cpp 详细介绍

char ucase(char c); 输入一个字符,如果是小写字母,返回这个字符的大写。如果是其他的,直接返回。

int hex2int(charc); 输入一个十六进制字符,转换成十进制int型,如果不是16进制字符,返回0

char int2hex(int v); 输入一个0-15的十进制,返回16进制字符

int UnNameCode( char * in, char * out ); 对人物出现消息内的人物名字进行解码,in为输入buffer,out为输出

int CodeGateCode( char * in, char * out); 对消息进行加密,就是盛大以前的一个补丁PROTECTMIR的功能

int UnGateCode( char * in,char * out); 对加密的消息进行解密.

int UnGameCode( char * p, BYTE*out ); 对游戏消息进行解码,返回解码后长度

int CodeGameCode( BYTE*in, int size,BYTE * out); 对游戏消息进行编码,in,输入缓冲,size输入字节,out输出缓冲,返回编码后长度

这些基本上就是传奇的编码和解码核心了。

传奇的消息格式,(二进制)

DWORD dwId;

WORD wCmd;

WORD wParam01;

WORD wParam02;

WORD wParam03;

char buffer[?]

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MIRGAME接口说明!^_^

mirgame.cpp

DWORD MessageProc( PVOID * p ); 消息处理线程

class CMirGame传奇游戏类

{

public:

friend DWORD MessageProc( PVOID * p ); 作为友员函数,方便访问

void Walk( int dir ); 请求行走 参数 方向

BOOL SelectChar( char * charname ); 选择人物 参数 角色名字

BOOL GetSelCharInfo( SELCHARINFO * pInfo ); 取得选人信息 参数 选人信息返回地址 BOOL EnterServer( char * ServerName ); 进入服务器 参数 服务器名字

BOOL Login( char * username, char * password ); 登陆 参数 账号,密码

BOOL OpenGateServer( char * ip ); 连接GATE服务器 参数 ip

int GetString( char * string ); 分割/隔开的字符串的函数 参数 字符串 public:

void LogToList( HWND hList, char * line ); 向listbox写log

void LogChat( char * line,... );

void LogSystem( char * line,... );

public:

BOOL EnterGame( int CharIndex ); 进入游戏 参数 人物编号,0/1

BOOL CloseAll(); 关闭所有连接

BOOL EnterSelCharServer(); 进入选人服务器 无参数

BOOL CloseGateServer(); 关闭gate服务器 无参数

BOOL InitLogSystem( HWND hSysLog, HWND hChatLog, int MaxLine); 初始化log listbox

BOOL GetMsgInfo( SOCKET s ); 取得消息信息(废除)

BOOL GetMsg( MMSG * pMsg ); 得到一条消息 参数 返回消息指针

public:

BOOL RunThrough( int dir ); 穿人^_^ 参数 方向

CMirMiniMap * GetMiniMap(); 得到小地图

CMirGameMap * GetGameMap(); 得到游戏障碍地图

void SetCharacterPos( int x, int y ); 设置角色坐标

void Turn( int dir ); 转向 参数 方向

void Run(int dir ); 跑 参数 方向

void HandleCommand( char * command ); 接受控制命令 参数 命令字符串(其实就是用另外一个人来控制该角色)

BOOL CloseSelCharServer(); 关闭选人服务器

BOOL Logout(); 退出游戏世界

BOOL Say( char * word, ...); 说话

BOOL StartGame(); 开始游戏(创建消息收取线程)

CMirGame();

virtual ~CMirGame();

private:

CMsgQueue2 m_MsgQueue;

DWORD m_dwGameState;

SOCKET m_sGate;

SOCKET m_sSelChar;

SOCKET m_sGame;

SELCHARINFO m_SelCharInfo;

BOOL m_bInGame;

char m_Account[32];

char m_SelCharIp[20];

char m_GameServerIp[20];

int m_SelCharPort;

int m_GameServerPort;

char m_SID[32];

private:

void ActionFail(); 动作失败处理

void ActionOk(); 动作成功处理

BOOL CanDoAction(); 是否可以做动作(当前是否有动作还没有被确认)

private:

int m_LeftHours;

HWND m_hSysLog;

HWND m_hChatLog;

TSTRING m_StringList[20];

int m_MaxLogLine;

char * m_tmpBuffer;

char * m_tmpBuffer2;

char * m_MsgLeftBuf;

ACTION_LAST m_LastAction;

CHARACTERINFO m_CharSelf;

CMirMsg m_MirMsg;

CMirSocket m_MirSocket;

CMirMiniMap m_MiniMap;

CMirGameMap m_GameMap;

};

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MIRGAMEMAP

mirgamemap.cpp

class CMirGameMap

{

public:

BOOL TestMap( int x, int y ); 测试地图坐标是否有障碍

BOOL TestMapTo( int x, int y, int dir ); 测试坐标的那个方向上的坐标是否有障碍 void SetPersonInfo( DWORD x, DWORD y, DWORD dir ); 设置角色坐标

BOOL SetGameMap( char * mapname, DWORD x, DWORD y ); 设置地图信息和当前坐标

void Draw( HDC dc, int dx, int dy); 在DC的DX,DY位置上绘制障碍地图 CMirGameMap();

virtual ~CMirGameMap();

private:

MIRMAPBLOCK* Loadmap( char * map ); 读取地图

MIRMAPHEADER m_Header;

MIRMAPBLOCK * m_pData;

DWORD m_xpos;

DWORD m_ypos;

DWORD m_dir;

int m_DrawWidth;

int m_DrawHeight;

int m_DrawMapWidth;

int m_DrawMapHeight;

MAPDRAWCOLOR m_DrawColor[MOBJ_TELEPORT + 1];

};

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MIRGROUP

MIRGROUP

int SetAreaList( HWND hWnd ); 输出区域信息到指定的LISTBOX或者COMBOBOX

int SetServerCaptionList( HWND hWnd, int AreaID ); 输出服务器显示名字到指定的COMBOBOX

int GetServerName( int AreaID, int ServerIndex, char * ServerName ); 得到制定区的指定服务器的名字(消息中用到的名字)

int SetGroupFile( char * file ); 设置GROUP.DAT的文件

int GetIpAddress( int AreaID, char * IpAddr ); 得到区域登陆服务器的名字

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MIRMINIMAP

MIRMINIMAP

class CMirMiniMap

{

相关热词搜索:说明书 代码 软著代码说明书 西门子opc代码说明书

相关文章
最新文章

Copyright © 2008 - 2017 版权所有 博文学习网

工业和信息化部 湘ICP备09005888号-2