-Холмс, как вы узнали, что я пхп-специалист?
-Элементарно, Ватсон, у вас слон на свитере.
Игра пятая — Пляшущие человечки. Создана по мотивам рассказа Конан-Дойля The adventure of dancing men.
Игра (на момент публикации статьи) не прошла модерацию в магазине. Я объясню почему. Сюжет игры классический — берется 10 строк текста из бессмертного романа А.С. и одинаковые буквы меняются на одинаковые символы. Лингвисты мгновенно расшифровывают. Порог вхождения — высокий. В результате месяца игры я наизусть выучил Евгения Онегина.
Впрочем, картинку типа этой — расшифруют все, кто говорит по-русски.
Рисунок 1. Слово из трех букв
Это слово — либо КАК, либо ИЛИ, либо ОНО, либо ТОТ. Конечно, любители немецкого скажут, что это второе слово из фразы ХЕНДЕ ХОХ. Но нет, Пушкин не знал немецкого.
Вернусь к вопросу о непрошедшей проверке.
На экране с очередной загадкой всегда горит строка подсказки — в ней все символы выстроены в порядке убывания их наличия в тексте. Самые распространенные буквы обычно Е Н или О.
Рисунок 2. Строка подсказки
Так вот, в этой строке подсказки затаилась крамола. Одна из картинок не прошла модерацию.
Угадайте какая?
В комментариях я отвечу на этот вопрос, первому угадавшему — приз, наушники от iPhone 6 Plus.
Несколько замечаний по разработке
Игра рассчитана исключительно на iPad, поскольку на маленьком экране крайне неудобно выбирать и таскать буквы — символы.
Игра не рассчитана на английского обывателя. Я пытался впихнуть в нее Шекспира, но большее количество связки TH резко упрощает процесс расшифровки.
Начинающим разработчикам хочу дать один совет, который выстрадал за три года разработки — никогда не рисуйте буквы и цифры битмапами.
Только текст с шрифтом на стороне телефона.
И, наконец, для рисования использовались исключительно родные controls от iOS SDK.
// символ
signView = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"symbol_01.png"] ];
signView.frame = CGRectMake(0,0,dx,dy);
// буква
lettView = [[UILabel alloc] initWithFrame:CGRectMake(0,0, dx, dy)];
lettView.font = [UIFont fontWithName:@"HelveticaNeue" size: dx];
lettView.textColor = [UIColor blackColor];
lettView.backgroundColor = [UIColor clearColor];
lettView.textAlignment = NSTextAlignmentCenter;
Дизайн приложения
Языковые игрушки должны быть максимально приближены к дизайну классической книги. Аляповатые цвета, нечеткие картинки сильно портят процесс разгадки.
Рисунок 3. Этот текст расшифровывается легко.
Игры, рассчитанные на русскую аудиторию, проходят модерацию в магазине о-о-очень медленно. Три недели. Да, три недели длится каждый цикл итерации. Это значит, приложение одобрят не ранее Нового Года.
С чем Вас и поздравляю.
Автор: PapaBubaDiop