C#GUI骰子游戏参考传递
好的,我正在尝试制作一个GUI骰子游戏,其中骰子数字用文本框表示 我必须创建一个表示骰子的类,并且至少有一个方法必须通过引用正确地传递参数。我的问题是我对类或传递参数不太有经验 我在一个地方出错了 第1条道路(参考第1条); 第2条道路(参考第2条); (我确信我没有错误地构造RollDice类) 请问有人能帮我吗 以下是我目前的代码: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(
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);
}
}