C# 如何按数字顺序排列随机骰子面(yahtzee)

C# 如何按数字顺序排列随机骰子面(yahtzee),c#,C#,所以我一直在做yahtzee游戏,到目前为止我已经有了随机显示骰子图像的标签,这是代码 #region Declaration Image[] diceImages; int[] dice; Random rand; #endregion #region Initialization public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) {

所以我一直在做yahtzee游戏,到目前为止我已经有了随机显示骰子图像的标签,这是代码

#region Declaration

Image[] diceImages;
int[] dice;
Random rand;

#endregion

#region Initialization

public Form1()
{
    InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
    diceImages=new Image[7];
    diceImages[0] = Properties.Resources.dice_face_0;
    diceImages[1] = Properties.Resources.dice_face_1;
    diceImages[2] = Properties.Resources.dice_face_2;
    diceImages[3] = Properties.Resources.dice_face_3;
    diceImages[4] = Properties.Resources.dice_face_4;
    diceImages[5] = Properties.Resources.dice_face_5;
    diceImages[6] = Properties.Resources.dice_face_6;

    dice = new int[5] { 0, 0, 0, 0, 0 };

    rand = new Random();
}

#endregion

private void btnRoll_Click(object sender, EventArgs e)
{
    for (int i = 0; i < dice.Length; i++)
        dice[i] = rand.Next(1, 7);

    lblDie1.Image = diceImages[dice[0]];
    lblDie2.Image = diceImages[dice[1]];
    lblDie3.Image = diceImages[dice[2]];
    lblDie4.Image = diceImages[dice[3]];
    lblDie5.Image = diceImages[dice[4]];
}
#区域声明
图像图像;
int[]骰子;
随机兰德;
#端区
#区域初始化
公共表格1()
{
初始化组件();
}
私有void Form1\u加载(对象发送方、事件参数e)
{
diceImages=新图像[7];
diceImages[0]=Properties.Resources.dice\u face\u 0;
diceImages[1]=Properties.Resources.dice_face_1;
diceImages[2]=Properties.Resources.dice_face_2;
diceImages[3]=Properties.Resources.dice_face_3;
diceImages[4]=Properties.Resources.dice_face_4;
diceImages[5]=Properties.Resources.dice_face_5;
diceImages[6]=Properties.Resources.dice_face_6;
骰子=新整数[5]{0,0,0,0,0};
rand=新随机数();
}
#端区
私有void btnRoll\u单击(对象发送者,事件参数e)
{
for(int i=0;i
我可以按数字顺序排列骰子图像吗?如果可以,如何排列?

执行以下操作后:

for (int i = 0; i < dice.Length; i++)
    dice[i] = rand.Next(1, 7);

然后继续分配图像。

您可以使用
Array.Sort
()

private void btnRoll\u单击(对象发送者,事件参数e)
{
for(int i=0;i
dice = dice.OrderBy(x => x).ToArray();
private void btnRoll_Click(object sender, EventArgs e)
{
    for (int i = 0; i < dice.Length; i++)
        dice[i] = rand.Next(1, 7);

    Array.Sort(dice);

    lblDie1.Image = diceImages[dice[0]];
    lblDie2.Image = diceImages[dice[1]];
    lblDie3.Image = diceImages[dice[2]];
    lblDie4.Image = diceImages[dice[3]];
    lblDie5.Image = diceImages[dice[4]];
}