C++ Joueur Client
 All Classes Namespaces Functions Variables
cpp_client::anarchy::Player Class Reference

A player in this game. Every AI controls one player. More...

#include <player.hpp>

Inheritance diagram for cpp_client::anarchy::Player:
cpp_client::anarchy::Game_object cpp_client::Base_object

Public Member Functions

void log (const std::string &message)
 adds a message to this _game_object's logs. _intended for your own debugging purposes, as strings stored here are saved in the gamelog. More...
 
template<typename T >
std::shared_ptr< typename
T::element_type > 
as ()
 Dynamically casts this object to another type. Returns nullptr if it cannot be converted to the type. More...
 
template<typename T >
bool is ()
 Determines if this object is of the specified object type More...
 

Public Attributes

const int & bribes_remaining
 How many bribes this player has remaining to use during their turn. Each action a Building does costs 1 bribe. Any unused bribes are lost at the end of the player's turn. More...
 
const std::vector< Building > & buildings
 All the buildings owned by this player. More...
 
const std::string & client_type
 What type of client this is, e.g. 'Python', 'JavaScript', or some other language. For potential data mining purposes. More...
 
const std::vector
< Fire_department > & 
fire_departments
 All the FireDepartments owned by this player. More...
 
const Warehouseheadquarters
 The Warehouse that serves as this player's headquarters and has extra health. If this gets destroyed they lose. More...
 
const bool & lost
 If the player lost the game or not. More...
 
const std::string & name
 The name of the player. More...
 
const Playeropponent
 This player's opponent in the game. More...
 
const std::vector
< Police_department > & 
police_departments
 All the PoliceDepartments owned by this player. More...
 
const std::string & reason_lost
 The reason why the player lost the game. More...
 
const std::string & reason_won
 The reason why the player won the game. More...
 
const double & time_remaining
 The amount of time (in ns) remaining for this AI to send commands. More...
 
const std::vector< Warehouse > & warehouses
 All the warehouses owned by this player. Includes the Headquarters. More...
 
const std::vector
< Weather_station > & 
weather_stations
 All the WeatherStations owned by this player. More...
 
const bool & won
 If the player won the game or not. More...
 
const std::string & game_object_name
 String representing the top level Class that this game object is an instance of. Used for reflection to create new instances on clients, but exposed for convenience should AIs want this data. More...
 
const std::string & id
 A unique id for each instance of a GameObject or a sub class. Used for client and server communication. Should never change value after being set. More...
 
const std::vector< std::string > & logs
 Any strings logged will be stored here. Intended for debugging. More...
 

Detailed Description

A player in this game. Every AI controls one player.

Member Function Documentation

template<typename T >
std::shared_ptr<typename T::element_type> cpp_client::Base_object::as ( )
inlineinherited

Dynamically casts this object to another type. Returns nullptr if it cannot be converted to the type.

Returns
A pointer to the desired type, or nullptr if it could not be converted
template<typename T >
bool cpp_client::Base_object::is ( )
inlineinherited

Determines if this object is of the specified object type

Returns
true if the object is the object type, false otherwise
void cpp_client::anarchy::Game_object::log ( const std::string &  message)
inherited

adds a message to this _game_object's logs. _intended for your own debugging purposes, as strings stored here are saved in the gamelog.

Parameters
messageA string to add to this GameObject's log. Intended for debugging.

Member Data Documentation

const int& cpp_client::anarchy::Player::bribes_remaining

How many bribes this player has remaining to use during their turn. Each action a Building does costs 1 bribe. Any unused bribes are lost at the end of the player's turn.

const std::vector<Building>& cpp_client::anarchy::Player::buildings

All the buildings owned by this player.

const std::string& cpp_client::anarchy::Player::client_type

What type of client this is, e.g. 'Python', 'JavaScript', or some other language. For potential data mining purposes.

const std::vector<Fire_department>& cpp_client::anarchy::Player::fire_departments

All the FireDepartments owned by this player.

const std::string& cpp_client::anarchy::Game_object::game_object_name
inherited

String representing the top level Class that this game object is an instance of. Used for reflection to create new instances on clients, but exposed for convenience should AIs want this data.

const Warehouse& cpp_client::anarchy::Player::headquarters

The Warehouse that serves as this player's headquarters and has extra health. If this gets destroyed they lose.

const std::string& cpp_client::anarchy::Game_object::id
inherited

A unique id for each instance of a GameObject or a sub class. Used for client and server communication. Should never change value after being set.

const std::vector<std::string>& cpp_client::anarchy::Game_object::logs
inherited

Any strings logged will be stored here. Intended for debugging.

const bool& cpp_client::anarchy::Player::lost

If the player lost the game or not.

const std::string& cpp_client::anarchy::Player::name

The name of the player.

const Player& cpp_client::anarchy::Player::opponent

This player's opponent in the game.

const std::vector<Police_department>& cpp_client::anarchy::Player::police_departments

All the PoliceDepartments owned by this player.

const std::string& cpp_client::anarchy::Player::reason_lost

The reason why the player lost the game.

const std::string& cpp_client::anarchy::Player::reason_won

The reason why the player won the game.

const double& cpp_client::anarchy::Player::time_remaining

The amount of time (in ns) remaining for this AI to send commands.

const std::vector<Warehouse>& cpp_client::anarchy::Player::warehouses

All the warehouses owned by this player. Includes the Headquarters.

const std::vector<Weather_station>& cpp_client::anarchy::Player::weather_stations

All the WeatherStations owned by this player.

const bool& cpp_client::anarchy::Player::won

If the player won the game or not.


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