Небольшая консольная ролевая игра с пошаговыми боями, магазином, сохранениями и случайными событиями. Проект делался как учебная командная разработка, поэтому в нём есть и рабочие механики, и задел на будущие улучшения.
В ConsoleRPG игрок создаёт героя, распределяет характеристики (по схеме 15, 14, 13, 12, 10, 8) и проходит серию боёв против волны противников. В основе боевой системы — броски кубиков:
d20определяет попадание/криты и часть проверок;d8(или другое значение грани у персонажа) влияет на урон;- лечение и побег тоже завязаны на вероятности.
Дополнительно в игре есть:
- магазин предметов (покупка за золото),
- инвентарь,
- сохранение/загрузка прогресса,
- случайное событие с мини-игрой (казино).
- Проект ориентирован на Windows-консоль (
Windows.h,SetConsoleCP,system("cls")). - Часть систем (например, спецатака, отдельные эффекты предметов) пока в упрощённом или заготовочном виде.
- Откройте файл решения
ConsoleRPG.sln. - Выберите конфигурацию
DebugилиRelease. - Нажмите
F5(или Start Without Debugging).
Альтернативно, через Developer Command Prompt (MSVC):
cd /d <путь_к_репозиторию>\ConsoleRPG
msbuild ConsoleRPG.sln /p:Configuration=Debug
.\x64\Debug\ConsoleRPG.exeПример запуска в кодовом стиле: ConsoleRPG.exe
| Компонент | Минимум | Рекомендация |
|---|---|---|
| ОС | Windows 10 | Windows 10/11 |
| Компилятор | MSVC с поддержкой C++17 | Последняя Visual Studio 2022 |
| ОЗУ | 2 ГБ | 4+ ГБ |
| Место на диске | ~200 МБ | 500 МБ |
- Нужна поддержка стандартной консоли Windows и кодировки CP1251.
- Для сборки важны инструменты C++ в Visual Studio.
ConsoleRPG/
├─ main.cpp # точка входа и игровой цикл
├─ character.* # персонаж, характеристики, инвентарь, базовые действия
├─ battle.* # state-machine хода игрока/врага
├─ shop.* # магазин и покупка предметов
├─ savesystem.* # сохранение/загрузка в saves/save.txt
├─ casino.* # случайное событие и мини-игра
├─ character_creator.* # создание героя и распределение статов
├─ dice.* # броски кубиков
├─ user_interface.* # прогресс-бар, загрузочные анимации
├─ item.* # модель предметов
├─ map.*, astar.* # задел под исследование/поиск пути
└─ animations/ # ASCII-анимации
- Игровое ядро (
main.cpp) — создаёт игрока/врагов, запускает магазин, события и бой по волнам. - Модуль персонажа (
character.*) — хранит HP, золото, фляги лечения, урон, статы и методы действий. - Боевая система (
battle.*) — реализует паттерн состояний: ход игрока ↔ ход врага. - Экономика (
shop.*,item.*) — витрина предметов, покупка и пополнение инвентаря. - Прогресс (
savesystem.*) — запись/чтение состояния в текстовый save-файл. - Контент и UX (
casino.*,user_interface.*,animations/) — события, текстовые сцены и визуальные эффекты консоли.