C++ Joueur Client
 All Classes Namespaces Functions Variables
cpp_client::newtonian::Game Class Reference

Combine elements and be the first scientists to create fusion. More...

#include <game.hpp>

Inheritance diagram for cpp_client::newtonian::Game:

Public Member Functions

Tile get_tile_at (const int x, const int y)
 Gets the Tile at a specified (x, y) position More...
 

Public Attributes

const Playercurrent_player
 The player whose turn it is currently. That player can send commands. Other players cannot. More...
 
const int & current_turn
 The current turn number, starting at 0 for the first player's turn. More...
 
const std::unordered_map
< std::string, Game_object > & 
game_objects
 A mapping of every game object's ID to the actual game object. Primarily used by the server and client to easily refer to the game objects via ID. More...
 
const int & intern_cap
 The maximum number of interns a player can have. More...
 
const std::vector< Job > & jobs
 A list of all jobs. The first element is intern, second is physicists, and third is manager. More...
 
const std::vector< Machine > & machines
 Every Machine in the game. More...
 
const int & manager_cap
 The maximum number of managers a player can have. More...
 
const int & map_height
 The number of Tiles in the map along the y (vertical) axis. More...
 
const int & map_width
 The number of Tiles in the map along the x (horizontal) axis. More...
 
const int & material_spawn
 The number of materials that spawn per spawn cycle. More...
 
const int & max_turns
 The maximum number of turns before the game will automatically end. More...
 
const int & physicist_cap
 The maximum number of physicists a player can have. More...
 
const std::vector< Player > & players
 List of all the players in the game. More...
 
const int & refined_value
 The amount of victory points added when a refined ore is consumed by the generator. More...
 
const double & regenerate_rate
 The percent of max HP regained when a unit end their turn on a tile owned by their player. More...
 
const std::string & session
 A unique identifier for the game instance that is being played. More...
 
const int & spawn_time
 The amount of turns it takes a unit to spawn. More...
 
const int & stun_time
 The amount of turns a unit cannot do anything when stunned. More...
 
const std::vector< Tile > & tiles
 All the tiles in the map, stored in Row-major order. Use x + y * mapWidth to access the correct index. More...
 
const int & time_added_per_turn
 The amount of time (in nano-seconds) added after each player performs a turn. More...
 
const int & time_immune
 The number turns a unit is immune to being stunned. More...
 
const std::vector< Unit > & units
 Every Unit in the game. More...
 
const int & victory_amount
 The amount of combined heat and pressure that you need to win. More...
 

Detailed Description

Combine elements and be the first scientists to create fusion.

Member Function Documentation

Tile cpp_client::newtonian::Game::get_tile_at ( const int  x,
const int  y 
)

Gets the Tile at a specified (x, y) position

Parameters
xinteger between 0 and the mapWidth
yinteger between 0 and the mapHeight
Returns
the Tile at (x, y) or null if out of bounds

Member Data Documentation

const Player& cpp_client::newtonian::Game::current_player

The player whose turn it is currently. That player can send commands. Other players cannot.

const int& cpp_client::newtonian::Game::current_turn

The current turn number, starting at 0 for the first player's turn.

const std::unordered_map<std::string, Game_object>& cpp_client::newtonian::Game::game_objects

A mapping of every game object's ID to the actual game object. Primarily used by the server and client to easily refer to the game objects via ID.

const int& cpp_client::newtonian::Game::intern_cap

The maximum number of interns a player can have.

const std::vector<Job>& cpp_client::newtonian::Game::jobs

A list of all jobs. The first element is intern, second is physicists, and third is manager.

const std::vector<Machine>& cpp_client::newtonian::Game::machines

Every Machine in the game.

const int& cpp_client::newtonian::Game::manager_cap

The maximum number of managers a player can have.

const int& cpp_client::newtonian::Game::map_height

The number of Tiles in the map along the y (vertical) axis.

const int& cpp_client::newtonian::Game::map_width

The number of Tiles in the map along the x (horizontal) axis.

const int& cpp_client::newtonian::Game::material_spawn

The number of materials that spawn per spawn cycle.

const int& cpp_client::newtonian::Game::max_turns

The maximum number of turns before the game will automatically end.

const int& cpp_client::newtonian::Game::physicist_cap

The maximum number of physicists a player can have.

const std::vector<Player>& cpp_client::newtonian::Game::players

List of all the players in the game.

const int& cpp_client::newtonian::Game::refined_value

The amount of victory points added when a refined ore is consumed by the generator.

const double& cpp_client::newtonian::Game::regenerate_rate

The percent of max HP regained when a unit end their turn on a tile owned by their player.

const std::string& cpp_client::newtonian::Game::session

A unique identifier for the game instance that is being played.

const int& cpp_client::newtonian::Game::spawn_time

The amount of turns it takes a unit to spawn.

const int& cpp_client::newtonian::Game::stun_time

The amount of turns a unit cannot do anything when stunned.

const std::vector<Tile>& cpp_client::newtonian::Game::tiles

All the tiles in the map, stored in Row-major order. Use x + y * mapWidth to access the correct index.

const int& cpp_client::newtonian::Game::time_added_per_turn

The amount of time (in nano-seconds) added after each player performs a turn.

const int& cpp_client::newtonian::Game::time_immune

The number turns a unit is immune to being stunned.

const std::vector<Unit>& cpp_client::newtonian::Game::units

Every Unit in the game.

const int& cpp_client::newtonian::Game::victory_amount

The amount of combined heat and pressure that you need to win.


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