Нормальный Random для игры камень-ножницы-бумага - C#

Узнай цену своей работы

Формулировка задачи:

Помогите сделать нормальный Random ... Написал простую игру камень-ножницы-бумага и сделал так , что бы от рандомных чисел сравнивалось , кто победит ... Например switch(ran1)... и специально перемешал все case ... В итоге при запуске программы у меня в любом случае 100% lose ... Что делать? Код ниже:
        private void button1_Click(object sender, EventArgs e)
        {
            int ran1, ran2;
            Random player1 = new Random();
            Random player2 = new Random();
            ran1 = player1.Next(3);
            ran2 = player2.Next(3);
            switch (ran1)
            {
                case 0:pictureBox1.Image = Properties.Resources.Player1_Бумага;break;
                case 1:pictureBox1.Image = Properties.Resources.Player1_Камень; break;
                case 2:pictureBox1.Image = Properties.Resources.Player1_Ножницы; break;
            }
            switch (ran2)
            {
                case 0:pictureBox2.Image = Properties.Resources.Player2_Ножницы;break;
                case 1:pictureBox2.Image = Properties.Resources.Player2_Бумага;break;
                case 2:pictureBox2.Image = Properties.Resources.Player2_Камень; break;
            }
            if (ran1==0 && ran2==0)
            {
                textBox1.AppendText("Lose        Win\r\n");
            }else if(ran1==0 && ran2==1)
            {
                textBox1.AppendText("Draw\r\n");
            }else if(ran1==0 && ran2 == 2)
            {
                textBox1.AppendText("Lose        Win\r\n");
            }else if(ran1==1 && ran2 == 0)
            {
                textBox1.AppendText("Win        Lose\r\n");
            }else if(ran1==1 && ran2 == 1)
            {
                textBox1.AppendText("Lose        Win\r\n");
            }else if(ran1==1 && ran2 == 2)
            {
                textBox1.AppendText("Draw\r\n");
            }else if(ran1==2 && ran2 == 0)
            {
                textBox1.AppendText("Draw\r\n");
            }else if(ran1==2 && ran2 == 1)
            {
                textBox1.AppendText("Win        Lose\r\n");
            }else if(ran2==2 && ran2 == 2)
            {
                textBox1.AppendText("Lose        Win\r\n");
            }

Решение задачи: «Нормальный Random для игры камень-ножницы-бумага»

textual
Листинг программы
Random rndMoves = new Random();
private void button1_Click(object sender, EventArgs e)
{
            int ran1 = rndMoves.Next(3);
            int ran2 = rndMoves.Next(3);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5