1

我做了一个骰子“游戏”,它随机选择一个数字,然后“掷骰”,看看要掷多少次才能得到相同的数字。我遇到的问题是如何让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 之间。

4

2 回答 2

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

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

于 2013-05-02T12:38:17.003 回答
-2

Console.ReadLine()返回一个字符串,您可以尝试将其解析为 int,然后您可以在for 循环中使用它。

于 2013-05-02T12:41:28.903 回答