Главная страница
Навигация по странице:

  • ОПИСАНИЕ ИНТЕРФЕЙСА Пункты меню

  • МАКЕТЫ: Главное меню

  • Игровой объект, базовый класс

  • Шип, наследник игрового объекта Поля:  Наследует поля игрового объектаМетоды: Наследует методы игрового объектаКочка, наследник игрового объекта

  • Столкновение окружность — окружность

  • Столкновение окружность — прямоугольник

  • ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ИНТЕРФЕЙСА

  • ТРЕБОВАНИЯ К ПРОЕКТУ: Участник вправе выбрать язык программирования и среду разработки из предлагаемого списка:Языки программирования

  • Дипломная работа автоматизация работы столовой. _Программирование_ДЭ-2020_очн. Экзаменационное задание по направлению п рограммирование


    Скачать 0.87 Mb.
    НазваниеЭкзаменационное задание по направлению п рограммирование
    АнкорДипломная работа автоматизация работы столовой
    Дата01.12.2021
    Размер0.87 Mb.
    Формат файлаpdf
    Имя файла_Программирование_ДЭ-2020_очн.pdf
    ТипПрограмма
    #287580

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    1
    О
    ЧНЫЙ ЭТАП
    ЭКЗАМЕНАЦИОННОЕ ЗАДАНИЕ
    ПО НАПРАВЛЕНИЮ
    «П
    РОГРАММИРОВАНИЕ
    »
    ЗАДАНИЕ:
    Вам предстоит написать программу в виде игры. В данном задании представлены общие требования к программе, интерфейсу и механика игрового процесса.
    ОБЩИЕ ТРЕБОВАНИЯ:
    Написать программу согласно представленному заданию. В программе должны быть реализованы указанные в задании игровые механики, макет интерфейса и требование к коду.
    При запуске программы пользователь попадает в главное меню, откуда он может выйти из программы или запустить игру. Макеты игрового экрана и главного меню представлены на рис. 1 и 2. В любой момент игрового процесса пользователь может включить паузу, которая отображается поверх экрана игры
    (рис. 3).
    Требуется реализовать механики и элементы, перечисленные ниже.
    В ходе оценки проверяется работоспособность модулей программы и использование объектно-ориентированного программирования (для этого следует продемонстрировать инкапсуляцию, наследование и полиморфизм), соблюдение стиля кода, его читаемость и наличие комментариев.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    2
    ОПИСАНИЕ ИНТЕРФЕЙСА
    Пункты меню
    При запуске пользователю предоставляется интерфейс, состоящий из следующих пунктов меню:

    Старт — запуск игры;

    Выход — прекращение работы программы.
    Пауза
    В окне паузы отображаются следующие элементы:

    Продолжить — возобновление игрового процесса;

    Счёт — лучший с момента запуска программы результат;

    Выход — прекращение работы программы.
    Игровой процесс
    Во время игрового процесса отображаются следующие элементы:
     Пауза — приостановка игрового процесса;
     Счёт — результат пользователя на данный момент;
     Выход — прекращение работы программы.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    3
    МАКЕТЫ:
    Главное меню:
    Рис. 1.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    4
    Игровой экран:
    Рис. 2.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    5
    Пауза:
    Рис. 3.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    6
    ИГРОВАЯ МЕХАНИКА:
    В игре должна быть реализована механика игры жанра скроллер. На экране должны быть представлены следующие элементы:

    Правая зона — зона вне экрана, отмечена на макете зелёным цветом, в окне игры не отображается. Здесь происходит появление всех движущихся элементов игры.

    Левая зона — зона вне экрана, отмечена на макете красным цветом, в окне игры не отображается. Здесь происходит удаление всех движущихся элементов игры. В случае, если игрок полностью оказывается в красной зоне
    — теряется одна жизнь.
     Персонаж игрока:
    ◦ Начальное положение — на поверхности поля в левой половине экрана;
    ◦ Модель поведения — находится под управлением пользователя
    (подробнее см. «УПРАВЛЕНИЕ»), имеет три жизни, при потере которых игра запоминает результат игрока (если он превышает лучший на данный момент результат) и открывается главное меню;
    ◦ В случае нахождения целиком в левой зоне за пределами экрана теряет одну жизнь и моментально возвращается в начальные координаты;
    ◦ В случае столкновения с шипом теряет одну жизнь и отбрасывается в сторону левой зоны;
    ◦ В случае подбора монет увеличивает счёт игрока;
    ◦ Способен совершать прыжок только с поверхности поля или кочки
    (рельефа);
    ◦ При нахождении в воздухе на игрока действует сила тяжести, возвращая его на поверхность поля или кочки;
    ◦ При столкновении с кочкой перемещается вместе с ней;
    ◦ При изменении положения, в случае отсутствия препятствий, начинает движение для возврата в стартовые координаты с заданной скоростью по оси X;
    ◦ Количество жизней визуально отображается в левом верхнем углу во время игрового процесса над счётом в виде простейших фигур на ваш выбор;
    ◦ Максимальное количество на экране — 1.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    7
     Поле
    ◦ Начальное положение — низ экрана;
    ◦ Модель поведения — появляется при запуске игры;
    ◦ Максимальное количество на экране — 1.
     Шипы
    ◦ Начальное положение — правая зона за пределами экрана;
    ◦ Модель поведения — перемещается в левую зону за пределами экрана, при соприкосновении с игроком шип снимает одну жизнь и отталкивает его в сторону левой зоны и удаляется;
    ◦ При нахождении полностью в красной зоне удаляется;
    ◦ Максимальное количество на экране — 10;
     Монетки
    ◦ Начальное положение — правая зона за пределами экрана;
    ◦ Модель поведения — перемещается в левую зону за пределами экрана, при соприкосновении с персонажем игрока монетка увеличивает счёт и удаляется;
    ◦ При нахождении полностью в красной зоне удаляется;
    ◦ Максимальное количество на экране — 8;
     Кочки
    ◦ Начальное положение — на поле в правой зоне за пределами экрана;
    ◦ Модель поведения — перемещается по полю в левую зону за пределами экрана, при соприкосновении с игроком кочка отталкивает его в левую сторону экрана;
    ◦ Верхняя часть кочки является частью рельефа, по которому может перемещаться игрок. Как и с поверхности поля, игрок способен совершать прыжок с верхней грани кочки;
    ◦ При нахождении полностью в красной зоне удаляется;
    ◦ Максимальное количество на экране — 5.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    8
    УПРАВЛЕНИЕ:
    Во время работы программы взаимодействия с элементами интерфейса выполняются мышкой.
    Во время игрового процесса:
     W – прыжок (работает только во время игрового процесса);
     P – включение и выключение паузы (работает везде, кроме меню).
    ОПИСАНИЕ КЛАССОВ
    При проектировании вы можете сами решать, как реализовывать классы, методы и поля. Ниже приведен рекомендуемый список.
    Просим обратить внимание, что данный список содержит минимальный требуемый набор членов класса.
    Игрок
    Поля:
     Начальная координата X
     Начальная координата Y
     Координата X
     Координата Y
     Скорость по оси X
     Скорость по оси Y
     Количество жизней
    Методы:
     Прыжок
     Движение
     Отображение
     Столкновение

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    9
    Игровой объект, базовый класс
    Поля:
     Координата X
     Координата Y
     Скорость по оси X
     Скорость по оси Y
    Методы:
     Движение
     Отображение
    Монетка, наследник игрового объекта
    Поля:
    Наследует поля игрового объекта
    Методы:
     Наследует методы игрового объекта
    Шип, наследник игрового объекта
    Поля:
     Наследует поля игрового объекта
    Методы:
     Наследует методы игрового объекта
    Кочка, наследник игрового объекта
    Поля:
     Наследует поля игрового объекта
    Методы:
     Наследует методы игрового объекта

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    10
    ОБРАБОТКА СТОЛКНОВЕНИЙ
    В ходе написания механики игры вам потребуется реализовать обсчёт столкновений объектов. Далее будет приведён один из возможных вариантов реализации.
    Монетки и игрок в данном случае представлены окружностью, кочки будут представлены как прямоугольник.
    В рамках задачи расчёта столкновений шипы так же могут быть представлены в качестве прямоугольников, но визуально отображаются в виде треугольников, согласно макету.
    Столкновение окружность — окружность
    Обозначим (x
    1
    ; y
    1
    ) и (x
    2
    ; y
    2
    ) координаты центров окружностей, а r
    1
    и r
    2
    их радиусы соответственно. Тогда две окружности будут сталкиваться в том случае, если расстояние между их центрами меньше или равно сумме их радиусов:
    𝑟
    1
    + 𝑟
    2
    ≤ √(𝑥
    1
    − 𝑥
    2
    )
    2
    + (𝑦
    1
    − 𝑦
    2
    )
    2
    Столкновение окружность — прямоугольник
    Обозначим (x
    1
    ; y
    1
    ) и (x
    2
    ; y
    2
    ) координаты центра окружности и прямоугольника. Буквой r укажем радиус окружности, буквами w и h обозначим половину ширины и высоты прямоугольника соответственно.
    Теперь выведем отступы по осям x и y:
    𝑑𝑖𝑓𝑋 = |𝑥
    1
    − 𝑥
    2
    |– 𝑤
    𝑑𝑖𝑓𝑌 = |𝑦
    1
    − 𝑦
    2
    |– ℎ
    Учтём случай, когда отступ будет отрицательным (случай, когда кратчайшим расстоянием будет длина перпендикуляра, опущенного из центра окружности к ближайшей стороне прямоугольника):
    𝑑𝑖𝑓𝑋 = 𝑚𝑎𝑥(0, 𝑑𝑖𝑓𝑋)
    𝑑𝑖𝑓𝑌 = 𝑚𝑎𝑥(0, 𝑑𝑖𝑓𝑌)
    Тогда расчёт расстояния от центра окружности до прямоугольника будет:
    𝑙 = √𝑑𝑖𝑓𝑋
    2
    + 𝑑𝑖𝑓𝑌
    2
    И в случае, если
    𝑙 < 𝑟 будет происходить столкновение.

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    11
    ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ИНТЕРФЕЙСА
    Данные требования распространяются только на элементы интерфейса
    (пункты меню, вывод счёта на экран). Решение по поводу цветовой палитры во время игрового процесса остаётся на усмотрение участника демонстрационного экзамена.
    Шрифт текста в меню и кнопках — Arial, размер не меньше 12.
    Размер элементов меню:
     В ширину — не менее 100 пикселей;
     В высоту — не менее 50 пикселей.
    Допустимые цвета:
    Фон кнопок
    Цвет
    RGB
    195, 196, 199
    Текст
    Цвет
    RGB
    0,0,0

    Демонстрационный экзамен 2020
    для обучающихся по дополнительным общеразвивающим программам
    12
    ТРЕБОВАНИЯ К ПРОЕКТУ:
    Участник вправе выбрать язык программирования и среду разработки из предлагаемого списка:
    Языки программирования: Java, С++, С#, Python, Object Pascal;
    Среды разработки: IntelliJ IDEA, Processing3, Visual Studio, PyCharm, Pascal
    ABC.Net, PythonIDE
    В программе должны быть выполнены все указанные в задании механики и элементы. Должны быть предусмотрены проверки для предотвращения ошибок работы программы (пример: попытка использовать неинициализированный объект). В случае возникновения ошибок должна быть реализована обратная связь
    (сообщение с указанием произошедшей ошибки).
    Имена переменных и элементов должны иметь говорящие названия на английском языке (соблюдая стиль кода, пример: camelCase, snake_case). Для написанных подпрограмм и переменных следует оставлять поясняющие комментарии.
    Шаблоны комментариев:
    Все комментарии – строчные и оформлены по следующему макету:
    ● Данный метод принимает следующие значения: имя параметра его
    описание [; следующий параметр].
    ● Выполняет следующие действия: описание функционала.
    ● В качестве результата возвращает следующее значение: описание результата.
    Программа должна быть оптимизирована и рассчитана на длительные сеансы использования.
    Прим.: повторное использование созданных объектов, либо их удаление, при отсутствии потребности в их использовании.


    написать администратору сайта