12gong.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 129 行
C
129 行
inherit F_CLEAN_UP;#include <ansi.h>#include <12gong.h>int telling1 (object who);int telling2 (object who);string name;int main(object me, string arg){ object ob; if(environment(me)->query("short")!=BLU"山洞"NOR && environment(me)->query("short")!=WHT"钟乳石洞"NOR && environment(me)->query("short")!=YEL"岩洞"NOR && environment(me)->query("short")!=RED"熔岩洞"NOR && environment(me)->query("short")!=CYN"石洞"NOR && environment(me)->query("outdoors")!="12gong") return notify_fail("只有在密宫里才能使用这个指令!\n"); if( !arg ) { ob = me; name = "你"; } else if (wizardp (me)) { ob = find_player(arg); if(!ob) ob = find_living(arg); if(!ob) ob = LOGIN_D->find_body(arg); if(!ob || !me->visible(ob)) return notify_fail("没有这个人。\n"); name = ob->query("name"); } else return 0; telling1(ob); telling2(ob); return 1;}int help(){ write(@TEXT指令格式:obstacles <某人>显示某人十二宫的资料。 请见:help 12gongTEXT ); return 1;}int telling1 (object who){ int size = sizeof(obstacles); string *names = keys(obstacles); string *strs = allocate (size); int nb = 0; int i; for (i = 0; i < size; i++) { strs[i] = "none"; } for (i = 0; i < size; i++) { if (who->query("12gong/"+names[i])=="done") { strs[nb] = obstacles[names[i]]; nb++; } } if (nb == 0) { write (name+"尚未闯过十二宫。\n"); } else { write (name+"十二宫已闯过了"+chinese_number(nb)+"宫:\n"); who->set("12gong/number",nb); strs = (string *)sort_array (strs, 1); for (i = 0; i < nb; i++) { write (" "+strs[i]+"\n"); } } return 1;}int telling2 (object who){ int size = sizeof(obstacles); string *names = keys(obstacles); string *strs = allocate (size); int nb = 0; int i; for (i = 0; i < size; i++) { strs[i] = "none"; } for (i = 0; i < size; i++) { if (who->query("12gong/"+names[i])!="done") { strs[nb] = obstacles[names[i]]; nb++; } } if (nb == 0) { write (name+"历尽磨难闯完了十二宫。\n"); } else { write (name+"十二宫还须闯"+chinese_number(nb)+"宫:\n"); strs = (string *)sort_array (strs, 1); for (i = 0; i < nb; i++) { write (" "+strs[i]+"\n"); } } return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?