代码之家  ›  专栏  ›  技术社区  ›  mr.jogurt

Java中依赖对象的代码

  •  1
  • mr.jogurt  · 技术社区  · 6 年前

    我需要根据Java类的对象执行不同的代码。

    进一步解释:我正试图为一个NPC的文本冒险创建一个“对话”,NPC会告诉你一些事情,你可以选择说什么。基本上,有更多的NPC与玩家交流,但当然也有更多或更少的NPC比其他人的演讲部分。所以我不能用这么多的部分对它进行硬编码,只需将字符串从一个对象更改为另一个对象,如下所示:

    public class NPC {
      private String[] speech;
      private String[] reply;
    
      public conversation() {
       speech[0];
       getReply(reply);
       speech[1];
       getReply(reply);
       speech[2];
       getReply(reply);
       ...
      }
    }
    

    例如,npcone有3个语音部分,npctwo有7个,每个部分对不同的回复都有一定的反应,所以我也不能真正使用if或任何循环。

    所以我需要一种方法来完成这项工作或者围绕它工作(希望不会失去把它全部放在一个班上的能力),但是也许我在这里是愚蠢的,看不到树木的树木。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Marc Dzaebel    6 年前

    你可以使用终局状态机。 FSM Theory and Implementation in game developmet

        2
  •  0
  •   GhostCat    6 年前

    对不起,你为什么不能呢?

    public conversation() {
      int i = 0; 
      ...
      while(hasSpeech()) {
        speech(i);
        getReply(reply);
      }
    

    意思是:如果你有重复的任务,那么就想出一些方法让你使用某种循环结构。