Игра 2048 (5/18)

  • 3
  • Недоступна
Согласно правилам, при запуске игры значения двух случайных клеток должны быть 2 либо 4 с вероятностью 90% и 10% соответственно. Для выполнения этого условия, создай метод createNewNumber() и вызови его в методе createGame() 2 раза. Метод createNewNumber(): 1) случайным образом выбирает ячейку мат
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (12)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений
Уровень 16, Екатеринбург
15 марта, 08:52
А зачем два раза вызывать метод createNewNumber() в createGame()? Почему одного раза не достаточно?
Михаил Клименко
Уровень 25, Краснодар, Россия
Expert
7 июня 2020, 14:18
В этой задаче я первый раз осознанно воспользовался рекурсией после пинка от валидатора :)
Якунин Евгений
Уровень 18, Россия
7 сентября 2020, 11:52
Непонятно только почему она должна здесь быть? Вполне нормально в цикле присвоить координатам значения и проверить их, если в этой ячейке уже лежит число снова присвоить. Чем рекурсия лучше в этой ситуации?
Михаил Клименко
Уровень 25, Краснодар, Россия
Expert
7 сентября 2020, 17:00
Как я понимаю, код оптимизирует (сокращает). Рефакторинг
Дворник
Уровень 41, Санкт-Петербург, Россия
20 апреля 2020, 20:38
Проверь, что метод createNewNumber() вызывает getRandomNumber() ровно три раза. Да. Проверь, что метод createNewNumber() присваивает новое значение 2 или 4 (с вероятностью 90% и 10% соответственно). да
Дворник
Уровень 41, Санкт-Петербург, Россия
20 апреля 2020, 20:42
всё прошло, когда Закомментировал //setCellColor(x, y, Color.RED); 🤦‍♂️
canny
Уровень 27, Россия
28 сентября 2020, 16:17
Да б$#дь... вот спасибо, тоже было "setCellNumber(x,y, gameField[x][y]);" валидатор - зло)
Vladimir
Уровень 23, Новосибирск
2 января, 15:43
Да, та же история...
Alexander Taluevsky
Уровень 18, Минск, Беларусь
18 октября 2019, 08:52
решил с третей попытки из-за грёбаного удобного функционала идеи и своей невнимательности) когда добавлял рекурсию табом вписался метод не createNewNumber(), a createGame(). И никак не мог понять что там не так=)
Александр Дорофеев
Уровень 41, Россия
Expert
7 декабря 2018, 08:47
Валидатор пропускает решение, где на 2 или 4 может замениться уже существующее число. Или, может, там дальше в задаче это условие как то проверяется?
Алексей Горяйнов
Уровень 22, Москва, Россия
12 января 2019, 15:56
у меня не принял такое решение, пока не сделал проверку. интересно, а какое у тебя решение было принято?
Александр Дорофеев
Уровень 41, Россия
Expert
13 января 2019, 18:46
Я уже не вспомню, ибо было давно и код уже переделан для решения других задач. В тот момент, когда сдавал, такой вариант принимался. Еще в принятом варианте был баг, что если новое число попадало на существующее, то могло ничего не ставиться, и нормально валидатор принял.