キャラクターが持っている呪文を返す関数を作らなければなりません。
したがって、3つのパラメーターがあります。レベル(1〜50の整数)、キャラクタークラスを表す列挙型(8クラスのみ)、およびレースを表す列挙型(3〜4レース)です。
この関数は、スペルIDを持つ配列を返す必要があります。レベルが高いほど、キャラクターの呪文が多くなります。
これまでに行ったことはすべてをハードコーディングしたものですが、何かを変更する必要がある場合は混乱します。if
変更/維持が難しい恐ろしいものを繰り返さずに、どのような種類のデータ構造が自分のニーズに最も適しているのかわかりません。
また、言語はC#で、Xna /.NET4.0を使用しています。
アップデート
public static int[] ListOfSpells(int level, CharacterClass chClass, CharacterRace chRace)
{
switch (chClass)
{
case CharacterClass.Mage:
return new int[] { 1, 2, 3 };
case CharacterClass.Knight:
return new int[] { 2, 5, 6 };
case CharacterClass.Paladin:
return new int[] { 3, 5, 6, 2 };
default:
return new int[] { };
}
}
// classes
public enum CharacterClass : short
{
Mage = 0x00,
Warlock,
Priest,
Monk,
Knight,
Assassin,
Paladin,
Hunter,
Warrior
}
// races
public enum CharacterRace : short
{
Human = 0x00,
Elf
}