Программирование мобильных устройств (часть 1) Задание 2
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Microsoft Excel
- Программа для просмотра текстовых файлов
Описание
Задание 2: Необходимо написать игру. Сюжет: множество насекомых ползают по экрану по сложной траектории. Задача игрока уничтожить за отведенное время как можно больше насекомых. За промахи игроку начисляется очки отнимаются. Игра должна сопровождаться звуковыми эффектами. Варианты:
В качестве насекомых (осы, и пауки)
В качестве насекомых (Божьи коровки, мухи)
В качестве насекомых (тараканы, и пчелы)
В качестве насекомых (осы, и мухи)
В качестве насекомых (майские жуки, и тарантулы)
В качестве насекомых (тараканы, и пауки)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Элементы кода
В качестве насекомых (осы, и пауки)
В качестве насекомых (Божьи коровки, мухи)
В качестве насекомых (тараканы, и пчелы)
В качестве насекомых (осы, и мухи)
В качестве насекомых (майские жуки, и тарантулы)
В качестве насекомых (тараканы, и пауки)
Описание выполнения:
Первым шагом необходимо определить архитектуру приложения. Пусть архитектура будет построена следующим образом.
Звуки и картинки насекомых следует брать в интернете. Следует дополнить этот набор картинок, добавив «красные пятна крови» (эти картинки будут появляться при «попадании» игроком).
Время раунда игры составляет 2 минуты.
При запуске приложения открывается меню, позволяющее вести имя игрока, просмотреть рекорд, задать количество жуков и приглашение к началу игры.
Основной класс приложения (main) будет заниматься прорисовкой всех жуков. Состояние всех жуков хранится в глобальном массиве структур(Mass) . Структура должна хранить координаты жука (x,y), направление движения (dx,dy),флаги(жив/мертв), и байт, соответствующей отображаемой картинке (т.к. жуки могут быть разными).
Работа класса происходит в бесконечном цикле, считывание информации из массива и корректное его отображение. Не рекомендуется заниматься прорисовкой из других потоков, т.к. это может привести к ошибкам.
В других потоках, соответствующих жукам, мы будем заниматься перерасчетом состояний отдельно каждого элемента глобального массива. При смерти жука, объект не уничтожается, а некоторое время просто не отображается на экране. В противном случае нам придется создавать каждый раз новых жуков, что потребует дополнительной памяти.
Отдельно в классе сервисе следует размещать мелодии в игре. Быстрые мелодии (хруст жука) менее 1-2 сек вполне можно размещать в классе main. Нужно не забыть отключать звуки при остановке приложений и восстанавливать при возобновлении работы приложения(используйте функции onPause и onResume).
Используйте класс Preferences для сохранения результатов игры.
Проверку попадания нажатия по жуку следует сделать так:
for (int i=0;i<N;i++){ //просматриваем весь массив структур
if (Mass[i].status==Alive){ // Если жук жив и ...
if ((Mass[i].x1<e;x)&&(x≤Mass[i].x2)&& (Mass[i].y1≤y)&&(y≤Mass[i].y2))
// координаты нажатия x,y по экрану лежат на картинке, где x1 x2 –границы
// картинки жука и x1≤x≤x2 и y1≤y≤y2
{
//Попали по жуку
}
}
}
Допускается использовать вместо класса Panel, класс SurfaceHolder.
Элементы кода
Дополнительная информация
зачет
Похожие материалы
Программирование мобильных устройств (часть 1-я).
Леший
: 9 июля 2021
Тест из 4 вопросов.
1 К особенностям java относится:
Возможность множественного наследования
Возможность полиморфизма
Является низкоуровневым языком
программирования
Является кроссплатформенным
2 Принцип инкапсуляции:
позволяет вводить ограничения доступа к полям
класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
Позволяет проводи
500 руб.
Программирование мобильных устройств (часть 2) Задание 1
svladislav987
: 23 августа 2023
Задание 1:
Создать базу данных студентов (Имя, вес, рост, возраст - сгенерировать случайно). Вывести из базы данных все записи, отсортированные по возрасту, в таблицу (TableLayout). Приложение должно иметь следующие кнопки. Очистка базы, заполнение, вывод содержимого.
SQL запросы к базе данных:
Создание базы из трех полей (id,name, email) create table mytable (id integer primary key autoincrement,name text,email text);"
Добавление в базу данных INSERT INTO mytable ( ‘id’,'name','email') VALUES (
150 руб.
Программирование мобильных устройств (часть 1) зачет
Владислав161
: 5 октября 2023
Вопросы по теме зачета ответить минимум на 3 вопроса
Оценка зачет
300 руб.
Программирование мобильных устройств (часть 1). Зачет.
sibguter
: 23 ноября 2018
1 К особенностям java относится
Возможность множественного наследования (да, если речь идет о множественном наследии интерфейсов)
Возможность полиморфизма
Является низкоуровневым языком программирования
Является кроссплатформенным
2 Принцип инкапсуляции
позволяет вводить ограничения доступа к полям класса
Позволяет использовать отладку программы
Позволяет создавать класс на основе уже реализованных классов
По
29 руб.
Программирование мобильных устройств (часть 2) Задание 2
svladislav987
: 23 августа 2023
Задание 2:
Создайте приложение из трех классов (Условно: A, B и С).
Из класса А запускаются классы В и С, по завершению своей работы классы В и С возвращают строку в класс А, которая выводится на экран.
Интерфейс класса А содержит:
Элемент RadioButton определяющий запускаемый класс (В или С).
Кнопку которая непосредственно запускает выбранный класс.
Тектовое поле результатов запука, которая содержит надпись о том какой класс был ранее вызван и какую строку он возвратил.
Из класса A по нажатию
150 руб.
Программирование мобильных устройств (часть 1) Задание 1
svladislav987
: 23 августа 2023
Задание 1:
Реализуйте приложение Калькулятор. Имеется набор кнопок, циферблат. Калькулятор позволяет вычислять (сумму, разность, произведение и частное). Предусмотреть обработку ситуации деления на ноль. Кроме этого, добавьте функции вычисления (вариант 1: вычисление синуса, вар. 2: возведение в степень, вар. 3 деление с остатком).
150 руб.
Программирование мобильных устройств (часть 1) 9 вариант
Владислав161
: 5 октября 2023
Отметьте желтым цветом правильные варианты ответов, отправьте данный файл на проверку
1. Какие свойства соответствуют Android
Кроссплатформенность
Высокая защищенность
Является бесплатной
Отсутствие вредоносных программ, выполняемых на базе данной операционной системы
Является потоковонебезопасной
2. Назначение класса Intent.
Обмен запросов с ОС
Инициализация
300 руб.
Программирование мобильных устройств (часть 1) Задание 3
svladislav987
: 23 августа 2023
Задание 3:
Реализуйте прыгающий <объект>. Начальная позиция появления объекта определяется нажатием пальца по экрану. Объект падает с ускорением вниз, отражаясь от нижней границы экрана, и с незначительным смешением вправо. С каждым разом высота отскока объекта уменьшается, и когда объект практически остановится, он пропадает с экрана. Объектов может быть несколько, поэтому каждый должен обрабатываться в отдельном потоке приложения. (<объект> - Буква Вашей фамилии, после каждого нажития буква ме
150 руб.
Другие работы
Тест с ответами. Исследование систем управления
pfqrfzzzzz
: 23 апреля 2012
Тест МЭСИ с ответами в алфавитном порядке. 100%
Абстрагирование – это:
В сетевом планировании критический путь представляет собой:
Для открытых систем цели формируются:
Исследуемый объект можно рассматривать как систему, если он…
Конечной целью системного анализа является…
Можно ли одну и ту же систему отобразить в разных классификациях:
Одна и та же система может быть представлена:
Описание системы с использованием гипотез - это уровень абстрагирования…
Проблема называется узловой, если:
Свойст
250 руб.
Выбор системы и схемы внутреннего холодного водопровода
evelin
: 1 декабря 2012
Содержание:
Введение
Выбор системы и схемы внутреннего холодного водопровода
Проектирование поливочного водопровода
Подбор водомера
Гидравлический расчёт внутреннего холодного водопровода
Определение требуемого напора в водопроводной сети
Выбор системы и схемы горячего водоснабжения
Гидравлический расчёт системы горячего водоснабжения
Определение требуемого напора в водопроводной сети
Подбор местного водонагревателя
Проектирование и расчет систем внутренней канализации
Расчет дворовой канализаци
65 руб.
Алгебра и геометрия. Экзамен. Вариант №6
step72
: 18 мая 2013
БИЛЕТ № 6
1. Произведение матриц, его свойства.
2. Взаимное положение двух прямых на плоскости.
3. Найти длину высоты, опущенной из вершины О в тетраэдре ОАВС, если
О (-5;-4;8), А (2;3;1), В (4;1;-2), С (6;3;7).
4. Найти , где А(2;-1;2), В(1;2;-1) и С(3;2;1).
5. Привести к каноническому виду и построить кривую .
40 руб.
Разгрузка шламового контейнера схема принципиальная-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
leha.nakonechnyy.2016@mail.ru
: 20 февраля 2018
Разгрузка шламового контейнера схема принципиальная-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
385 руб.