App Inventor/От 1 до 31

Материал из Викиверситета

Данная глава посвящена основным этапам создания приложения «От 1 до 31». В начале предлагается некоторое описание и решение задачи, затем рассказывается о процессе создания приложения. Подробно раскрываются такие темы, как работа с экранами приложения и создание процедур.Также в тексте содержится некоторая информация о тестировании приложения.

Описание задачи[править]

Для начала предложим игроку загадать число от 1 до 31. Далее попросим загадавшего выполнить следующие действия:

  1. Посмотреть на предлагаемую таблицу
  2. Указать, есть ли на представленной таблице загаданное число
  3. Повторить первые два пункта на пяти разных таблицах
  4. Назвать загаданное число.

Таким образом, мы легко сможем определить какое число загадал игрок.

Алгоритм[править]

Данная идея построена на следующем предположении: Абсолютно любое число может быть представлено в виде суммы степеней числа 2. Соответственно, составив таблицы определенным образом, мы всегда сможем сказать, какое именно число загадал пользователь. Таким образом, с помощью n таблиц можно представить числа от 1 до .

Исходя из названия: сколько таблиц используется в приложении?

К сожалению, данный алгоритм не подразумевает "досрочного" ответа на поставленный вопрос, но при верно составленных таблицах вероятность верного ответа равняется 100%.

Исходя из идеи: каким образом также можно представить любое число?

Реализация приложения[править]

В данной программе загаданное число пользователя это то, что мы будем искать.

Создадим глобальную переменную result для хранения числа, загаданного игроком. Изначально присвоим переменной значение 0, а так как ноль не является допустимым загадываемым числом, переменная не будет хранить в себе число, которое мог бы загадать пользователь.

Создадим глобальную переменную flag для хранения информации о том, когда заканчиваются показываемые таблицы и выводится результат. Изначальное значение также 0.

Работа с экранами[править]

При проектировании приложения были учтены рекомендации из официальной документации App Inventor по ограничению количества экранов во избежание проблем с переполнением памяти.

Поэтому в игре используется два экрана (рекомендуемое количество < 10):

  1. Screen1 — главный экран приложения представляющий собой меню игры и указания, как играть.
  2. Screen2 — экран, содержащий весь контент приложения: таблицы, показываемые игроку, кнопки выбора, таблица результата.

Логика программы[править]

Пользователю показываются заранее подготовленные таблицы типа TableArrangment, имеющие внутри Label с заранее внесенными цифрами. В данном случае, для того чтобы закодировать числа от 1 до 31 достаточно пяти таблиц. Все таблицы кроме первой имеют атрибут Visible = False .

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


Тестирование[править]

Текущая версия игры ориентирована на Android версии 6.1

Примечания[править]

  • To31 // Первая версия программы. Автор: Захаров А.М.