wuxing0.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 78 行

C
78
字号
// Room: /d/shaolin/wuxing0.c
// Date: YZC 96/02/06

#include <ansi.h>

inherit ROOM;

string* dirs = ({"east", "south", "west", "north"});

void create()
{
	set("short",HIY "五行洞" NOR);
	set("long", HIY @LONG
这是五行洞。四周一片亮晶晶的,定睛细看,却是无数锋利
的刀尖从墙上,地上,顶上,四面八方向你伸过来,稍不留神就
会自己撞到刀尖上去。刀光眩目,更添彻骨寒意。几具血淋淋的
断肢残骸挂在刀尖上,看来已经有些时日了。墙壁黑乎乎的,似
是钢铁铸成。
LONG
NOR	);
	set("exits", ([
		"east" : __DIR__"wuxing4",
		"south" : __DIR__"wuxing3",
		"west" : __DIR__"wuxing1",
		"north" : __DIR__"wuxing2",
	]));
	set("no_clean_up", 0);
	setup();
}

int check_out(object me)
{
	int metal, wood, water, fire, earth;

	metal = me->query_temp("wuxing/金");
	wood = me->query_temp("wuxing/木");
	water = me->query_temp("wuxing/水");
	fire = me->query_temp("wuxing/火");
	earth = me->query_temp("wuxing/土");

	if ( metal > 0 &&
		metal == wood && metal == water &&
		metal == fire && metal == earth )
	{
		me->delete_temp("wuxing");
		me->move(__DIR__"andao2");
		return (1);
	}
	return (0);
}

int valid_leave(object me, string dir)
{
	int count;

	if (member_array(dir, dirs) != -1)
	{
		if (dir == "north")
		{
//			write("*金生水*\n");
			count = me->query_temp("wuxing/水");
			count++;
			me->set_temp("wuxing/水", count);
			if (check_out(me))
				return notify_fail("你顺利地走出了五行迷宫。\n");
		}
		else if (dir == "west")
		{
//			write("*金克木*\n");
			me->delete_temp("wuxing");
			me->move(__DIR__"jianyu1");
			return notify_fail("你掉进机关,落入僧监。\n");
		}
	}
	return ::valid_leave(me, dir);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?