Нужно закодить интересную задачку

BAISOK60

Есть одна прикольная игрушка, к которой нужно написать генератор уровней. У меня, к сожалению, не хватает времени, чтобы реализовать генератор, поэтому прошу у кого-нибудь помощи в решении этой полуолимпиадной задачи. Отблагодарю 5-ю т.р.
Реализацию подобной игры можно увидеть тут для android, тут для iphone, тут просто видео.
Описание игры: в клетках поля 5х6 могут располагаться шарики с жизнями 1-4 (назевом их k-шариками, где k=1-4 жизни шарика). Если кликнуть по любому шарику, кол-во его жизней уменьшится на 1. Если в какой-либо момент у какого-нибудь шарика становится 0 жизней - он лопается, а во все 4 направления от него с равной скоростью разлетаются осколки. Если 1 осколок достигает какого-либо шарика, то кол-во жизней у шарика уменьшается на 1, осколок исчезает (если в 2-шарик прилетело одновременно 3 осколка с разных сторон - то все осколки исчезают (а не только 2) и шарик лопается как обычно).
Цель игры: за данное количество кликов очистить поле от шариков (кол-во кликов минимально возможное для уровня).
Задача
Нужно написать генератор уровней, который бы мог генерить заданное кол-во уровней, отсортированных по сложности , с указанием минимального кол-ва кликов для решения (не больше 8-9) и ключа к решению. Сложность уровня определяется примерно как отношение кол-ва выигрышных кликов ко всем возможным (дам рекуррентную формулу)
Нужно, чтобы уровни были примерно равномерно распределены по сложности и по количеству шариков на карте. Также необходимо так генерить уровни, чтобы не появлялись карты, распадающиеся на непересекающиеся независимые сегменты (где клики внутри одного сегмента не влияют на второй сегмент). Такие уровни считаем неинтересными.
У меня сложился некоторый алгоритм генерации уровней, которым я поделюсь. Если его использовать, можно ничего не придумывать и только закодить его.
За более подробной инфой пишите в приват, кому интересно.

elenangel

а есть Web-версия или Linux/Windows?

BAISOK60

Мм...не встречал, разве что через эмулятор

kill-still

что мешает декомпильнуть прогу для ведроида?

Serab

ничего, наверное. Чувак же просит написать, а как это конкретно сделать другой вопрос.

BAISOK60

Один взялся, пока отбой

kill-still

Сложность уровня определяется примерно как отношение кол-ва выигрышных кликов ко всем возможным
А не великовато ли число 30^8 для того, чтобы все возможные последовательности кликов обсчитывать? Сдается мне, придется воспользоваться более поверхностной оценкой сложности.

Vasyl

Скинь линк на похожие игры для андроида или айфона.
Оставить комментарий
Имя или ник:
Комментарий: