Документация классов
Game
Основной класс игры. Управляет игровым циклом, загрузкой данных, отображением карты, обработкой команд игрока, взаимодействием с объектами и переходами между локациями.
Поля
| Поле |
Тип |
Описание |
| player |
Player |
Игрок |
| locations |
std::vector |
Список локаций |
| itemDatabase |
std::vector |
База предметов |
| isRunning |
bool |
Флаг работы игры |
Методы
| Метод |
Назначение |
| run() |
Запуск игры |
| loadItems() |
Загрузка предметов |
| loadLocations() |
Загрузка локаций |
| render() |
Отрисовка текущего состояния |
| processCommand() |
Обработка команды игрока |
| movePlayer() |
Перемещение игрока |
| handleTile() |
Обработка клетки карты |
| solveRiddle() |
Решение загадки |
| openChest() |
Открытие сундука |
| interactWithNPC() |
Взаимодействие с NPC |
| startCombat() |
Запуск боя |
Player
Класс игрока.
Поля
| Поле |
Тип |
Описание |
| name |
std::string |
Имя персонажа |
| hp |
int |
Здоровье |
| maxHp |
int |
Максимальное здоровье |
| atk |
int |
Базовый урон |
| gold |
int |
Количество золота |
| currentLocation |
int |
Текущая локация |
| position |
Point |
Позиция на карте |
| inventory |
Inventory |
Инвентарь |
| equippedWeaponId |
int |
ID экипированного оружия |
Методы
| Метод |
Назначение |
| showStats() |
Вывод характеристик |
| getDamage() |
Расчёт итогового урона |
| usePotion() |
Использование зелья |
| equipWeapon() |
Экипировка оружия |
Inventory
Инвентарь игрока.
Поля
| Поле |
Тип |
| items |
std::vector |
Методы
| Метод |
Назначение |
| addItem() |
Добавление предмета |
| removeItem() |
Удаление предмета |
| hasItem() |
Проверка наличия предмета |
| show() |
Вывод содержимого |
Location
Игровая локация.
Поля
| Поле |
Назначение |
| id |
Уникальный идентификатор |
| title |
Название |
| width |
Ширина карты |
| height |
Высота карты |
| map |
ASCII-карта |
| startPosition |
Стартовая позиция |
| north/south/east/west |
Связи между локациями |
| riddle |
Загадка |
| chests |
Сундуки |
| npcs |
NPC |
| enemies |
Противники |
Методы
| Метод |
Назначение |
| loadFromFile() |
Загрузка локации |
| draw() |
Отрисовка карты |
| isWalkable() |
Проверка проходимости клетки |
| getTile() |
Получение символа карты |
NPC
Неигровой персонаж.
Поля
| Поле |
Назначение |
| id |
Уникальный идентификатор |
| name |
Имя |
| state |
Состояние |
| hp |
Здоровье |
| damage |
Урон |
| dialogText |
Основной текст диалога |
| options |
Варианты ответов |
| position |
Координаты |
| defeated |
Флаг поражения |
Методы
| Метод |
Назначение |
| loadFromFile() |
Загрузка NPC |
| parseState() |
Разбор состояния |
| parseDialogResult() |
Разбор результата диалога |
SaveManager
Система сохранения и загрузки игры.
Методы
| Метод |
Назначение |
| saveGame() |
Сохранение игры |
| loadGame() |
Загрузка игры |
Logger
Система журналирования событий.
Методы
| Метод |
Назначение |
| log() |
Запись события в лог-файл |