Написал ещё одну маленькую игрушку, позволяющую развивать память и внимание. Цель игры: найти все пары одинаковых картинок. Далее в заметке, я объясню, как и что работает, какие баги нашёл и т.д. Игра работает под Android и Windows.
Написано на Delphi XE6 и проверено на Android 4.1.2.
Upd (3.10.14). Проверено на Delphi XE7 и Android 4.4.2
Upd (18.04.15) Проверено в Delphi XE8 и Android 4.4.2
Upd (3.10.14). Проверено на Delphi XE7 и Android 4.4.2
Upd (18.04.15) Проверено в Delphi XE8 и Android 4.4.2
Что есть в приложении:
- Меню
- Игровое поле
- Фрейм «Настройки»
- Фрейм «Уровень пройден»
Все, кроме Меню, создаётся динамически.
Меню состоит из 2 кнопок «Играть» и «Настройки».
Нажимаем кнопку «Играть». Игровое поле заполняется динамически. Сначала создаётся необходимое количество «TRectangle», далее к каждому «TRectangle» создаём анимацию «TBitmapAnimation», которую наполняем картинками. Всё создаётся в соответствии с настройками.
Если игрок нашёл все одинаковые картинки, то динамически создаём фрейм «Уровень пройден», который уничтожается, если начать новую игру или выйти в меню.
Нажимаем кнопку «Настройки». Создаётся фрейм «Настройки», в котором мы можем изменять Сложность игры, тип картинок, количество ячеек, цвет игрового поля и т.д. Всё хранится в ini – файле. При выходе в меню, фрейм уничтожается.
Плюсы приложения:
- Картинки хранятся в отдельном файле ресурсов.
- Есть возможность настройки игрового процесса.
- Приложение умеет автоматически подстраивать игровое поле под любой размер дисплея.(учитывается размер картинок, минимум 70, макс. 128)
- Работает под Android и Windows.
- Развивает внимание и память игрока.
Минусы приложения:
- Потребляет много памяти (чем больше элементов на игровом поле, тем больше памяти)
- Не тестировал на планшетах, но всё должно работать
- Использует опцию LargeHeap
Код приложения: Его получилось много (1000 строк), поэтому я решил не выкладывать его в виде текста, а оформить ссылкой. Исходный код: Скачать с Google Drive
Скриншоты приложения:
Видео:
Исходный код: Скачать с Google Drive
APK-файл, для запуска на устройстве: Скачать с Google Drive
Exe-файл, для запуска на Windows: Скачать с Google Drive
TNumberBox, TSpinBox:
Найденные баги.
Фреймы(TFrame):
Windows 7:
- (Сообщил Ярославу) после уничтожения фрейма, невозможно закрыть форму.
TNumberBox, TSpinBox:
Windows 7:
Если выставить минимальное значение "0" (любое значение от 0..9) и максимальное "9"(любое значение от 0..9), то
- (Сообщил Ярославу) Цифра из поля не удаляется и не обнуляется
- (Сообщил Ярославу) При попытке ввести с клавиатуры другую цифру (0..9), значение в поле автоматически меняется на максимально допустимое, т.е. "9"
- TSpinBox убивает приложение QC 127099
- Уничтожение компонента, оставляя при этом открытой клавиатуру приводит к AV или краху приложения QC 127108
TLang:
TNumberBox и TSpinBox, из-за багов, заменил на TEdit.