C#Dice游戏,将其转换为用户输入的输入

时间:2013-05-02 12:34:59

标签: c# random int dice

我做了一个骰子“游戏”,随机选择一个数字然后“滚动”以查看获得相同数字需要多少卷。我遇到的问题是如何让用户输入pyöräytys

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Noppapeli
{
    class Program
    {
        static void Main(string[] args)
        {
            int pyöräytys;
            int satunnainen;
            int luku = 0;

            Random noppa = new Random((int)DateTime.Now.Ticks);

            int.TryParse(Console.ReadLine(),out pyöräytys);
            Console.WriteLine("Arvon numeron ja sitten koitan saada sen uudelleen");
            Console.WriteLine("Haettava numero on: " + pyöräytys);
            Console.ReadLine();
            do
            {
                luku++;
                satunnainen = noppa.Next(1, 7);
                Console.WriteLine("numero on: " + satunnainen);
                if (satunnainen == pyöräytys)
                {
                    satunnainen = pyöräytys;
                }
            } while (pyöräytys != satunnainen);

            Console.WriteLine("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
            Console.WriteLine("Haettu numero: " + pyöräytys);
            Console.WriteLine("Pyöräytetty numero: " + satunnainen);
            Console.Write("Kesti " + luku + " Nopan pyöräytystä saada tulos!");
            Console.ReadLine();
        }
    }
}

我尝试将pyöräytys = noppa.Next(1,7);更改为可以读取已按下但无法找到任何内容的键的内容。

编辑: 感谢WhileTrueSleep解决方案,我在上面的代码中更新了它。另一件事,现在我可以输入一个超过6的数字,它会进行无限循环。我怎么做到这个数字必须在1-6之间。

2 个答案:

答案 0 :(得分:5)

int.TryParse(Console.ReadLine(), out pyöräytys);

修改:将此行替换为pyöräytys = noppa.Next(1, 7); 用户现在可以在控制台中输入值。如果输入无效,则pyöräytys将保留其默认值(0)。

答案 1 :(得分:-2)

Console.ReadLine()会返回一个字符串,您可以try to parse into an int找到该字符串,然后可以在for loop中使用该字符串。