Map<K,V<List<K>> graph = new HashMap<K,V<List<K>>();
使用它来表示可以是周期性的有向图是否有任何重大障碍?
编辑:
这比它可能应该的更令人困惑。这是一个 RPG 的对话图,这就是我目前所拥有的。我试图确定是否可以将其重构为更简单的形式:
为 NPC 初始化:
public interface ConversationGraphI {
void init();
Map<String, DialogueNodeI> getConversation();
void setConversation(Map<String, DialogueNodeI> conversation);
}
一段对话,带有响应选项:
public interface DialogueNodeI {
String getText();
void setText(String text);
List<ResponseChoiceI> getResponseChoices();
void setResponseChoices(List<ResponseChoiceI> responseChoices);
}
一个响应选择,然后可以循环回到地图中的另一段对话:
public interface ResponseChoiceI {
String getResponseText();
void setResponseText(String responseText);
String getDialogueKey();
void setDialogueKey(String dialogueKey);
}