检测代码bug 优化代码逻辑if!wizardpmeswitch stringobj-queryequippedcaseworn tell_objectmeobj-name +必须脱下才可以丢掉n; return 0; case wielded tell_objectmeobj-name + 必须解除才丢n; return 0;
可能的bug:
-
第5行应该是 obj->name() 而不是 obj.name()。
-
第6行的 return 0 应该是 return。
-
第7行应该是 case "wielded" 而不是 case"wielded"。
-
第8行的 tell_object() 中应该是 obj->name() 而不是 me.obj->name()。
优化代码逻辑:
-
增加一个 else 分支来处理 wizardp(me) 的情况,例如可以显示一条提示信息告诉巫师可以直接丢弃物品。
-
在 switch 语句中加入一个 default 分支来处理其他情况,例如可以显示一条提示信息告诉玩家该物品无需脱下或解除就可以丢弃。
-
可以将 switch 语句改为 if-else 语句,因为只有两种情况需要处理,用 if-else 更加简洁明了。例如:
if (obj->query("equipped") == "worn") { tell_object(me, obj->name() + "必须脱下才可以丢掉\n"); return; } else if (obj->query("equipped") == "wielded") { tell_object(me, obj->name() + "必须解除才可以丢\n"); return; } else { tell_object(me, obj->name() + "无需脱下或解除就可以丢弃\n"); return; }
原文地址: https://www.cveoy.top/t/topic/bw5a 著作权归作者所有。请勿转载和采集!