@Chipu

Как исправить программу?

Ошибка в том, что как я считаю, координаты 'кроликов' должны 'прыгать' по всему полю, но по наблюдениям они всегда оказываются в точке 0;0. Почему так?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace wolf_islandUPDATE
{

    static class Rabbits
    {
        public static List<int> rabbits_x = new List<int> { 3, 12 };
        public static List<int> rabbits_y = new List<int> { 3, 12 };
        public static Random rnd = new Random();

        public static void rabbits_clone()
        {

        }
        public static void rabbits_turn()
        {
            for (int i = 0; i < rabbits_x.Count; i++)
            {
                Console.SetCursorPosition(rabbits_x[i], rabbits_y[i]);
                Console.BackgroundColor = ConsoleColor.White;
                Console.Write(" ");
                if (rnd.Next(1, 9) == 1)
                {
                    int x = 0;
                    int y = 0;
                    bool e = false;
                    while (e != true)
                    {
                        x = rnd.Next(-1, 1);
                        y = rnd.Next(-1, 1);
                        if ( (rabbits_x[i]+x<=19 && rabbits_x[i]+x >= 0)  && (rabbits_y[i] + y <= 19 && rabbits_y[i]+y >= 0) )
                        {
                            rabbits_x[i] += x;
                            rabbits_y[i] += y;
                            e = true;
                        }
                        //

                    }
                }
            }
        }

    }
}
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
@fstleo
В Random.Next второй параметр не включается в диапозон возможных чисел, т.е. rnd.Next(-1, 1) выдает только числа -1 и 0
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы