Player class. More...

#include <Rosetta/Models/Player.hpp>

Public Member Functions

 Player ()
 Default constructor. More...
 
 ~Player ()
 Destructor. More...
 
 Player (const Player &p)=delete
 Copy constructor. More...
 
 Player (Player &&p)=delete
 Move constructor. More...
 
Playeroperator= (const Player &p)=delete
 Copy assignment operator. More...
 
Playeroperator= (Player &&p)=delete
 Move assignment operator. More...
 
std::string GetNickname () const
 
void SetNickname (std::string nickname)
 
PlayerType GetPlayerType () const
 
void SetPlayerType (PlayerType type)
 
std::size_t GetID () const
 
void SetID (std::size_t id)
 
GameGetGame () const
 
void SetGame (Game *game)
 
BattlefieldGetField ()
 
DeckGetDeck ()
 
GraveyardGetGraveyard ()
 
HandGetHand ()
 
HeroGetHero () const
 
IPolicyGetPolicy () const
 
void SetPolicy (IPolicy *policy)
 
PlayerGetOpponent () const
 
void SetOpponent (Player *player)
 
void AddHeroAndPower (Card &&heroCard, Card &&powerCard)
 

Public Attributes

PlayState playState = PlayState::INVALID
 
Mulligan mulliganState = Mulligan::INVALID
 
std::optional< Choicechoice = std::nullopt
 
std::size_t currentMana = 0
 
std::size_t maximumMana = 0
 

Static Public Attributes

static constexpr std::size_t USER_INVALID = 255
 

Detailed Description

Player class.

This class stores various information that used in Hearthstone game. NOTE: This information should be used differently from the existing card information because there are various effects on the card.

Constructor & Destructor Documentation

◆ Player() [1/3]

RosettaStone::Player::Player ( )

Default constructor.

◆ ~Player()

RosettaStone::Player::~Player ( )

Destructor.

◆ Player() [2/3]

RosettaStone::Player::Player ( const Player p)
delete

Copy constructor.

◆ Player() [3/3]

RosettaStone::Player::Player ( Player &&  p)
delete

Move constructor.

Member Function Documentation

◆ AddHeroAndPower()

void RosettaStone::Player::AddHeroAndPower ( Card &&  heroCard,
Card &&  powerCard 
)

Adds hero and hero power.

Parameters
heroCardA card that represents hero.
powerCardA card that represents hero power.

◆ GetDeck()

Deck& RosettaStone::Player::GetDeck ( )

Returns player's deck.

Returns
Player's deck.

◆ GetField()

Battlefield& RosettaStone::Player::GetField ( )

Returns player's battlefield.

Returns
Player's battlefield.

◆ GetGame()

Game* RosettaStone::Player::GetGame ( ) const

Returns a pointer to game.

Returns
A pointer to game.

◆ GetGraveyard()

Graveyard& RosettaStone::Player::GetGraveyard ( )

Returns player's graveyard.

Returns
Player's graveyard.

◆ GetHand()

Hand& RosettaStone::Player::GetHand ( )

Returns player's hand.

Returns
Player's hand.

◆ GetHero()

Hero* RosettaStone::Player::GetHero ( ) const

Returns player's hero.

Returns
Player's hero.

◆ GetID()

std::size_t RosettaStone::Player::GetID ( ) const

Returns player ID.

Returns
Player ID.

◆ GetNickname()

std::string RosettaStone::Player::GetNickname ( ) const

Returns player nickname.

Returns
player nickname.

◆ GetOpponent()

Player& RosettaStone::Player::GetOpponent ( ) const

Returns the opponent player.

Returns
The opponent player.

◆ GetPlayerType()

PlayerType RosettaStone::Player::GetPlayerType ( ) const

Returns player type.

Returns
Player type.

◆ GetPolicy()

IPolicy& RosettaStone::Player::GetPolicy ( ) const

Returns game playing policy of current player.

Returns
The policy of current player.

◆ operator=() [1/2]

Player& RosettaStone::Player::operator= ( const Player p)
delete

Copy assignment operator.

◆ operator=() [2/2]

Player& RosettaStone::Player::operator= ( Player &&  p)
delete

Move assignment operator.

◆ SetGame()

void RosettaStone::Player::SetGame ( Game game)

Sets a pointer to game.

Parameters
gameA pointer to game.

◆ SetID()

void RosettaStone::Player::SetID ( std::size_t  id)

Sets player ID.

Parameters
idPlayer ID.

◆ SetNickname()

void RosettaStone::Player::SetNickname ( std::string  nickname)

Sets player nickname.

Parameters
nicknameplayer nickname.

◆ SetOpponent()

void RosettaStone::Player::SetOpponent ( Player player)

Sets the opponent player.

Parameters
playerThe opponent player.

◆ SetPlayerType()

void RosettaStone::Player::SetPlayerType ( PlayerType  type)

Sets player type.

Parameters
typePlayer type.

◆ SetPolicy()

void RosettaStone::Player::SetPolicy ( IPolicy policy)

Sets game playing policy for current player.

Parameters
policyPolicy for playing game.

Member Data Documentation

◆ choice

std::optional<Choice> RosettaStone::Player::choice = std::nullopt

◆ currentMana

std::size_t RosettaStone::Player::currentMana = 0

◆ maximumMana

std::size_t RosettaStone::Player::maximumMana = 0

◆ mulliganState

Mulligan RosettaStone::Player::mulliganState = Mulligan::INVALID

◆ playState

PlayState RosettaStone::Player::playState = PlayState::INVALID

◆ USER_INVALID

constexpr std::size_t RosettaStone::Player::USER_INVALID = 255
static

The documentation for this class was generated from the following file: