2

私の問題は、C# で小さな 2D ゲームを作成していることです。このゲームは、モンスターを倒し、経験値を獲得してレベルを上げる必要があるキャラクターを表しています。彼のレベルが上がると、より高いレベルのアイテムを着用できるようになり、強さポイントが増加して新しいアイテムのロックを解除できるようになります。

アイテム要件を作成して、特定のレベルおよび特定の強度の一部のアイテムを制限するにはどうすればよいですか? SWITCH最もシンプルでありながら強力な方法であるため、大きないまたはIF ELSEステートメントを含める必要はありません。

注: 私の質問は、さまざまなレベルと種類のアイテムをドロップする MMORPG ゲームであると想像できますが、自分の種類とレベルに合ったアイテムを着用できるのは自分だけです。ですから、誰かにそのメカニズムと、C# で専門的な方法でそれを達成する方法を説明してもらいたいのです。

4

3 に答える 3

3

ダニエルの答えは健全で、最終的にはより汎用性がありますが、単にメソッドを実装する方が ac# 初心者にとって理解しやすいと思います。それは間違いなく巨大なswitch条項よりも優れています。

public class Item
{
    public virtual bool IsWearable(Character c)
    {
        return true;
    }
}

public class BananaSword : Item
{
    public override bool IsWearable(Character c)
    {
         return c.Level >= 10 && c.Race == CharacterRace.BananaWarrior;
    }
}

public class BananaDude : Character
{
    public List<Item> GetWearableItems()
    {
        return AllGameItems.Where(i => i.IsWearable(this)).ToList();
    }
}
于 2013-07-10T15:29:20.197 に答える