Mud 版 (精华区)
发信人: jiayb (多情剑客痴情剑), 信区: Mud
标 题: MUD程式篇 (一)
发信站: 哈工大紫丁香 (Wed Apr 1 09:51:31 1998), 转信
发信人: mice (风中的云), 信区: MUD
标 题: MUD程式篇 (一)
发信站: 冰城驿站之BBS (Thu Feb 26 14:21:11 1998), 转信
我刚从apprentice 升到wizard,所以我的程序假定权限为apprentice,对
apprentice ,您对每个目录都有读的权限,但只有对 /open 目录有写权限,你可以
在此建一目录,如 cd /open ,mkdir self , cd self ,主要的工作目录现设在
/open/self中,另外,对于物品和人物(非 player)最好先建目录,如
cd /open/self ,mkdir obj ,mkdir npc ,其中obj 放物品,npc 目录放人物。
我们先可以盖房子,现在就在 /open/self 下做一个文件 cave.c
它表示一间房子(其实是一个洞,不过很多类似的东西都叫房子)。
程式用 edit 编写, edit cave.c
用 a 追加行,另起一行时,用 . 来退到命令状态,w 存盘,q 退出,
出不想存,用大写的 Q 退出,详细使用请在edit 的 : 命令行状态下用 h 看 help.
现在开始程序,你可 edit cave.c , a ,再用剪帖板拷过去, 再 . 退到命令状态下,
w 存盘,q 退出, 再 update cave.c 编译 。
一、
假设当前工作目录为 /open/self/。
///cave.c Designed by Self 97.09.20
inherit ROOM;
void create()
{
set("short","山洞");
set("long","洞里阴暗潮湿,看不清什么东西。");
set("exits", (["south" : __DIR__"road1"]));
setup();
replace_program(ROOM);
} ///The end.
其中,__DIR__"road1"代表与cave.c相同目录下的road1.c文件,它等价于
"/open/self/road1"。(__DIR__ Represents: Directory that the file currently being compiled is in.)
以上程序用update编译,update cave.c或update cave。然后goto /open/self/cave,然后再用look看即可。
为便于程序的扩展,通常将上面的程序写成如下形式:
///open/self/cave.c Designed by self 97.09.23
inherit ROOM;
void create()
{
set("short","山洞");
set("long", @LONG
洞里阴暗潮湿,看不清什么东西。
好象*
LONG
);
set("exits", ([
"south" : __DIR__"road1",
]));
setup();
replace_program(ROOM);
}//The end.
其中,LONG可为任意字符串,但前后必须一致,且其所在行不能有其它字符。
--
※ 修改:.yangx 于 Apr 1 09:34:19 修改本文.[FROM: 202.97.228.245]
※ 来源:.冰城驿站之BBS bbs.hr.hl.cn.[FROM: 202.118.226.90]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: yangx.bbs@bbs.hr.hl.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.453毫秒