作者laechan (小太保)
看板mud_sanc
标题Re: [讨论] 正在规划的新区域
时间Thu Dec 6 14:55:07 2007
※ 引述《doall (狂人)》之铭言:
: 总共60格。
: 低→高:(除了X,Y有所改变之外,Z方位亦改变1格)
: §§:瀑布、﹋:水、=:桥
: 4_1_17 :祭坛
: 有人要给建议吗??
你可能打算用 auto_exits.c 去做,那要注意一点,就是各个
「一般房间」(x_x_x.c)理论上只有 long 会不一样,其它的程
式段应该都是一样的。
在这情况下,那些相同的程式段,最好也挪到 auto_exits.c,
房间档应该会简化到底下..
inherit __DIR__"auto_exits.c";
void create()
{
::create(); // <= 呼叫 auto_exits.c 里头的 create
set("short",WHT+"西大道"+NOR);
set("long",@LONG
银白雪花依然飘落,似乎终年不停。道旁顶了层白的银杏,随着
冷冽的风艰难的晃着头。在南北两方好似各有着一条青砖小道,因着
两旁高大的建筑显得相当狭小。
LONG
);
reset();
}
auto_exits.c 则在最前头新增底下内容...
inherit ROOM;
在档案结尾处新增底下内容...
void create()
{
mapping room_exit=([]);
int limit_num;
int *coor;
string *other;
::create();
seteuid(getuid();
other = ({"",""});//""内分别输入enter and out的档案位置,若无,请保持空白
//north = 1, south = 2, east = 4, west = 8, up = 16, down = 32
//limit_num = 出口代表数字之总和。
limit_num = 63;
set("light",1);
coor = getcoordination();
room_exit = set_exit(coor[0],coor[1],coor[2],other[0],other[1],limit_num);
set("exits",room_exit["exits"]);
set("coordinate","("+coor[0]+","+coor[1]+","+coor[2]+")");
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.231.120.132
1F:推 doall:原来可以这样做ㄛ??可是不在X_Y_Z.c里面呼叫getcoordination 12/06 16:32
2F:→ doall:会不会抓到的档名是auto_exits.c??? 12/06 16:34
3F:推 doall:来试试看好了! 12/06 16:37
4F:推 doall:似乎不行...因为我在x_y_z.c中又写了限定要判断哪些出口 12/06 16:40
5F:→ doall:还有enter and out的出口 12/06 16:41
6F:推 doall:除非可以在後面再传回other和limit_num的值 12/06 16:45