rukou.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 113 行
C
113 行
// Room: /d/huashan/canglong.c// Date: Look 99/03/25#include <room.h>#include <ansi.h>inherit ROOM;void create(){ set("short","山洞"); set("long", @LONG这里是山洞的入口。山洞里面漆黑一团,你根本分不清东南西北,只好胡乱瞎闯了。LONG ); setup();}void init(){ add_action("do_use", "use"); add_action("do_break", "break");}int do_use(string arg){ object room, ob, me; me = this_player(); if(!living(me) ) return 0; if (me->is_busy() || me->is_fighting()) return notify_fail("你正忙着哪!\n"); if(!objectp(ob = present("fire", me))) return notify_fail("你手中没有火折,怎么能在山洞里行动?\n"); if( !arg || arg=="" ) return 0; if( arg == "fire" ) { message_vision(HIC"$N点燃火折,把洞内照亮了一些。洞内亮了一些,微弱的火光一闪一闪的。你发现左边"HIG"(left)"HIC"好象有个小口可以过去。\n"NOR, me); destruct(ob); if(!(room = find_object(__DIR__"rukou"))) room = load_object(__DIR__"rukou"); set("exits/left", __DIR__"cave"); if (me->query_temp("mb")){tell_object("你似乎发现右方多了一条小路。(right)\n",me); set("exits/right",__DIR__"midao"); } call_out("delete_exit", 4, room); return 1; }}void delete_exit(object room){ message("vision",BLU"只听见扑的一声,火折熄灭了。\n"NOR, room); delete("exits/left"); delete("exits/right");}int do_break(string arg){ int n; object me = this_player(); object weapon; object room;// object ob = this_object(); n = (int)me->query("neili"); room = find_object(__DIR__"hole"); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "sword") return notify_fail("你手中无剑,怎能破壁?\n"); message_vision( "$N走到石壁前,拔出腰间所悬长剑,运劲向石壁刺了过去。\n", me); if ( n >= 600 ){ message_vision( "$N只听一声轰响,石壁被捅穿了。!\n", me); set("exits/out",__DIR__"hole"); this_player()->add("neili", -200); remove_call_out("close"); call_out("close", 5, this_object()); if(!(room = find_object(__DIR__"hole"))) room = load_object(__DIR__"hole"); if( room = find_object(__DIR__"hole") ) { message("vision", "你只听外面一声轰响,石洞被人从里面捅穿了,露出了一个洞口。\n", room); room->set("exits/enter",__DIR__"rukou"); room->set("exits/out",__DIR__"siguoya"); remove_call_out("close1"); call_out("close1", 5, room); } } else { message_vision( "结果只听一声闷哼,$N被石壁的反弹力震得眼前一黑....\n", me); this_player()->unconcious(); } return 1;}void close(object ob){ message("vision","崖上忽然掉下来一块巨石,将洞口封了个严严实实。\n", ob); ob->delete("exits/out");}void close1(object room){ message("vision","崖上忽然掉下来一块巨石,将洞口封了个严严实实。\n", room); room->delete("exits/enter"); room->set("exits/out",__DIR__"siguoya");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?