Дополнение документации
This commit is contained in:
164
docs/classes.md
164
docs/classes.md
@@ -2,25 +2,163 @@
|
|||||||
|
|
||||||
## Game
|
## Game
|
||||||
|
|
||||||
Основной класс игры. Управляет игровым циклом, загрузкой данных, обработкой команд игрока, перемещением, взаимодействием с сундуками, NPC и боевой системой.
|
Основной класс игры. Управляет игровым циклом, загрузкой данных, отображением карты, обработкой команд игрока, взаимодействием с объектами и переходами между локациями.
|
||||||
|
|
||||||
### Поля
|
### Поля
|
||||||
|
|
||||||
| Поле | Тип | Описание |
|
| Поле | Тип | Описание |
|
||||||
|---|---|---|
|
| ------------ | --------------------- | ---------------- |
|
||||||
| player | Player | Игрок |
|
| player | Player | Игрок |
|
||||||
| locations | vector<Location> | Список игровых локаций |
|
| locations | std::vector<Location> | Список локаций |
|
||||||
| itemDatabase | vector<Item> | База предметов |
|
| itemDatabase | std::vector<Item> | База предметов |
|
||||||
| isRunning | bool | Флаг работы игры |
|
| isRunning | bool | Флаг работы игры |
|
||||||
|
|
||||||
### Методы
|
### Методы
|
||||||
|
|
||||||
| Метод | Описание |
|
| Метод | Назначение |
|
||||||
|---|---|
|
| ----------------- | ---------------------------- |
|
||||||
| run() | Запускает игру |
|
| run() | Запуск игры |
|
||||||
| loadLocations() | Загружает локации из файлов |
|
| loadItems() | Загрузка предметов |
|
||||||
| loadItems() | Загружает предметы |
|
| loadLocations() | Загрузка локаций |
|
||||||
| processCommand() | Обрабатывает команды игрока |
|
| render() | Отрисовка текущего состояния |
|
||||||
| movePlayer() | Перемещает игрока |
|
| processCommand() | Обработка команды игрока |
|
||||||
| openChest() | Открывает сундук |
|
| movePlayer() | Перемещение игрока |
|
||||||
| startCombat() | Запускает бой |
|
| 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<InventorySlot> |
|
||||||
|
|
||||||
|
### Методы
|
||||||
|
|
||||||
|
| Метод | Назначение |
|
||||||
|
| ------------ | ------------------------- |
|
||||||
|
| 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() | Запись события в лог-файл |
|
||||||
|
|||||||
125
docs/methods.md
125
docs/methods.md
@@ -4,26 +4,125 @@
|
|||||||
|
|
||||||
Перемещает игрока на указанное смещение.
|
Перемещает игрока на указанное смещение.
|
||||||
|
|
||||||
### Входные данные
|
### Параметры
|
||||||
|
|
||||||
| Параметр | Тип | Описание |
|
| Имя | Тип | Описание |
|
||||||
|---|---|---|
|
| --- | --- | ----------------- |
|
||||||
| dx | int | Смещение по X |
|
| dx | int | Смещение по оси X |
|
||||||
| dy | int | Смещение по Y |
|
| dy | int | Смещение по оси Y |
|
||||||
|
|
||||||
### Возвращаемое значение
|
### Возвращаемое значение
|
||||||
|
|
||||||
Метод ничего не возвращает.
|
Отсутствует.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Player::usePotion(int itemId, const vector<Item>& itemDatabase)
|
## Game::solveRiddle(Location& location)
|
||||||
|
|
||||||
Использует зелье из инвентаря игрока.
|
Отображает загадку игроку и проверяет введённый ответ.
|
||||||
|
|
||||||
### Входные данные
|
### Параметры
|
||||||
|
|
||||||
| Параметр | Тип | Описание |
|
| Имя | Тип |
|
||||||
|---|---|---|
|
| -------- | --------- |
|
||||||
| itemId | int | ID предмета |
|
| location | Location& |
|
||||||
| itemDatabase | vector<Item> | База всех предметов |
|
|
||||||
|
### Возвращаемое значение
|
||||||
|
|
||||||
|
| Тип | Описание |
|
||||||
|
| ---- | -------------------------- |
|
||||||
|
| bool | true при правильном ответе |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Player::usePotion(int itemId, const std::vector<Item>& itemDatabase)
|
||||||
|
|
||||||
|
Использует выбранное зелье из инвентаря.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ------------ | ----------------- |
|
||||||
|
| itemId | int |
|
||||||
|
| itemDatabase | std::vector<Item> |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Player::equipWeapon(int itemId, const std::vector<Item>& itemDatabase)
|
||||||
|
|
||||||
|
Экипирует выбранное оружие.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ------------ | ----------------- |
|
||||||
|
| itemId | int |
|
||||||
|
| itemDatabase | std::vector<Item> |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Inventory::addItem(int itemId, int count)
|
||||||
|
|
||||||
|
Добавляет предмет в инвентарь.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ------ | --- |
|
||||||
|
| itemId | int |
|
||||||
|
| count | int |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Inventory::removeItem(int itemId, int count)
|
||||||
|
|
||||||
|
Удаляет предмет из инвентаря.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ------ | --- |
|
||||||
|
| itemId | int |
|
||||||
|
| count | int |
|
||||||
|
|
||||||
|
### Возвращаемое значение
|
||||||
|
|
||||||
|
| Тип | Описание |
|
||||||
|
| ---- | ------------------- |
|
||||||
|
| bool | Успешность операции |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Location::loadFromFile(const std::string& path)
|
||||||
|
|
||||||
|
Загружает данные локации из файла.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ---- | ----------- |
|
||||||
|
| path | std::string |
|
||||||
|
|
||||||
|
### Возвращаемое значение
|
||||||
|
|
||||||
|
| Тип |
|
||||||
|
| ---- |
|
||||||
|
| bool |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## NPC::loadFromFile(const std::string& path)
|
||||||
|
|
||||||
|
Загружает параметры NPC из текстового файла.
|
||||||
|
|
||||||
|
### Параметры
|
||||||
|
|
||||||
|
| Имя | Тип |
|
||||||
|
| ---- | ----------- |
|
||||||
|
| path | std::string |
|
||||||
|
|
||||||
|
### Возвращаемое значение
|
||||||
|
|
||||||
|
| Тип |
|
||||||
|
| ---- |
|
||||||
|
| bool |
|
||||||
|
|||||||
Reference in New Issue
Block a user