#pragma once

#ifndef PLAYER_TOTLIVES
#define PLAYER_TOTLIVES 3
#endif

#ifndef PLAYER_HIGHSCORE_EEPROM_ADDR
#define PLAYER_HIGHSCORE_EEPROM_ADDR 0x00
#endif


class Player {
  private:
    int m_health;
    int m_highScore;
    int m_currentScore;

    int loadHighScore(void);
    void saveHighScore(void);

  public:
    Player(void);
    void reset(bool hard = false);
    void addScore(int points);
    void takeDamage(int amount = 1);
    int getHealth(void) { return m_health; }
    int getScore(void) { return m_currentScore; }
    int getHighScore(void) { return m_highScore; }
};