Console RPG Battle Game with Inventory System (C++)
This project is a console RPG game developed in C++, which models a basic combat system with enemies, character attribute management, and inventory. The game is built on a modular principle and demonstrates the logic of a real game cycle with menus, combat, items, and session restart.
The implementation uses a structured approach with the application of struct, standard STL containers, and random event generation.
Key functionality:
Character system (Player):
health (HP);
attack power (ATK);
inventory based on std::vector;
Enemy system (Enemy):
random generation of attributes (HP and ATK);
dynamic battles with the player;
Combat mechanics:
turn-based combat player enemy;
automatic completion of combat upon victory or defeat;
correct display of health status after each attack;
Inventory and items:
storage of items in a vector;
use of potions to restore HP;
automatic use of potions at critically low health levels;
random reward in the form of potions after defeating an enemy;
Control menu:
start combat;
view player attributes;
view and use inventory;
exit the game;
Game cycle:
full game loop;
ability to restart after session completion without restarting the program.
Technical aspects:
use of standard libraries , , , ;
generation of random values through rand() and srand();
working with conditions, loops, and functions;
clean logic without hard dependencies;
scalable architecture ready for expansion (adding new items, enemies, skills).
The implementation uses a structured approach with the application of struct, standard STL containers, and random event generation.
Key functionality:
Character system (Player):
health (HP);
attack power (ATK);
inventory based on std::vector;
Enemy system (Enemy):
random generation of attributes (HP and ATK);
dynamic battles with the player;
Combat mechanics:
turn-based combat player enemy;
automatic completion of combat upon victory or defeat;
correct display of health status after each attack;
Inventory and items:
storage of items in a vector;
use of potions to restore HP;
automatic use of potions at critically low health levels;
random reward in the form of potions after defeating an enemy;
Control menu:
start combat;
view player attributes;
view and use inventory;
exit the game;
Game cycle:
full game loop;
ability to restart after session completion without restarting the program.
Technical aspects:
use of standard libraries , , , ;
generation of random values through rand() and srand();
working with conditions, loops, and functions;
clean logic without hard dependencies;
scalable architecture ready for expansion (adding new items, enemies, skills).