c # Программа циклов лотереи с Visual Studio - PullRequest
0 голосов
/ 07 ноября 2018

В настоящее время я пытаюсь выяснить, как создать программу в Visual Studio, которая соответствует 3 числам 1-9, заданным в текстовом поле с 3 случайными сгенерированными числами в списке. У меня возникают проблемы с выяснением того, как написать оператор цикла WHILE, который позволит моему списку случайным образом генерировать 3 числа за раз и продолжить, если совпадения нет, но прерывается, если совпадение, с максимум 1000 попыток , Я немного растерялся, как это сделать. Спасибо за вашу помощь.

        private void LuckyButton_Click(object sender, EventArgs e)
    {
        Random RandomNumber = new Random();
        string newLine = Environment.NewLine;
        int Winning1 = 0;
        int Winning2 = 0;
        int Winning3 = 0;
        int numbers = RandomNumber.Next(10);

        int.TryParse(WinningNumber1.Text, out Winning1);
        int.TryParse(WinningNumber2.Text, out Winning2);
        int.TryParse(WinningNumber3.Text, out Winning3);


        if (Winning1 <= 0 || Winning2 <= 0 || Winning3 <= 0)
        {
            MessageBox.Show("Enter a number!");
            return;
        }

        while (numbers <= 1000)
        {
            numbers = RandomNumber.Next(10);
        }

    }

1 Ответ

0 голосов
/ 07 ноября 2018

Посмотрите, поможет ли это вам:

 private void LuckyButton_Click(object sender, EventArgs e)
    {
        Random RandomNumberGenerator = new Random();
        string newLine = Environment.NewLine;
        int Winning1 = 0;
        int Winning2 = 0;
        int Winning3 = 0;
        int randomNumber = RandomNumberGenerator.Next(10);
        int counter = 0;
        int winnerId = 0;


        int.TryParse(WinningNumber1.Text, out Winning1);
        int.TryParse(WinningNumber2.Text, out Winning2);
        int.TryParse(WinningNumber3.Text, out Winning3);


        if (Winning1 <= 0 || Winning2 <= 0 || Winning3 <= 0 ||
            Winning1 > 10 || Winning2 > 10 || Winning3 > 10)
        {
            MessageBox.Show("Invalid Number!");
            return;
        }

        while (counter < 1000)
        {
            if (Winning1 == randomNumber)
            {
                winnerId = 1;
                break;
            }
            else if (Winning2 == randomNumber)
            {
                winnerId = 2;
                break;
            }
            else if (Winning3 == randomNumber)
            {
                winnerId = 3;
                break;
            }
            randomNumber = RandomNumberGenerator.Next(10);
            counter++;
        }

        if(winnerId != 0)
        {
            MessageBox.Show("Number " + winnerId + " wins!");
        }
        else
        {
            MessageBox.Show("no one wins!");
        }
    }
...