申し訳ありませんが、私は学校でC#を学んでいて、ダイスローラープログラムを考え出しました。 私が持っている問題は、2つのダイスの合計を集めてから、それを配列に配置するのではなく、インストラクターがペアの各ダイの番号を取得し、それをダイの第2のペアロールズ。私はロールを設定しましたが、ダイの数を配列に入れる方法はわかりません。ここに私がこれまで持っていたコードがあります。正しい方向にちょうど答えを探しているわけではありません。2つの別個の数字を配列に追加する
Random roll = new Random();
int [,] dieValue1 = new int[7, 7];
int[,] dieValue2 = new int[7, 7];
int die1 = 0;
int die2 = 0;
int die3 = 0;
int die4 = 0;
die1 = roll.Next(6);
die2 = roll.Next(6);
die3 = roll.Next(6);
die4 = roll.Next(6);
lblDice1.ImageIndex = die1;
lblDice2.ImageIndex = die2;
//die roll for the first list
for (int rollNum = 1; rollNum< 51; rollNum++)
{
die1 = roll.Next(1, 7);
die2 = roll.Next(1, 7);
dieValue1[die1, die2] += 1;
lstRolls.Items.Add("Roll " + rollNum + " : " + "die 1 is a " + die1 + ", " + "die 2 is a " + die2);
}
//die roll for the second list
for (int rollNum1 = 1; rollNum1< 51; rollNum1++)
{
die3 = roll.Next(1, 7);
die4 = roll.Next(1, 7);
dieValue2[die3, die4] += 1;
lstRolls2.Items.Add("Roll " + rollNum1 + " : " + "die 3 is a " + die3 + ", " + "die 4 is a " + die4);
}
for (int r = 1; r < 51; r++)
{
lstRollDifference.Items.Add("First rolls :" + dieValue1 + " " + "Second rolls :" + dieValue2);
}
私は混乱しています。だから、あなたはそれぞれの数字の組み合わせが巻かれている回数の積算値があります。そして今、あなたは個々のロールを追跡しようとしていますか?あなたはそれらをペアで転がし、それを第2のダイスロールと比較することによって、どういう意味ですか? – EJoshuaS
私は、各ペアが50回回転している2つの別々のダイスを追跡しています。彼は各ペアの番号を表示したかった。私は2つの別々のリストボックスを作った。しかし今、彼は、2対のダイスがお互いに比べて欲しいと言っています。私はIEnumerable.Comparerを使用して、50回回転した2組のサイコロを比較します。ペア1 {6,3}ペア2 {1,4}を実行すると、各ペアの50個の役割をIEnumerableで調べて表示する必要があります。たとえば、ペア1には{2}があります。 –
最も単純な考え方は、インデックスがロール番号である各配列を1次元にすることです。 50個のロールについて: 'int [] die1Values =新しいint [50];' int [] die2Values =新しいint [50]; '; 'die1Values [rollNum] =(die 1の結果)'、 'die2Values [rollNum] =(die 2の結果)'となります。暗黙的な結合の代わりに、それらを1つの2D配列に結合することができます: 'int [、] allDieValues = new int [2、50]';このデータ構造では、次のことができます: 'allDieValues [0] [rollNum] =(die 1 result)'、 'allDieValues [1] [rollNum] =(die 2 result)'、第1次元はサイコロの数、 2番目はロール数です。 – Quantic