Тема: Алгоритм
Показать сообщение отдельно
  #13  
Старый 20.03.2015, 16:15
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от phomm
2. берём цикл с рандомом и начинаем сращивать разные фигуры (желательно начиная с пента а вероятность более мелких меньше) в монолитную структуру, с учётом только обязательных дырок. если образуются нежелательные дырки - перебрасываем фигуру.
На самом деле всё еще проще, ибо генерация делается не для решения задачи компьютером, а для самого гибкого компонента системы -- человека. Об этом нужно помнить каждому разработчику тетриса.

Фигуры пентамино ведь покрывают определенные квадраты, если их объединить. Вот и нужно посчитать площадь в покрываемых квадратах, а затем нагенерить случайных комбинаций комплементарных фигур, плюс уголки на обрезки, как сейчас. И всё. Даже мелкие фигуры "Дос Навигатора" не понадобятся, достаточно будет сегодняшних уголков.

Если комплементарные комбинации заранее известны и прописаны в программе, карту можно генерить сразу в единицах покрываемых квадратов, добавляя или вырезая уголки для красоты и/или сложности.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием