C#掷骰子每轮最小化骰子数量

时间:2010-10-17 07:36:42

标签: c#

我需要帮助,请任何人。我做了一个数组和一个循环,当一个数字被识别时停止。它不应该以这种方式发生。

它掷5个骰子但是当识别出一个数字时,它应该减少下一轮骰子的数量。它总共播放3轮,直到识别出该数字。它应该识别6然后5 ....只给出了三轮。

问题是我希望它之前显示数组中的所有内容,并告诉该数字存在。

public dice()
        {
            int Round = 0;
            int Dice = 5;
            int Six = 6;
            int Five = 5;
            int Four = 4;
            int NOW = Six;


                do
                {                      
                    for (int i = 0; i < Dice; i++)
                    {
                        {
                            rolldice();
                            Console.Write("{0} ", die.Face());
                        }
                    }
                        if (die.Face() == NOW)
                        {

                            Dice--;
                            Console.WriteLine("You got SIX");
                            Now = Five;
                        }
                        Console.WriteLine("ENTER to roll {0} dice", Dice);             
                        Round++;
                }
                while (Round < 3);

应显示:

4 3 2 4 6 你有六个

ENTER滚动4个骰子

1 1 5 3 你有五个

ENTER滚动3个骰子

1 个答案:

答案 0 :(得分:2)

你正在滚动所有骰子,然后只检查最后一个 - 所有测试都在循环之外。

这只是使这项工作迈出的第一步 - 它还有其他各种问题。特别是,我建议只有一个条件,而不是三个......你只想知道任何一个骰子是否具有你正在寻找的当前值。

我暂时将它留在那里,所以你可以通过自己的思考来学习 - 但是当你对自己所拥有的东西感到满意时,你总能询问如何改进解决方案。