zhuang3.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 101 行
C
101 行
#include <room.h>
#include <ansi.h>
inherit ROOM;
int do_break(string arg);
int do_climb(string arg);
void create()
{
set("short", "庄府大门");
set("long", @LONG
这里就是文士庄允城的旧居。自从他被朝廷抓走后,这里好象就
没有人住了。一扇大门(men)紧锁着,周围是高高的围墙(wall).
一切都很干净,并没有积多少灰尘。
LONG );
set("exits", ([
"south" : __DIR__"zhuang2",
]));
set("item_desc", ([
"men" : "这扇门是锁着的,除非你打破(break)它。\n",
"wall" : "墙很高,可能翻不过去(climb)。\n",
]) );
set("no_clean_up", 0);
setup();
}
void init()
{
object book, me;
me = this_player();
add_action("do_break", "break");
add_action("do_climb", "climb");
}
int do_break(string arg)
{
int n;
n = this_player()->query("neili");
if( !arg || arg!="men" ) {
write("不要随便打碎别人的东西!\n");
return 1;
}
message_vision(
"$N走到门前,深吸一口气,双掌同时拍出。\n", this_player());
if (n>=200) {
message_vision(
"$N只听一声轰响,$N把门震开了!\n", this_player());
set("exits/north", __DIR__"zhuang4");
this_player()->set("neili",n-200);
remove_call_out("close");
call_out("close", 5, this_object());
}
else {
message_vision(
"$N大吼一声“开!”,结果什么也没发生。看来$N的内力不够强。\n", this_player());
this_player()->set("neili",0);
}
return 1;
}
int do_climb(string arg)
{
int n;
n = this_player()->query_skill("dodge");
if( !arg || arg!="wall" ) {
write("不要到处乱爬!\n");
return 1;
}
message_vision(
"$N在墙前站定,深吸一口气,猛然跃起.\n", this_player());
if (n>=80) {
message_vision(
"只见$N足尖在墙上一点,已悠然飘落院中.\n", this_player());
this_player()->move("/d/city2/zhuang4");
}
else if (n>=50) {
message_vision(
"只见$N双手在墙上一攀,勉强翻过围墙,跌落院中.\n", this_player());
this_player()->move("/d/city2/zhuang4");
}
else {
message_vision(
"$N高高跃起,可还差一大截呢,看来是轻功不够好。\n", this_player());
}
return 1;
}
void close(object room)
{
message("vision","门吱呀一声又合上了,好象有鬼。\n", room);
room->delete("exits/north");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?