C#GUI骰子游戏参考传递

C#GUI骰子游戏参考传递,c#,user-interface,dice,C#,User Interface,Dice,好的,我正在尝试制作一个GUI骰子游戏,其中骰子数字用文本框表示 我必须创建一个表示骰子的类,并且至少有一个方法必须通过引用正确地传递参数。我的问题是我对类或传递参数不太有经验 我在一个地方出错了 第1条道路(参考第1条); 第2条道路(参考第2条); (我确信我没有错误地构造RollDice类) 请问有人能帮我吗 以下是我目前的代码: public partial class Form1 : Form { private RollDice rd; public Form1(

好的,我正在尝试制作一个GUI骰子游戏,其中骰子数字用文本框表示

我必须创建一个表示骰子的类,并且至少有一个方法必须通过引用正确地传递参数。我的问题是我对类或传递参数不太有经验

我在一个地方出错了 第1条道路(参考第1条); 第2条道路(参考第2条); (我确信我没有错误地构造RollDice类) 请问有人能帮我吗

以下是我目前的代码:

public partial class Form1 : Form
{
    private RollDice rd;


    public Form1()
    {
        InitializeComponent();
        rd = new RollDice();
    }

    private void button1_Click(object sender, EventArgs e)
    {  
        int dice1, dice2;

        const int EYE = 1;

         const int BOX = 6;

        rd.RollDice1(ref dice1);

        rd.RollDice2(ref dice2);

        string result = string.Format("{0}", dice1);
        string result2 = string.Format("(0)", dice2);

             textBox1.Text = result;

               textBox2.Text = result;

         if (dice1 == EYE && dice2 == BOX)
         {
             MessageBox.Show("You rolled a Snake Eyes!");

         }
        if (dice1 == BOX && dice2 == BOX)
        {

            MessageBox.Show("You rolled BoxCars!");

        }

        else
        {
            MessageBox.Show("You rolled a {0} and a {1}", dice1, dice2);
        }
    }
}
}


}传递带有ref的变量需要使用默认值初始化该变量。如果没有用初始值设置两个骰子,编译器会抱怨
“使用未分配的局部变量xxxxx”

但是,查看代码时,不需要使用ref传递该值,只需获取返回值即可

    dice1 = rd.RollDice1();
    dice2 = rd.RollDice2();
当然,您应该更改类中的两个方法以删除ref传递的参数

class RollDice
{
    Random randomNums = new Random();

    public int RollDice1()
    {
        return randomNums.Next(1, 7);
    }

    public int RollDice2()
    {
        return randomNums.Next(1, 7);
    }
}

“我在…”处收到一个错误
-错误是?另外,为什么要通过引用传递并返回值?不妨从两种方法中选择一种。啊,这就是为什么……我会对回报感到愤怒,并继续努力。非常感谢。我怎么没看到!?!?哈哈,谢谢你,这太完美了!
    dice1 = rd.RollDice1();
    dice2 = rd.RollDice2();
class RollDice
{
    Random randomNums = new Random();

    public int RollDice1()
    {
        return randomNums.Next(1, 7);
    }

    public int RollDice2()
    {
        return randomNums.Next(1, 7);
    }
}