Код выполняется неверно - C#

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

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

Есть класс танк который передает случайное действие. Эти действия записываются в словарь. При отладки с точкой останова код работает правильно и действию записываются. Но когда запускаю без остановки в словарь записываются всегда одинаковые действия.В чем может быть причина?
Листинг программы
  1. private List<ITank> tanks = new List<ITank>();
  2. var tankActionByTanks = tanks.Select(t => new KeyValuePair<ITank, Action>(t, t.GetAction(field))).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
Листинг программы
  1. class Tank : ITank
  2. {
  3. public Action GetAction(Field field)
  4. {
  5. Random random = new Random();
  6. int value = random.Next(5);
  7. if (value == 1)
  8. return Action.Back;
  9. else
  10. if (value == 2)
  11. return Action.TurnLeft;
  12. else
  13. if (value == 3)
  14. return Action.TurnRight;
  15. else
  16. if (value == 4)
  17. return Action.Forward;
  18. else
  19. return Action.Fire;
  20. }
  21. }

Решение задачи: «Код выполняется неверно»

textual
Листинг программы
  1. Random random = new Random();

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


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

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

6   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы