【问题标题】:for loop dice roll and textbox.Text updating troubles c#for循环骰子滚动和文本框。文本更新麻烦c#
【发布时间】:2012-10-31 23:40:51
【问题描述】:

我正在尝试制作一个程序,其中首先有一个随机掷骰子“掷骰子”来决定dicethrow 应该掷骰子的次数(1 到 9 次之间),任何大于卷应该是游戏的结束。我还需要在每次滚动后更新分数,这是我在 cmets 中尝试做的,但我不确定是否需要 TryParsewagerTextBox.Text 来获取值并防止格式异常,或者如果没有它会很好(或者我会把TryParse放在哪里)。

#region private method randomdiceroll
private void rollButton_Click(object sender, EventArgs e)
{
    rollDice();
    wagerTextBox.Enabled = false;
}
private int RollsNumber()
{
    Random rolls = new Random();
    return rolls.Next(1, 10);
}
private int diceThrow()
{
    Random dice = new Random();
    return dice.Next(1,7);
}
private void rollDice()
{
   int i = RollsNumber();
   for (i = 0; i <= 10; i++)
   {
       diceThrow();
       int wager = Convert.ToInt32(wagerTextBox.Text);
       int score = wager * 100;
       scoreTextBox.Text = Convert.ToString(score);
       {
          // wagerTextBox.Text = null;
         //  wagerTextBox.Text = scoreTextBox.Text;
       }
   }
}
#endregion

【问题讨论】:

  • 到底是什么问题?
  • 我试图理解您的问题并查看了您的代码。找到真正的问题是没有意义的。你能重述一遍吗?
  • 是 for 循环最好的方法,还是使用其他方法更好,以及正确计算分数的最佳方法是什么,因为它是 100 * wagertextbox.Text每次滚动后。
  • @ibohuizen 抱歉,有时知道要问的正确问题对我来说是最难的部分。基本上,我只需要保证我做的很接近正确,或者如果我做错了,需要一些关于如何正确做的指导。
  • 提出正确的问题有时确实很困难。现在您有时间重新思考,问题是什么?

标签: c# dice


【解决方案1】:

解决滚动随机次数的问题切换此代码:

int i = RollsNumber();
for (i = 0; i <= 10; i++)
{

到:

int i;
int maxRolls = RollsNumber();
for (i = 0; i < maxRolls; i++)
{

对于您问题的第二部分,我不知道您到底想要完成什么,抱歉。

【讨论】:

  • 感谢您的帮助。第二部分用语言来说有点令人困惑,我只需要自己处理它,然后问我什么时候可以更具体地陈述我的问题。不过,这会有所帮助,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 2016-03-25
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多