Skip to content

katezai/java-console-game-template

Repository files navigation

DungeonMini — Промежуточная аттестация

Формат: индивидуальная работа
Язык/среда: Java 17+, консольное приложение, без Maven Цель: на практике применить изученные темы курса

0) Запуск проекта

Linux/macOS:

./build.sh
./run.sh

Windows:

build.bat
run.bat

1) Что уже есть в шаблоне

  • Каркас игры: Game.java с циклом ввода и заглушками команд (TODO).
  • Модель данных: Player, Monster, Item, Room и т.д.
  • Чтение команд пользователя, обработка ошибок, базовые команды (look, save, load, exit).
  • Примеры I/O с try-with-resources (SaveLoad).

2) Задачи студента

Реализовать команды

  1. move <north|south|east|west>

    • Перемещение между комнатами.
    • Если нет пути — выбросить InvalidCommandException.
  2. take <item name>

    • Взять предмет из комнаты и положить в инвентарь.
  3. inventory

    • Вывести инвентарь с использованием Stream API: сортировка и группировка по типу предмета.
  4. use <item name>

    • Применить предмет (полиморфизм через Item.apply()).
  5. fight

    • Простая пошаговая битва с монстром, уменьшение HP, выпадение лута, завершение игры при смерти игрока.

Использовать try-with-resources

  • Реализовать сохранение/загрузку состояния (минимум — игрок и инвентарь).

Показать работу GC

  • Команда gc-stats выводит used/free/total память из Runtime.

Обработать исключения

  • Все некорректные ситуации — через InvalidCommandException с понятным текстом.
  • Покажите в комментариях различие ошибок компиляции (пример закомментированного кода) и ошибок выполнения (пример ArithmeticException).

3) Примеры команд

> look
Площадь: Каменная площадь с фонтаном.
Выходы: north

> move north
Вы перешли в: Лес
Лес: Шелест листвы и птичий щебет.
Предметы: Малое зелье
В комнате монстр: Волк (ур. 1)
Выходы: south, east

> take Малое зелье
Взято: Малое зелье

> inventory
- Potion (1): Малое зелье

> use Малое зелье
Выпито зелье: +5 HP. Текущее HP: 25

> fight
Вы бьёте Волк на 5. HP монстра: 3
Монстр отвечает на 1. Ваше HP: 24

4) Критерии оценивания (100 баллов)

Блок Баллы
Реализация команд 50
Обработка исключений 10
Stream API и коллекции 15
I/O + try-with-resources 10
GC 10
Чистота кода, инкапсуляция 5

5) Минимальный сценарий для самопроверки

  • Запустите игру.
  • Посмотрите стартовую комнату (look).
  • Перейдите в лес (move north).
  • Возьмите зелье (take ...).
  • Выведите инвентарь (inventory).
  • Используйте предмет (use ...).
  • Победите монстра (fight несколько раз).
  • Сохраните и загрузите игру (save / load).
  • Проверьте about и gc-stats.

6) Дополнительно (+ баллы)

  • Сериализация состояния всех комнат.
  • Добавление новой комнаты, двери и логики использования ключа.
  • Таблица лидеров (scores.csv) с сохранением очков при выходе.
  • Команда alloc + демонстрация GC.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages