ランダムに生成された 5 つの数字が同じかどうかをテストする方法がわかりません。私がこれまで持っているのは、それらの作成だけです。
dice1 = rand.Next(1,7);
dice2 = rand.Next(1,7);
dice3 = rand.Next(1,7);
dice4 = rand.Next(1,7);
dice5 = rand.Next(1,7);
私の最初の答えで編集された、脳のおなら。
簡単に入れ子にできる場合は、次のようにします。
if ((dice1 == dice2)&&(dice2 == dice3)&&(dice3 == dice4)&&(dice4 == dice5))
これはうまくいくはずです
if(dice1 == dice2)
if(dice2 == dice3)
if(dice3 == dice4)
if(dice4 == dice5)
//do something...
よりきれいな方法かもしれませんが、これはうまくいきます
まず、サイコロを数えられるものにすることをお勧めします。PSWG はそれを行うための非常にエレガントな方法を投稿しました。これは私の心が行ったところです:
var dice = new List<int>();
for (int i = 0; i < 5; i++)
{
dice.Add(rand.Next(1, 7));
}
次に、単純な評価を使用して、コレクション内のすべての数値が同じかどうかを判断できます。私はこれが好き:
// if all the dice rolled the same, do something
if (dice.Distinct().Count() == 1)
{
}
次のような方法を使用できます。
public static bool AllEqual(params int[] values)
{
foreach (var value in values)
if (values[0] != value)
return false;
return true;
}
そして、次のように使用します。
bool allSame = AllEqual(dice1, dice2, dice3, dice4, dice5);
しかし、pswg が示したように、すべてのサイコロを 1 つの列挙可能な要素で生成する方がおそらく優れています。