#include #include #ifndef CPP_LEARNING_GAME_H #define CPP_LEARNING_GAME_H #include #include class Player { public: int x = 40; int y = 40; int unsigned health = 3; void moveX(int dx); void moveY(int dy); }; enum class Type { HEALTH, DAMAGE }; struct Item { int x; int y; Type type; }; class Opponent : public Player { public: int targetX = 0; int targetY = 0; void move(int multiplier); }; class Game { Player player; std::vector opponents; std::vector items; bool showHitboxes = false; void renderPlayer(SDL_Renderer* renderer, SDL_Texture* player, Player p) const; public: void spawnItem(Type type); void createOpponent(); void checkCollision(); void renderHUD(SDL_Renderer* renderer, SDL_Texture* heart) const; void renderItem(SDL_Renderer* renderer, Item i) const; void render(SDL_Renderer* renderer, SDL_Texture* bg); void run(); void renderOpponent(SDL_Renderer* renderer, SDL_Texture* opponentTexture, Opponent o) const; }; #endif