12gong.c

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

C
122
字号
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( !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 + -
显示快捷键?