Яндекс.Метрика

    Реклама

    Ай, Божья Коровка, улети на небо

    iPhone — умклайдет наших дней. Сжигает все свободное время на исполнение программистких желаний.
    Вчера много было желаний, а сегодня стало на одно меньше. Почему. Потому что я сделал игрушку, основанную на диаграмме Вороного.

    ladybirds

    Стал ли от этого мир лучше, а люди — добрее?

    Под habracut 3 легких картинки, 2 анекдота и 1 фрагмент кода.

    Постановка задачи


    На iПоле 320х460 раскиданы почти случайно точки. Точек 35.
    Математики утверждают, что на эти точки можно набросить сетку. Так, что в каждой ячейке сетки будет только 1 точка.

    ladybirds

    Конечно, 35 ячеек сетки немедленно раскрасим в 6 разных цветов радуги (кроме красного, ясно почему).
    Скажете ячеек на картинке не 35? Это потери jpeg.

    Получим красивую картину в стиле 60-ых годов Пабло Пикассо. Полюбуемся.

    Кое-что заметим. Ячейки-альтруисты сплетаются в причудливые цветные цепочки. Ячейки-мизантропы стоят особняком.

    Цель игры


    Твоя задача, читатель, проста. Прожить жизнь так, чтобы не было мучительно больно Прикоснуться пальцем к ячейке сетки — от твоего касания она задрожит и растает. И вместе с ней исчезнут все соседние ячейки такого же цвета.

    На оставшиеся точки снова набрасывается сетка. По старому Правилу. Кстати, если что, по-научному это Правило называется диаграмма Вороного.

    Ваша задача очистить поле от точек за минимальное число касаний.

    Все.

    Божьи Коровки


    Поиграл в эту головоломку с месяц на 1000 наперед заданных раскладах. Понял, что игра слишком сложная для блондинок и чиновников. И слишком простая для айТишников — нет анимации, пива, девочек.

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

    Бегающие точки изобразил красивыми Божьими Коровками, которых онглечане кличут ladybugs || ladybirds.

    Девочка-дракон, значит по нашему, по-мордовски (с) Шрек.

    ladybirds

    С девочками Игра стала динамичнее и прикольнее.

    Добавил фоновую музыку. Выбрал, конечно, Чижа.
    Я его диск как-то раз полгода слушал в машине и не надоело.
    На iPhone Чиж надоел за неделю.
    Заменил Чижа на Баха, хорошо темперированного. Надеюсь, Чиж не обидется.
    Тем более, что Бах надоел быстрее. Сделал его тише на 75%. Стало спокойно.
    Чуть-чуть кода, так как для проигрыша фоновой музыки используем только avfoundation framework.

    #import <AVFoundation/AVAudioPlayer.h>
    #import <AVFoundation/AVFoundation.h>

    NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"chiz" ofType:@"mp3"];
    self.player =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundPath] error:NULL];
    player.delegate = self;
    [player play];



    Закругляюсь

    Специально для комментариев, Читатель, я сделал игру бесплатной на два дня.

    ladybirds

    Надеюсь, этот пост уместно опубликовать в топике Разработка под iOS?

    Обещанный анекдот

    На прощание, как обычно, бородатый анекдот, но в тему.

    Сидит на Хабре Божья Коровка, измученная вусмерть, просто никакая.
    -Что случилось?
    -Гребанный хабраэффект — Божья коровка, полети на небо, принеси нам хлеба, достали просто…

    Не переключайтесь

    Через месяц напишу про продолжение этой игры, в которой использовал механизм purchasing in app.