Задача Расставить Фишки В Игре «Тетрис».

Я решил дать сообществу Хабра небольшую задачу найти и реализовать лучший алгоритм.

Всем известна игра Тетрис.

Представьте, что вместо вас в эту игру играет компьютер.

Итак, задачей будет описать алгоритм, который будет правильно расставлять фигуры, чтобы не было пустых мест. я сделал на JSFiddle простой пользовательский интерфейс протестировать алгоритм.

Все, что вам нужно, это реализовать одну функцию.

Но подождите, сначала я объясню правила.

Я решил пока не делать полный аналог тетриса, так как начинать нужно с малого, тогда возможно больше людей смогут себя проверить.

Итак, упрощения нашего Тетриса:

  • Всего 2 фигурки: 1х4 и 2х2.
  • Размер поля: 10x20
  • 2 положения - вертикальное и горизонтальное.

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

    Вам нужно найти для него оптимальное место.

В коде есть одна пустая функция (точнее, теперь она возвращает какое-то случайное число) — getColumnNumberForLeftFigureSquare(w, h).

Вам нужно будет реализовать это.

w — ширина новой фигуры, h — высота.

Всего вы можете использовать 3 переменные: w, h и cols. cols — это массив из 10 элементов.

Каждый элемент представляет собой столбец, значение — занимаемая высота столбца.

Функция должна возвращать целое число от 1 до 10 включительно.

Это будет номер столбца, в который попадет самая левая ячейка рисунка.

Всего в этом тетрисе 200 ячеек, то есть вы сможете протестировать свой алгоритм по числу, которое осталось заполнить (отображается в пользовательском интерфейсе).

Распакуйте скрипку и опубликуйте ее в комментариях.

Любая попытка будет оценена по достоинству.

В идеале решение должно быть максимально эффективным и продуктивным.

Тогда мы сможем улучшить тетрис до исходного.

Еще раз ссылка на JSFiddle P.S. Если вы видите ошибки в самом пользовательском интерфейсе, сообщите мне об этом.

Теги: #Тетрис #JavaScript #Алгоритмы #JavaScript

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.