代码说明书.docx
- 文档编号:8361264
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:5
- 大小:17.68KB
代码说明书.docx
《代码说明书.docx》由会员分享,可在线阅读,更多相关《代码说明书.docx(5页珍藏版)》请在冰豆网上搜索。
代码说明书
代码说明书
代码说明书篇一:
源程序说明书
源程序说明书
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开始做测试用代码,如今都转移到MIRGME.CPP中了。
mircore.h
mirgme.cpp消息处理,动作处理的核心代码
mirgme.h
mirgmemp.cpp游戏地图的处理,障碍地图的绘制
mirgmemp.h
mirgroup.cpp对GROUP.DT的处理,得到服务器和区域列表,并且有个接口可以将列表输出到COMBOBOX控件
mirgroup.h
mirgroup1.cpp原来想把上面的处理写到类里面,可是时间问题,我就。
。
。
。
mirgroup1.h
mirgui.cpp界面处理,
mirgui.h
mirminimp.cpp小地图处理和绘制类
mirminimp.h
mirmsg.cpp消息发送接收等处理的类
mirmsg.h
mirprocmsg.cpp原来想把消息处理独立开,不过后来没时间就。
。
。
。
mirprocmsg.h
mirsocket.cpp对socket得简洁封装。
。
。
。
mirsocket.h
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MIRCODE的接口说明
mircode.cpp具体介绍
chrucse(chrc);输入一个字符,假如是小写字母,返回这个字符的大写。
假如是其他的,直接返回。
inthex2int(chrc);输入一个十六进制字符,转换成十进制int型,假如不是16进制字符,返回0
chrint2hex(intv);输入一个0-15的十进制,返回16进制字符
intUnNmeCode(chr*in,chr*out);对人物出现消息内的人物名字进行解码,in为输入buffer,out为输出
intCodeGteCode(chr*in,chr*out);对消息进行加密,就是盛大以前的一个补丁PROTECTMIR的功能
intUnGteCode(chr*in,chr*out);对加密的消息进行解密.
intUnGmeCode(chr*p,BYTE*out);对游戏消息进行解码,返回解码后长度
intCodeGmeCode(BYTE*in,intsize,BYTE*out);对游戏消息进行编码,in,输入缓冲,size输入字节,out输出缓冲,返回编码后长度
这些基本上就是传奇的编码和解码核心了。
传奇的消息格式,〔二进制〕
DWORDdwId;
WORDwCmd;
WORDwPrm01;
WORDwPrm02;
WORDwPrm03;
chrbuffer[?
]
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MIRGAME接口说明!
^_^
mirgme.cpp
DWORDMessgeProc(PVOID*p);消息处理线程
clssCMirGme传奇游戏类
{
public:
friendDWORDMessgeProc(PVOID*p);作为友员函数,方便访问
voidWlk(intdir);请求行走参数方向
BOOLSelectChr(chr*chrnme);选择人物参数角色名字
BOOLGetSelChrInfo(SELCHRINFO*pInfo);取得选人信息参数选人信息返回地址BOOLEnterServer(chr*ServerNme);进入服务器参数服务器名字
BOOLLogin(chr*usernme,chr*pssword);登陆参数账号,密码
BOOLOpenGteServer(chr*ip);连接GATE服务器参数ip
intGetString(chr*string);分割/隔开的字符串的函数参数字符串public:
voidLogToList(HWNDhList,chr*line);向listbox写log
voidLogCht(chr*line,...);
voidLogSystem(chr*line,...);
public:
BOOLEnterGme(intChrIndex);进入游戏参数人物编号,0/1
BOOLClosell();关闭全部连接
BOOLEnterSelChrServer();进入选人服务器无参数
BOOLCloseGteServer();关闭gate服务器无参数
BOOLInitLogSystem(HWNDhSysLog,HWNDhChtLog,intMxLine);初始化loglistbox
BOOLGetMsgInfo(SOCKETs);取得消息信息〔废除〕
BOOLGetMsg(MMSG*pMsg);得到一条消息参数返回消息指针
public:
BOOLRunThrough(intdir);穿人^_^参数方向
CMirMiniMp*GetMiniMp();得到小地图
CMirGmeMp*GetGmeMp();得到游戏障碍地图
voidSetChrcterPos(intx,inty);设置角色坐标
voidTurn(intdir);转向参数方向
voidRun(intdir);跑参数方向
voidHndleCommnd(chr*commnd);接受操纵指令参数指令字符串〔其实就是用另外一个人来操纵该角色〕
BOOLCloseSelChrServer();关闭选人服务器
BOOLLogout();退出游戏世界
BOOLSy(chr*word,...);说话
BOOLStrtGme();开始游戏〔创建消息收取线程〕
CMirGme();
virtul~CMirGme();
privte:
CMsgQueue2m_MsgQueue;
DWORDm_dwGmeStte;
SOCKETm_sGte;
SOCKETm_sSelChr;
SOCKETm_sGme;
SELCHRINFOm_SelChrInfo;
BOOLm_bInGme;
chrm_ccount[32];
chrm_SelChrIp[20];
chrm_GmeServerIp[20];
intm_SelChrPort;
intm_GmeServerPort;
chrm_SID[32];
privte:
voidctionFil();动作失败处理
voidctionOk();动作胜利处理
BOOLCnDoction();是否可以做动作〔当前是否有动作还没有被确认〕
privte:
intm_LeftHours;
HWNDm_hSysLog;
HWNDm_hChtLog;
TSTRINGm_StringList[20];
intm_MxLogLine;
chr*m_tmpBuffer;
chr*m_tmpBuffer2;
chr*m_MsgLeftBuf;
CTION_LSTm_Lstction;
CHRCTERINFOm_ChrSelf;
CMirMsgm_MirMsg;
CMirSocketm_MirSocket;
CMirMiniMpm_MiniMp;
CMirGmeMpm_GmeMp;
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MIRGAMEMAP
mirgamemap.cpp
clssCMirGmeMp
{
public:
BOOLTestMp(intx,inty);测试地图坐标是否有障碍
BOOLTestMpTo(intx,inty,intdir);测试坐标的那个方向上的坐标是否有障碍voidSetPersonInfo(DWORDx,DWORDy,DWORDdir);设置角色坐标
BOOLSetGmeMp(chr*mpnme,DWORDx,DWORDy);设置地图信息和当前坐标
voidDrw(HDCdc,intdx,intdy);在DC的DX,DY位置上绘制障碍地图CMirGmeMp();
virtul~CMirGmeMp();
privte:
MIRMPBLOCK*Lodmp(chr*mp);读取地图
MIRMPHEDERm_Heder;
MIRMPBLOCK*m_pDt;
DWORDm_xpos;
DWORDm_ypos;
DWORDm_dir;
intm_DrwWidth;
intm_DrwHeight;
intm_DrwMpWidth;
intm_DrwMpHeight;
MPDRWCOLORm_DrwColor[MOBJ_TELEPORT+1];
};
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MIRGROUP
MIRGROUP
intSetreList(HWNDhWnd);输出区域信息到指定的LISTBOX或者COMBOBOX
intSetServerCptionList(HWNDhWnd,intreID);输出服务器显示名字到指定的COMBOBOX
intGetServerNme(intreID,intServerIndex,chr*ServerNme);得到制定区的指定服务器的名字〔消息中用到的名字〕
intSetGroupFile(chr*file);设置GROUP.DAT的文件
intGetIpddress(intreID,chr*Ipddr);得到区域登陆服务器的名字
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
MIRMINIMAP
MIRMINIMAP
clssCMirMiniMp
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码 说明书