kvisaz (kvisaz) wrote,
kvisaz
kvisaz

Categories:

Шарики-стрелялки

Проблема многих программистов - тяга к сложным вещам. Они соблазняют нас, при этом чаще всего разница для пользователей мало заметна.

Это я к тому, что есть много идей для простых мини-игр с механикой match2 (найди пару), которые можно садиться и штамповать, как булочки и пирожки с разной начинкой. Но я увлекся созданием странного гибрида с усложненной механикой. Надеюсь его по-быстрому закончить и радостно вернуться к более простым рецептам.



Шарики-стрелялки (Puzzle Bobble и иже с ними) выглядят простыми, но алгоритмически они куда более сложны, чем простой матч2 для произвольных фишек. В шариках-стрелялках надо
- рассчитывать тригонометрию *
- находить столкновения летящего и неподвижных шариков **
- выполнять "прилипание" свободного летящего к сетке *
- находить скопления шариков того же цвета ***
- выполнять проверку на скопления шариков, которые повисли в воздухе ***

Звездочками указано возрастание сложности. Это не On, хотя вопрос On здесь тоже надо решать везде, где число звездочек больше двух.

PS: On - показатель, насколько сильно время выполнения алгоритма зависит от n (числа участвующих элементов). Самый хороший случай обозначается O(1) - не зависит от числа элементов вообще. Похуже - O(n), O(n в степени 2) и тд.

Использование O (n в степени 2) приводит к тому, что шарики-стрелялки даже в примере на скриншоте могут заметно пролагивать на современных ноутбуках (особенно в случае поиска скоплений)
Tags: Игры, программирование
Subscribe

  • Мини-зарисовка - N get

    Написал N рассказов на мини-зарисовку. Попробовал сконструировать прием-тренировку по заветам из книжки этой В принципе такие мини-зарисовки,…

  • Конец ЗомбиЧелленджу

    Решено, ЗомбиЧелленджу конец. Спасибо всем, кто читал и оставлял замечания. Теперь мне будет о чём подумать. Жалко, конечно, что не дошёл до 30…

  • на грани срыва

    Ляха-муха, челлендж на грани срыва. Хочется лечь и умереть. Но осталось всего три, всего три дня. Обидно-то на 27 сорваться.

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments