guanxingtai.c

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

C
268
字号
// /u/beyond/mr/guanxingtai.c// Written by Jpeiinherit ROOM;int do_look(string arg);int do_jump(string arg);void create(){	set("short","观星台");	set("long",@LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。平台四周树丛掩映,阳光透过树叶的缝隙在平台上留下了班驳的树影。LONG);	set("exits",([		"south" : __DIR__"xiaojing1-4",	]) );	set("outdoors","mr");	set("no_clean_up",0);	setup();}void init(){	add_action("do_jump", "jump");	add_action("do_look", "look");	add_action("do_look", "lookold");	add_action("do_look", "l");}int do_jump(string arg){	object me = this_player();	int level, jinglicost;	level = me->query_skill("dodge");	if (arg == "zhuang") {		if (me->query_temp("guanxing_zhuang")) {			write("你已经在桩上了,别是站久了头昏吧?\n");			return 1;		}		jinglicost = level / 3 + random(level / 4);		if (me->query("jing") <= jinglicost) {			write("你太累了,先歇歇吧!\n");			return 1;		}		if (level < 250) {			write("你耸身作势,向桩上跃去,可惜的是脚尖还差一些才能够到。\n");			return 1;		}		me->receive_damage("jing", jinglicost);		message_vision("$N脚下微一运劲,轻轻地一纵就上了木桩。\n", me);		me->set_temp("guanxing_zhuang", 1);		return 1;	}	if (arg == "down") {		if (!me->query_temp("guanxing_zhuang")) {			message_vision("$N想挖个坑跳进去,对着平台四处比划了一番,却忽然想到这种行为属于破坏公物,不由得脸红了起来。\n", me);			return 1;		}		jinglicost = level / 4 + random(level / 5);		if (me->query("jing") <= jinglicost) {			write("你太累了,先歇歇吧!\n");			return 1;		}		me->receive_damage("jing", jinglicost);		if (level < 300)			message_vision("$N笨手笨脚地从桩上跌了下来,发现这很象是一招屁股向下“流星赶月”式。\n", me);		else			message_vision("$N轻轻一纵落到了地上,觉得这根木桩也太矮了。\n", me);		me->delete_temp("guanxing_zhuang");		return 1;	}	return notify_fail("你要往哪里跳?\n");}int do_look(string arg){	object me = this_player();	mixed *local;	int i, night, level;	if (arg == "zhuang") {		if (me->query_temp("guanxing_zhuang"))			write("你往脚下的木桩看去,觉得有点晕眩,刚才在地上看时好象没有这么高!\n");		else			write("这是地上按星宿排列的木桩中最粗壮的一根,比别的木桩都高,离它们也比较远,显得有些孤零零的。\n");		return 1;	}	night = 0;	local = localtime(time() * 60);	if (local[2] < 5 || local[2] >= 19) night = 1;	if (!arg) {		if (me->query_temp("guanxing_zhuang")) {			if (local[2] < 3 || local[2] > 22)				set("long", @LONG你站在木桩上向四处张望,此时夜色如水,万籁俱寂,四周的树丛里黑压压的看不清楚。仰头看去,夜空(sky)里繁星点点, 一闪一闪地似乎在向你倾诉着什么秘密。月正中天,你惊讶地发现整个台子上只有这里才能清楚地看到天顶各星的移动。LONG);			else if (local[2] < 5)				set("long", @LONG你站在木桩上向四处张望,此时已是后半夜了,除了偶尔传来的几声虫鸣外听不到任何声音,四周的树丛里黑压压的看不清楚。仰头看去,夜空(sky)里繁星点点,一闪一闪地似乎在向你倾诉着什么秘密。月落星移,你惊讶地发现整个台子上只有这里才能清楚地看到天顶各星的移动。LONG);			else if (local[2] > 19)				set("long", @LONG你站在木桩上向四处张望,刚入夜,月亮已经升起来了,远处传来一阵阵的喧闹声,四周的树丛里黑压压的看不清楚。仰头看去,夜空(sky) 里繁星点点,一闪一闪地似乎在向你倾诉着什么秘密。玉兔东升,你惊讶地发现整个台子上只有这里才能清楚地看到天顶各星的移动。LONG);			else if (local[2] < 10)				set("long", @LONG你站在木桩上向四处张望,正是清晨,四周的树丛里黑影班驳,似乎有些小鸟在其中蹿来蹿去。仰头看去,苍穹(sky)恍如一个巨碗, 倒扣在大地上。日出的朝霞映红了天边,你惊讶地发现整个台子上只有这里才能清楚地看到远方的天际。LONG);			else if (local[2] < 15)				set("long", @LONG你站在木桩上向四处张望,已是正午时分,在明亮的阳光照射下,你大致可以看清四周的树丛,一些小鸟在其中蹿来蹿去。仰头看去,苍穹(sky) 恍如一个巨碗,倒扣在大地上。阳光直直地洒下来,你惊讶地发现整个台子上只有这里才能清楚地看到远方的天际。LONG);			else if (local[2] < 18)				set("long", @LONG你站在木桩上向四处张望,已经下午了,在明亮的阳光照射下,你大致可以看清四周的树丛,一些小鸟在其中蹿来蹿去。仰头看去,苍穹(sky) 恍如一个巨碗,倒扣在大地上。阳光西斜,你惊讶地发现整个台子上只有这里才能清楚地看到远方的天际。LONG);			else				set("long", @LONG你站在木桩上向四处张望,远处有些许炊烟,四周的树丛里黑影班驳,似乎有些小鸟在其中蹿来蹿去。仰头看去,苍穹(sky)恍如一个巨碗, 倒扣在大地上。傍晚的云彩绚丽而又凄美,你惊讶地发现整个台子上只有这里才能清楚地看到远方的天际。LONG);		}		else {			if (local[2] < 3 || local[2] > 22)				set("long", @LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。夜色如水,月正中天,平台四周树丛掩映,在夜幕下显得格外阴森。LONG);			else if (local[2] < 5)				set("long", @LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。后半夜的空气又凄冷又清新,平台四周的树丛里偶尔传来几声虫鸣,在夜幕下显得有些阴森。LONG);			else if (local[2] > 19)				set("long", @LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。刚刚入夜,远处赏月行歌的人群传来阵阵的喧闹声,平台四周的树丛里逐渐寂静,在夜幕下显得有些阴森。LONG);			else if (local[2] < 10)				set("long",@LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。清晨的空气混有一股泥土的清香,平台四周树丛掩映,阳光浅浅地透进去,里面一片灰蒙蒙的。LONG);			else if (local[2] < 15)				set("long",@LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。平台四周树丛掩映,正午的阳光透过树叶的缝隙在平台上留下了班驳的树影。LONG);			else if (local[2] < 18)				set("long",@LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。平台四周树丛掩映,下午的阳光洒进树丛,可以看到里面有些小鸟在窜来窜去,平台上的树影逐渐拉长,日渐西山了。LONG);			else				set("long",@LONG这里是小径旁树丛中央的一个大平台。平台呈圆形,地上按二十八宿的方位排布着一些木桩,其中一根最北边的木桩(zhuang)显得格外的粗壮。平台四周树丛掩映,傍晚的阳光难以穿透树叶的缝隙,使树丛看起来有些阴森。远处不知谁家的炊烟正在袅袅升起,是晚餐时分了。LONG);		}		return 0;	}	if (arg == "sky") {		if (!me->query_temp("guanxing_zhuang")) {			if (night)				write("你仰首望天,天上繁星点点,你顺着银河的方向看去,却发现部分的夜空被周围的树冠挡住了。\n");			else				write("你仰首望天,太阳挂在天空中,白云朵朵,阳光顺着云层的边缘洒下来,你觉得有些刺眼。\n");			return 1;		}		if (!night) {			write("你仰首望天,太阳挂在天空中,白云朵朵,阳光顺着云层的边缘洒下来,你觉得有些刺眼。\n");			return 1;		}		level = me->query_skill("douzhuan-xingyi", 1);		if (level < 200) {			write("你仰首望天,天上繁星点点,你似乎觉得星斗的移动与你所学的“斗转星移”有莫大的联系,却无法领会。\n");			return 1;		}		if (level * level * level / 10 > me->query("combat_exp")) {			write("你仰首望天,天上繁星点点,你体会出了星斗的移动与你所学的“斗转星移”有莫大的联系,却苦于实战经验不足,无法将你看到的东西与实际作战联系到一起。\n");			return 1;		}		write("你仰首望天,天上繁星点点,你体会出了星斗的移动与你所学的“斗转星移”有莫大的联系!\n");		if (me->is_busy()) {			write("可惜你现在正忙着做别的事,无法专心研究夜空中的星斗。\n");			return 1;		}		if (me->is_fighting() ) {			write("可惜你现在正在战斗中,无法专心研究夜空中的星斗。\n");			return 1;		}		if (me->query("jing") < level / 7) {			write("可惜你太累了,无法集中精神来研究夜空中的星斗。\n");			return 1;		}		me->receive_damage("jing", level / 7);		me->improve_skill("douzhuan-xingyi", me->query("int"));		write("你又掌握了一些在实战中运用斗转星移的技巧。\n");		if (!random(5))			tell_room(this_object(), me->name() + "站在木桩上仰首望天,嘴里呢喃着什么。\n", ({me}));		return 1;	}	return 0;}int valid_leave(object me, string dir){	if (me->query_temp("guanxing_zhuang"))		return notify_fail("先从木桩上跳下来(down)再说吧!\n");	return ::valid_leave(me, dir);}

⌨️ 快捷键说明

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