私は、使用している XNA プロジェクトで使用するダイ ローリング プログラムの構築に取り組んでいますが、ここでの私の質問は純粋に C# であり、ベスト プラクティスや注意が必要な落とし穴に関するものです。オブジェクトの定義で静的メソッドを効果的に使用して、デフォルト項目の作成の概要を説明していますか。
以下は、私が使用しているコードのスナップショットです。
public struct Die{
private DieType die;
private static Random rnd = new Random();
public static Die d2 = new Die(DieType.d2);
public static Die d4 = new Die(DieType.d4);
public static Die d6 = new Die(DieType.d6);
public static Die d8 = new Die(DieType.d8);
public static Die d10 = new Die(DieType.d10);
public static Die d12 = new Die(DieType.d12);
public static Die d20 = new Die(DieType.d20);
public static Die d100 = new Die(DieType.d100);
public Die(DieType die){
this.die = die;
}
public int Roll(){
return rnd.Next((int)die);
}
}
これを使用すると、Die 構造体への参照を作成すると、コードは問題なくコンパイルされるように見えます。
List <Roll> diceCup = new List<Roll>();
diceCup.Add (new Roll(4,Die.d6,-Die.d6.Roll()));
Roll は、Quantity of Die をロールに使用し、short を使用してそれを変更する別の構造体です。
上記のサンプルの場合、4d6-d6 の新しいロールを作成します。
これらのサイコロの新しいインスタンスを作成している場合、後で問題が発生することはありますか?
アドバイスありがとう!
アンドリュー