Software Design

ИТМО, Магистры, 2021 группа

Владислав Танков

Студент TODO №1 №2 №3 №4 №5 №6 №7 №8
184 CLI CLI. Grep. CLI. cd & ls CLI. UML Roguelike. Design Document Roguelike. Поле и управление. Roguelike. Боевая система. Roguelike. Мультиплеер
Акопян Тигран 8
Бочкарев Кир 8
Голубев Кирилл 8
Дедученко Екатерина 8
Деркунский Виктор 8
Егоров Николай 8
Елисеев Егор 8
Есаков Кирилл 8
Ефимов Максим 8
Иванов Дмитрий 8
Клочков Антон 8
Козлов Иван 8
Колмогорова Валерия 8
Крикун Александр 8
Леденева Екатерина 8
Слободкин Евгений 8
Сокольвяк Сергей 8
Суннари Джоуни 8
Терехов Арсений 8
Тимохин Максим 8
Тлямов Анвар 8
Третьяков Константин 8
Цыкунов Дмитрий 8

Задачи

Домашняя работа 8. 12.05.21
  1. Roguelike. Мультиплеер

    Реализовать в рогалике мультиплеер

    • Разделить текущую реализацию на клиент и сервер (если ещё не)
      • При подсоединении клиенты получают нового героя и появляются на карте
      • Мультиплеер запускается отдельным пунктом меню (запустить host)
      • Все клиенты подключаются к host-у

    Для реализации разрешается использовать RPC библиотеки

    Дедлайн

    • Мягкий - 19 мая, 10:00
    • Жесткий - 26 мая, 10:00
Домашняя работа 7. 19.04.21
Практика 6. Паттерны
Практика 7. Антипаттерны
  1. Roguelike. Боевая система.

    Реализовать в рогалике боевую систему:

    • Несколько видов противников
      • Должны различаться видом
      • Должны различаться поведением
        • Могут быть агрессивными, пассивными (ходят по заранее заданному маршруту или стоят) и трусливым (бегут от игрока)
        • Используйте паттерн стратегия
      • Должен поддерживаться конус или окружность видимости у противников (дальше N метров не видят, за угол не видят и т.д.)
    • Атака осуществляется при переходе на одну и ту же клетку
      • Атака наносит фиксированный урон
      • Если один из атакующих уничтожен, то он удаляется с карты и ход производится

    Дедлайн:

    • Мягкий - 26.04.2020, 10:00
    • Жесткий - 03.05.2020, 10:00
Домашняя работа 6. 07.04.21
  1. Roguelike. Поле и управление.

    В командах по 2 человека разработать первую версию Roguelike со следующими требованиями:

    • Консольная графика
    • Персонаж, перемещающийся по карте
      • Перемещение может быть как пошаговым так и раз в N миллисекунд
      • Управление должно быть как минимум с клавиатуры
    • Карта должна случайно генерироваться
      • Рекомендуется генерировать симпатичные карты (лабиринты, ландашафты)
    • Обновить документацию

    Обязательно указать при сдаче, с кем вы в команде

    Дедлайн:

    • Мягкий - 19.04.2021, 10:00
    • Мягкий - 26.04.2021, 10:00
Домашняя работа 5. 29.03.21
Практика 5. Проектирования и архитектура
Разбиение по командам (Лист 2)
  1. Roguelike. Design Document

    В группах по 2 человека подготовьте Design Document для Roguelike игры:

    • Общие сведения о системе
    • Architectural drivers

      • Требования
      • Случаи использования (Use Case диаграммы)
      • Ограничения
    • Диаграмма компонентов

      • Распределение компонентов между участниками команды
      • Уточнение компонентов диаграммами классов

    Дедлайн:

    • Мягкий - 05.04.2021, 10:00
    • Жесткий - 12.04.2021, 10:00
Домашняя работа 4. 22.03.21
Практика 4. Моделирование и UML
  1. CLI. UML

    Составить перечисленные диаграммы для текущей архитектуры CLI:

    • Диаграмма случаев использования
    • Диаграмма компонентов
    • Диаграммы последовательностей

    Рекомендуется следовать замечаниям с практики относительно детализации, отображаемых компонентов и т.д.

    Дедлайн

    • Мягкий - 29.03.2021, 10:00
    • Жесткий - 05.04.2021, 10:00
Домашняя работа 3. 15.03.21
Практика 3. Объектно-ориентированное проектирование
  1. CLI. cd & ls

    Реализовать команды ls и cd на базе кода одногруппника

    • Команды принимают 0 или 1 аргумент
    • Должны быть написаны юнит-тесты
    • На архитектуру одногруппника нужно составить ревью, указав, что было удобным и что неудобным при расширении кода
    • Код в fork на GitHub
    • Одногруппник определяются по списку hwproj.me - от вас внизу через одного

    Дедлайн:

    • Мягкий - 22.03.2021, 10:00
    • Жесткий - 29.03.2021, 10:00
Домашняя работа 2. 17.02.21
Практика 2. Архитектура Bash.
  1. CLI. Grep.

    Добавить ко встроенным командам CLI команду grep

    • Поддержать ключи
      • -i (case insensitive)
      • -w (поиск слова только целиком)
      • -A n (распечатать n строк после строки с совпадением)
    • Поддержать регулярные выражения в строке поиска

    Дедлайн:

    • Мягкий - 25.02.2021, 10:00
    • Жесткий - 04.03.2021, 10:00
Домашняя работа 1. 17.02.21
Практика 1. Введение. CLI.
  1. CLI

    Реализовать простой интерпретатор командной строки, поддерживающий команды:

    • cat [FILE] - выводит содержимое файла на экран
    • echo - выводит на экран свои аргументы
    • wc [FILE] - выводит количество строк, слов и байт в файле
    • pwd - выводит текущую директорию
    • exit - выходит из интерпретатора

    Ожидается:

    • Архитектурное описание (README, документация, диаграмма по желанию)
    • Работающее задание
    • Юнит тесты, линтер, CI

    Всё это --- в пуллреквест на гитхабе в свой репозиторий из отдельной ветки.

    Дедлайн:

    • Мягкий - 25.02.2021, 10:00
    • Жесткий - 04.03.2021, 10:00

© 2014-2021 HwProj