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);
}