yadi.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 119 行
C
119 行
// yadi.c 崖底inherit ROOM;int do_climb(string arg);int do_swim(string arg);int do_push(string arg);void create(){ set("short", "崖底"); set("long", @LONG这就是悬崖谷底面了,出乎意料这是一个天然的湖泊,你现在在湖底,四周全是水(water),不时有几条美丽的小鱼从你身边游过,四面并无明显出口。LONG ); set("item_desc",([ "water" : "碧绿碧绿的水,在阳光照耀下美丽级了,你不禁想游泳了。\n", ])); set("no_clean_up", 0); setup();}void init(){ add_action("do_climb","climb"); add_action("do_push","push"); add_action("do_swim","swim");}int do_push(string arg){ int n; n = this_player()->query("neili"); if( !arg || arg != "men") { write("你想推什么呀? \n"); return 1; } if(!this_player()->query_temp("yadi_swim")) { write("你想推什么呀? \n"); return 1; } else this_player()->delete_temp("yadi_swim"); message_vision("$N深深吸了一口气,紧紧抓住石门的一侧。\n", this_player()); if (n >150) { message_vision("只见$N一运丹田气,双膀一使劲,石门竟缓缓的开了。\n", this_player()); set("exits/west",__DIR__"shidong9"); this_player()->set("neili",n-150); remove_call_out("close"); call_out("close",5, this_object()); } else { message_vision("$N使尽了全身的力,石门却纹丝没动。\n", this_player()); this_player()->set("neili",0); } return 1;}void close(object room){ message("vision","石门自动的合上了。\n", room); room->delete("exits/west");}int do_swim(string arg){ object me; me = this_player(); if( !arg || arg != "water") { write("你想干什么呀?\n"); return 1; } this_player()->set_temp("yadi_swim",1); message_vision("$N深吸了一口气,奋力的游了起来。\n", me); if (random((int)me->query("kar")) >10) { message_vision("你游着游着,突然发现了一道石门(men),也许你能将它推(push)开。\n", me); me->receive_damage("qi", 15); me->receive_wound("qi", 10); } else { message_vision("你游着游着,突然发现了一条铁索(suo)从上面伸了过来。这条铁索并无铁锈,可能经常有人爬上爬下(climb)。\n", me); me->receive_damage("qi",10); me->receive_wound("qi",10); } return 1;}int do_climb(string arg){ int n; n = this_player()->query_skill("dodge",1); if ( !arg || arg != "suo") { write("你要爬什么呀? \n"); return 1; } message_vision("$N深吸了一口气,慢慢沿着铁索的向上爬。\n", this_player()); if(n >40) { message_vision("$N爬了半天,终于爬了上来,$N不禁在胸前双掌合十,感谢佛祖。\n", this_player()); this_player()->move(__DIR__"pubu"); } else { message_vision("$N爬了一会,太累了,不小心滑了下来。唉!没办法了,你认命吧。\n", this_player()); this_player()->receive_damage("qi",15); this_player()->receive_wound("qi",10); } return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?