|
楼主 |
发表于 2015-5-4 14:41:02
|
显示全部楼层
少林寺松树林
少林寺的松树林,也是一个实线+随机的迷宫
迷宫一共14个房间
迷宫本身来说不难,单实线带往返+入口出口均确定
迷宫本身没有难度
进去为:
从山路:n;w;e;s;e;n;n;e;w;s
出来为:
从青云坪:sd;w;e;n;e;s;n;e;w;s
很简单的走法,也一定能进来或者出去
但是,前提是千万千万别走错,也别在林里停留......
因为一共14个迷宫房间,从房间1-房间8,以及房间14,都是安全的,但房间9-13就是危险的......
因为很可能被抓到少林监狱去......
然后你就只能等时间才能出来了......
相关代码如下:
void init()
{
object ob, room;
mapping fam;
int i = random(2);
if( i == 0) return;
ob = this_player();
room = this_object();
if ( wizardp(ob) || !userp(ob) || !living(ob)) return;
room->delete("exits");
if ( (fam = ob->query("family"))
&& fam["family_name"] == "少林派"
&& ob->query("guilty") != 1 )
ob->set("guilty",3);
ob->set("startroom", "/d/shaolin/jieluyua");
message_vision(HIR "\n$N一不小心,走进了僧兵们设下的陷阱!
$N只觉得脚下一阵巨痛,原来是踩上了埋在地下的竹签。\n\n" NOR, ob);
message_vision(HIR "\n$N痛得几乎失去了知觉......\n\n" NOR, ob);
call_out("trapping", 20, ob, room);
}
void trapping(object ob, object room)
{
if ( !living(ob) ) return;
message_vision(HIY "\n僧兵们把$N从陷井里起了出来,送进了戒律院!\n\n\n" NOR, ob);
ob->move(__DIR__"jieluyua");
room->set("exits/south", __DIR__"shulin"+(random(8)+6));
room->set("exits/north", __DIR__"shulin"+(random(8)+6));
room->set("exits/east", __DIR__"shulin"+(random(8)+6));
room->set("exits/west", __DIR__"shulin"+(random(8)+6));
}
从代码来看,貌似每一步都有50%的概率被抓,而通常走错后,我们是不知道自己在哪的,这样除非你一直保持在那50%(可以买彩票了),否则被抓几乎是一定的...... |
|