mudong10.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 130 行
C
130 行
//mudong.c// This is a room made by Wsl.#include <room.h>inherit ROOM;int do_use(string arg);int do_pull(string arg);int do_enter(string arg);void create(){ set("short", "墓穴"); set("long", @LONG你隐约看到四周的墙上插着六柄火把。LONG); setup();}void init(){ add_action("do_use", "use"); add_action("do_pull", "pull"); add_action("do_enter", "enter");}int do_use(string arg){ object me; me = this_player(); if( !arg || arg=="" ) return 0; if (!present("fire",me)) return 0; if( arg=="fire" ) { remove_call_out("cls"); call_out("cls", 40, this_object()); write("你取出火折一晃,凑上前去点燃了其中的一只火把,也不知是什么机关,其它的五只火把一一燃了起来。但你发现这样走下去好象永无尽头,难道真有机关吗?\n"); set("long", @LONG洞内一片凌乱,各种盔甲兵刃散落在地上,洞壁上刻了各种各样的图案,出口四通八达,也不知暗藏了什么机关暗器。LONG ); set("item_desc", (["机关" : "在火把的照明下,你试着仔细观察周围的景象,但始终不能发现什么异样来。\n","火把" : "你看了看插在墙上的火把,这火把似乎......\n",])); set("exits", ([ "north" : __DIR__"mudong"+random(10), "south" : __DIR__"mudong"+random(10), "east" : __DIR__"mudong"+random(10), "west" : __DIR__"mudong"+random(10), ])); me->set_temp("dian",1); return 1; } return notify_fail("你想点燃什么?\n");}int do_pull(string arg){ string p; p = sprintf("%d", this_player()->query("passwd1")); if( !arg || arg == "" ) if(!this_player()->query_temp("dian")) { write("什么?!\n"); return 1; } if( arg == p ) { message_vision("$N只觉得一阵地动山摇。\n", this_player()); message_vision("震动过后,在你脚下的一块石板缓缓的移了开来。\n", this_player()); this_player()->set_temp("la1",1); remove_call_out("close"); call_out("close", 5, this_player()); return 1; } else { write("你心中不断祈祷,应该是这只吧!!!\n"); if (random(6) != 4) { message_vision("$N拉下了其中的一只火把,这时,不知什么地方突然射出一只毒箭,直射向你的脑门。\n", this_player()); message_vision("$N急忙躲闪开去。但还是被利箭划破了手臂。\n", this_player()); this_player()->set_temp("die_for","被毒箭射"); this_player()->add("qi",-3000); this_player()->add("eff_qi",-2000); return 1; } else { if (this_player()->query("dodge",1) < 100) message_vision("$N拉下了其中的一只火把,这时,不知什么地方突然射出一只毒箭,直射向你的脑门。\n", this_player()); message_vision("$N躲闪不及,毒箭从你的脑门对穿而过......\n",this_player()); this_player()->set_temp("die_for","被毒箭射"); this_player()->die(); return 1; } }}int do_enter(string arg){ object me; me = this_player(); if( !arg || arg=="" ) return 0; if (!me->query_temp("la1")) return 0; if (!me->query("passwd1")) return 0; if( arg=="洞" ) { message_vision("$N战战兢兢的爬了进去。\n",me); me->move("/d/changan/qinhuang/mumen.c"); me->delete_temp("dian"); me->delete("passwd1"); } return 1;}void close(object me){ message("vision","轰隆隆的响声响过之后,石板又合上了。\n", this_object()); me->delete_temp("la1");}void cls(object room){ message("vision","不一会儿,火把就熄灭了。\n", room); set("long", @LONG你隐约看到四周的墙上插着六柄火把。LONG); delete("item_desc"); room->delete("exits");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?