Контрольная работа


Задание на выполнение курсовой работы - "Разработка игрового приложения"
Цель: Целью данной работы является закрепление навыков, полученных в ходе выполнения предыдущих лабораторных работ.

Задание: Разработать WPF приложение.

Вариант 1 Мультимедийное приложение (каталог стикеров/гифок/мемов)
Иногда хочется быстро находить нужный стикер, гифку или мем, чтобы делиться ими с друзьями и выражать настроение или эмоции.
Приложение должно представлять собой каталог стикеров/гифок/мемов и иметь следующий функционал:
  1. Список мемов
  2. В главном окне приложения должен присутствовать LisBox, TreeView или другой подобный компонент со списком названий мемов. При выделении одного из элементов списка происходит отображение соответствующей картинки в ImageBox.
  3. Фильтрация по категории
  4. В главном окне должен присутствовать ComboBox со списком категорий. При выборе определенной категории в списке мемов должны оставаться только те мемы, которые относятся к выбранной категории.
  5. Поиск по названию
  6. В главном окне должно присутствовать поле ввода для поиска по названию. При вводе текста в это поле ввода в списке мемов должны оставаться только те мемы, которые содержат в названии введенный текст (без учета регистра).
  7. Добавление мема в каталог
  8. Добавление мема в каталог должно осуществляться через диалоговое окно, которое имеет следующие поля ввода: название мема, расположение на диске, категория и др. по желанию. Расположение на диске нужно указывать с помощью OpenFileDialog.
  9. Удаление мема
  10. В главном окне должна присутствовать кнопка «Удалить мем». При нажатии на эту кнопку, выделенный мем должен удаляться. Хранение данных о мемах должно быть реализовано с помощью json или xml файла. При этом в главном окне программы должны быть 2 кнопки: «Сохранить» и «Загрузить». При сохранении информация о добавленных мемах должна записаться в файл, при загрузке должен отобразиться список ранее сохраненных мемов.

Вариант 2 Игровое приложение Memory (одинаковые карточки)
Казуальные игры довольно популярны, так как отличаются простыми правилами и не требуют от пользователя особой усидчивости, затрат времени на обучение или каких-либо особых навыков.
Цель игры заключается в нахождении двух одинаковых карточек (изображений). На игровом поле 4х3 появляется 12 карточек. Игроку дается время запомнить их расположение и изображения. Потом карточки переворачиваются другой одинаковой стороной вверх. Игрок переворачивает картинкой вверх сначала одну карточку, затем вторую. Если изображения у карточек одинаковые, то эти две выбранные карточки исчезают с поля. Если изображения на перевернутых карточках разные, то они переворачиваются обратно. Игра заканчивается, когда все карточки будут убраны с поля.
В качестве примера предлагается использовать следующую вариацию игры.
Помимо основной логики игры необходимо реализовать следующий функционал:
  1. Таймер.
  2. Игроку дается N времени по истечению которого происходит проигрыш, если не все карточки убраны с поля.
  3. Фоновая музыка, звуки по нажатию на кнопки, звук победы/поражения, звук, что таймер отведенного времени подходит к концу.
  4. Подсчет количества сделанных ходов.
  5. Один ход – это две перевернутые карточки. Перевернул ли игрок две карточки с одинаковым изображением или с разными, ход засчитывается все равно.
=============================================

ЛАБОРАТОРНАЯ РАБОТА 1. Отображение геометрических фигур
Цель работы:
 изучение способов отображения геометрических фигур на языке C#;
 знакомство с базовыми принципами ООП и терминами «класс» и «объект».
Задание:
В рамках выполнения лабораторной работы необходимо реализовать приложение
WPF, содержащее несколько классов геометрических фигур на плоскости:
1) Класс «двумерная точка». Класс должен содержать поля для хранения координат
по осям X и Y и методы, реализующие следующие операции:
 сдвиг точки по осям X и Y на заданное расстояние;
 вычисление расстояния между двумя точками;
2) Класс «треугольник». Класс должен содержать поля для хранения вершин
треугольника и методы, реализующие следующие операции:
 вычисление площади и периметра;
 сдвиг треугольника по осям X и Y на заданное расстояние;
3) Класс «прямоугольник». Класс должен содержать поля для хранения вершин
прямоугольника и методы, реализующие следующие операции:
 вычисление площади и периметра;
 сдвиг прямоугольника по осям X и Y на заданное расстояние;
4) Класс для генерации геометрических фигур. Класс должен содержать
статические методы создания геометрических фигур:
 создание произвольной («рандомной») точки;
 создание произвольного треугольника;
 создание произвольного прямоугольника;
 создание прямоугольника заданного размера.
Интерфейс программы должен представлять собой несколько пунктов меню (или
кнопок), соответствующих одной из геометрических фигур – «Произвольный
треугольник», «Произвольный прямоугольник», «Квадрат» и др., по нажатию на
которые осуществляется рисование фигуры в окне и вывод информации (координат
вершин, периметра, площади). Также должны присутствовать пункты меню для сдвига
фигур, по нажатию на которые фигура должна сдвигаться и перерисовываться.
Дополнительное задание в зависимости от последней цифры пароля:
Вариант 1: реализовать возможность задания толщины линии геометрических
фигур в интерфейсе программы;
Вариант 2: реализовать возможность задания цвета линии геометрических фигур в
интерфейсе программы;
2
Вариант 3: добавить ограничение сдвига фигур (фигура должна полностью
помещаться в отведенной для рисования области «холсте») ;
Вариант 4: реализвать случаный (рандомный) цвет линий фигуры при ее создании.
Каждая фигура будет рисоваться новым цветом. При сдвиге фигуры цвет
сохраняется.

ЛАБОРАТОРНАЯ РАБОТА 2. Создание пользовательских элементов управления в Windows Forms
Цель работы:
 изучить приемы создания пользовательских элементов управления с
использованием технологий Windows Forms;
 познакомиться с примерами использования наследования, полиморфизма и
композиции объектов на практике.
Задание:
Разработать приложение в Windows Forms с пользовательскими элементами
управления:
Галерея (компонент для просмотра изображений) на основе класса HoverButton.
a) галерея с hover-эффектом. При наведении курсора на изображение появляется её
подпись и другие декоративные элементы. По клику на изображение
загружается следующая картинка.
b) аналогичная галерея круглой формы (должна быть наследником класса из
пункта a).
Галерея должна быть универсальной и совместимой с любым набором изображений.
Дополнительное задание в зависимости от последней цифры пароля:
Вариант 1: К реализованному hover-эффекту добавить дополнительно увеличение
размера галереи при наведении курсора и возвращение исходного размера, когда
курсор покидает область галереи.
Вариант 2: Реализовать возможность не по клику, а по двойному клику на
изображение загружать следующую картинку.

Результат выполнения работы предоставить в виде:  архив с проектом (если размер архива больше 2 Мбайт, то рекомендуется загрузить проект на https://github.com/ или на другое общедоступное хранилище и предоставить ссылку);  отчет по лабораторной работе в формате Microsoft Word, который содержит следующие разделы: 1. титульный лист; 2. задание на лабораторную работу; 3. краткое описание разработанных программ и используемых алгоритмов со скриншотами выполнения; 4. вывод с результатами работы. Копирование исходного кода программ не допускается. Проекты с одинаковым исходным кодом засчитываться не будут.

ЛАБОРАТОРНАЯ РАБОТА 3. Создание пользовательских элементов управления в WPF
Цель работы:
 изучить приемы создания пользовательских элементов управления с
использованием технологий WPF;
 познакомиться с примерами использования наследования, полиморфизма и
композиции объектов на практике.
Задание:
Разработать WPF-приложение с пользовательскими элементами управления (карточка
сотрудника).
Карточка сотрудника отображает основные сведения о сотруднике (имя, отдел,
должность, фотография и другие). При наведении на кнопки должна появляться
всплывающая подсказка (ToolTip).
Пользователь вводит в текстовое поле имя, во второе текстовое поле – отдел, в третье
текстовое поле – должность и так далее. Введенные пользователем данные заносятся в
карточку сотрудника.
Один из примеров реализации:

Результат выполнения работы предоставить в виде:  архив с проектом (если размер архива больше 2 Мбайт, то рекомендуется загрузить проект на https://github.com/ или на другое общедоступное хранилище и предоставить ссылку);  отчет по лабораторной работе в формате Microsoft Word, который содержит следующие разделы: 1. титульный лист; 2. задание на лабораторную работу; 3. краткое описание разработанных программ и используемых алгоритмов со скриншотами выполнения; 4. вывод с результатами работы.
Обсудим вашу работу?
При заказе дарим онлайн-тест!
Заполните форму
и мы свяжемся с вами за 2 часа