ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 150
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
«Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева»
«Разработка мобильной игры-викторины в среде Android Studio»
Обзор средств разработки приложений
Обзор существующих игр-аналогов
Разработка руководства программиста
создано множество инструментов для разработчиков, таких как средства удаленного дебага, аналитики производительности и так далее.
Код на Javaможно запускать на любых устройствах, для которых реализована виртуальная машина. Это позволяет исполнять код на множестве устройств, количество которых на данный момент уже превысило отметку в 3 миллиарда. Поэтому на Javaможно писать, как узкоспециализированное программное обеспечение (для «умного дома», автомобилей и так далее), так и программное обеспечение для банков.
Kotlin– это мультипарадигмальный язык со статической типизацией, разработанный как альтернатива Java. Как и Java, он компилируется в байт-код, который запускается на JavaVirtualMachine(JVM), но Kotlinпредставляет более кратный синтаксис и языковые функции, такие как функциональные шаблоны вывода типов.
Ниже представлены некоторые особенности данного языка:
Flutter– это достаточно молодой SDKот Google, то есть набор средств для разработки, который предназначен для создания кроссплатформенных приложений под Androidи iOS, а также webи desktopприложений. Используется язык программирования Dart, который компилируется в бинарный код, что
повышает производительность приложений. Сам Flutter написан на языках C, C++ и Dart.
Flutter состоит из двух вещей: SDK (набор инструментов для разработки, дебага, профилирования и так далее) и самого фреймворка (библиотеки пользовательского интерфейса). Приложения, созданные с помощью Flutter:
Некоторые особенности Flutter:
Для формирования требований к разрабатываемой игре необходимо провести обзор игр-аналогов. Для данного обзора было выбраны следующие игры:
Суть игры: есть 2 категории и множество иконок, которые появляются по очереди, их нужно соотнести по нужным категориям. Игра требует быстрого ответа от игрока, не давая времени подумать над ответом.
Игра действительно тренирует концентрацию и внимательность. Имеет приятный интерфейс, хорошее музыкальное сопровождение. Присутствует мультиплеер.
Из минусов: очень много различных дополнений вроде бонусов, монет, уровней, опыта и другого, очень запутанно. Игра не очень затягивает. Мультиплеер добавляет дух соперничества, однако это не сильно помогает.
Рисунок 3 – Интерфейс игры «Метод Гоши»
Рисунок 4 – Процесс игры «Метод Гоши»
Суть игры: угадать какой из запросов Googleболее популярный. Например, «Интересные книги» или «Комедии». После чего игроку показывают количество запросов в месяц, и правильность его ответа.
Очень современная и интересная идея. Выглядит приложение красиво, вопросов по оформлению нет, но с интерфейсом есть проблемы. Не хватает меню, настроек, правил. Также в
начале непонятно как выбрать правильный ответ.
а) б)
Рисунок 5 – Интерфейс игры «Что гуглят больше?»: а) главное меню; б) процесс игры
Суть игры: угадывать предметы, фильмы, мультики из 90-ых годов. Игроку дается изображение, он должен из букв составить слово. Например, «Тетрис»,
«Sega» и так далее.
Реализация отличная, много вопросов, оформление на высоте, однако есть один, но очень важный минус – однообразие. Поначалу игра очень затягивает, возвращаешься в прошлое, вспоминаешь, угадываешь, потом становиться менее интересно, и уже через 15-20 минут игры хочется поиграть во что-нибудь другое.
а) б)
Рисунок 6 – Интерфейс игры «Вспомни 90-е» а) главное меню; б) процесс игры
Суть игры: игроку дается множество вопросов на тему денег, разбитые на категории: «Зарплаты», «Цены», «Штрафы», «Самое дорогое» и другие. Игрок отвечает на них, после чего ему показывают короткий факт на эту тему.
Есть много стоящих фактов, сам процесс сделан интересно, красиво, не надоедает. Интерфейс удобный, вопросов много, нет регистрации и навязчивой рекламы. Есть недоработки, например, опечатки в вопросах.
а) б)
Рисунок 7 – Интерфейс игры «Nick It. Cost» а) главное меню; б) процесс игры
Суть игры: игроку дается множество хитрых головоломок и абсурдных решений. Цель этой игры – не быть обманутым.
Игра сделана профессионалами. Графика лучшая, среди подобных тематик. Удобная, с красивой анимацией. Захватывает с первых минут. К сожалению, данная игра не поддерживает русский язык.
а) б)
Рисунок 8 – Интерфейс игры «Tricky Test 2: Genius Brain?» а) главное меню; б) процесс игры
В таблице 1 представлено сравнение функциональных возможностей данных игр.
Таблица 1 – Сравнение функциональных возможностей данных игр-аналогов
Код на Javaможно запускать на любых устройствах, для которых реализована виртуальная машина. Это позволяет исполнять код на множестве устройств, количество которых на данный момент уже превысило отметку в 3 миллиарда. Поэтому на Javaможно писать, как узкоспециализированное программное обеспечение (для «умного дома», автомобилей и так далее), так и программное обеспечение для банков.
-
Kotlin
Kotlin– это мультипарадигмальный язык со статической типизацией, разработанный как альтернатива Java. Как и Java, он компилируется в байт-код, который запускается на JavaVirtualMachine(JVM), но Kotlinпредставляет более кратный синтаксис и языковые функции, такие как функциональные шаблоны вывода типов.
Ниже представлены некоторые особенности данного языка:
-
в Kotlinнет необходимости указывать тип явно, он может быть выведен компилятором автоматически, а использование JVM обеспечивает безопасную работу с памятью, предотвращает переполнение буфера, например, связанное с некорректным использованием динамически выделяемой памяти; -
одной из самых частых ошибок есть null pointer exception, в Kotlin для предотвращения ее возникновения все типы not null (ссылки не могут хранить null), также свойства должны быть проинициализированы, обнуляемые типы нельзя использовать явно, нужно использовать безопасный вызов функции; -
в Kotlinобъединена проверка на возможность приведения и само приведение в один оператор is, это касается не только безопасности, но и лаконичности этого языка программирования; -
расширить функционал класса можно не наследуясь от них, это особенно полезно при длительной разработке и поддержке продукта разными командами разработчиков; -
в Kotlinимеются также классы для сохранения данных, которые созданы для уменьшения количества кода; -
также Kotlinподдерживает функционально-ориентированное программирование, когда вместо объектов, где состояние и поведение объединены, все разделено на сами данные и на функции обработчики этих данных, которые принимают их и отдают результат (ламбда-выражения, функции высшего порядка и так далее).
-
Dart(Flutter)
Flutter– это достаточно молодой SDKот Google, то есть набор средств для разработки, который предназначен для создания кроссплатформенных приложений под Androidи iOS, а также webи desktopприложений. Используется язык программирования Dart, который компилируется в бинарный код, что
повышает производительность приложений. Сам Flutter написан на языках C, C++ и Dart.
Flutter состоит из двух вещей: SDK (набор инструментов для разработки, дебага, профилирования и так далее) и самого фреймворка (библиотеки пользовательского интерфейса). Приложения, созданные с помощью Flutter:
-
построены из одной кодовой базы, скомпилированные непосредственно в нативный код, что увеличивает производительность этих приложений; -
используют графический процессор GPUдля рендеринга и могут получать доступ APIи службам платформы (камера, локальное хранилище и так далее).
Некоторые особенности Flutter:
-
возможность очень быстро разработать прототип или даже готовое приложение, наличие такой особенности как hot reload (изменяя какой-либо элемент в проекте, и он моментально изменяется в приложении, при этом не меняя состояние этого приложения); -
Flutterпоставляется с богатым набором настраиваемых виджетов, основанных на фреймворке Materialили Cupertino; -
Flutterинтегрируется с популярными инструментами разработки, такими как Visual Studio Code, Android Studio и XCode.
- 1 2 3 4 5 6 7 8 9 10 ... 14
Обзор существующих игр-аналогов
Для формирования требований к разрабатываемой игре необходимо провести обзор игр-аналогов. Для данного обзора было выбраны следующие игры:
-
«Метод Гоши» (Рисунок 3, 4).
Суть игры: есть 2 категории и множество иконок, которые появляются по очереди, их нужно соотнести по нужным категориям. Игра требует быстрого ответа от игрока, не давая времени подумать над ответом.
Игра действительно тренирует концентрацию и внимательность. Имеет приятный интерфейс, хорошее музыкальное сопровождение. Присутствует мультиплеер.
Из минусов: очень много различных дополнений вроде бонусов, монет, уровней, опыта и другого, очень запутанно. Игра не очень затягивает. Мультиплеер добавляет дух соперничества, однако это не сильно помогает.
Рисунок 3 – Интерфейс игры «Метод Гоши»
Рисунок 4 – Процесс игры «Метод Гоши»
-
«Что гуглят больше?» (Рисунок 5).
Суть игры: угадать какой из запросов Googleболее популярный. Например, «Интересные книги» или «Комедии». После чего игроку показывают количество запросов в месяц, и правильность его ответа.
Очень современная и интересная идея. Выглядит приложение красиво, вопросов по оформлению нет, но с интерфейсом есть проблемы. Не хватает меню, настроек, правил. Также в
начале непонятно как выбрать правильный ответ.
а) б)
Рисунок 5 – Интерфейс игры «Что гуглят больше?»: а) главное меню; б) процесс игры
-
«Вспомни 90-е» (Рисунок 6).
Суть игры: угадывать предметы, фильмы, мультики из 90-ых годов. Игроку дается изображение, он должен из букв составить слово. Например, «Тетрис»,
«Sega» и так далее.
Реализация отличная, много вопросов, оформление на высоте, однако есть один, но очень важный минус – однообразие. Поначалу игра очень затягивает, возвращаешься в прошлое, вспоминаешь, угадываешь, потом становиться менее интересно, и уже через 15-20 минут игры хочется поиграть во что-нибудь другое.
а) б)
Рисунок 6 – Интерфейс игры «Вспомни 90-е» а) главное меню; б) процесс игры
-
«NickIt.Cost» (Рисунок 7).
Суть игры: игроку дается множество вопросов на тему денег, разбитые на категории: «Зарплаты», «Цены», «Штрафы», «Самое дорогое» и другие. Игрок отвечает на них, после чего ему показывают короткий факт на эту тему.
Есть много стоящих фактов, сам процесс сделан интересно, красиво, не надоедает. Интерфейс удобный, вопросов много, нет регистрации и навязчивой рекламы. Есть недоработки, например, опечатки в вопросах.
а) б)
Рисунок 7 – Интерфейс игры «Nick It. Cost» а) главное меню; б) процесс игры
-
«TrickyTest2:GeniusBrain?» (Рисунок 8).
Суть игры: игроку дается множество хитрых головоломок и абсурдных решений. Цель этой игры – не быть обманутым.
Игра сделана профессионалами. Графика лучшая, среди подобных тематик. Удобная, с красивой анимацией. Захватывает с первых минут. К сожалению, данная игра не поддерживает русский язык.
а) б)
Рисунок 8 – Интерфейс игры «Tricky Test 2: Genius Brain?» а) главное меню; б) процесс игры
В таблице 1 представлено сравнение функциональных возможностей данных игр.
Таблица 1 – Сравнение функциональных возможностей данных игр-аналогов
Функциональные возможности | TrickyTest2:Genius Brain? | NickIt. Cost | Вспомни 90-е | Что гуглят больше? | Метод Гоши |
Возможность использования приложения без подключения к сети Интернет | + | - | + | + | + |
Поддерживаемый язык | Английский | Русский | Русский | Русский | Русский, английский |
Требуемая версия Android | 4.1 и выше | 4.4 и выше | 4.0 и выше | 4.1 и выше | 4.0 и выше |
Реклама в приложении | + | + | + | + | + |
Выбор уровня сложности | - | + | + | - | - |
Платный контент | + | + | - | - | + |
Просмотр достижений | - | + | + | - | + |
Правила игры | + | + | - | - | + |