Game

class games.pirates.game.Game

Bases: joueur.base_game.BaseGame

The class representing the Game in the Pirates game.

Steal from merchants and become the most infamous pirate.

property bury_interest_rate

The rate buried gold increases each turn.

Type

float

property crew_cost

How much gold it costs to construct a single crew.

Type

int

property crew_damage

How much damage crew deal to each other.

Type

int

property crew_health

The maximum amount of health a crew member can have.

Type

int

property crew_moves

The number of moves Units with only crew are given each turn.

Type

int

property crew_range

A crew’s attack range. Range is circular.

Type

float

property current_player

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

Type

games.pirates.player.Player

property current_turn

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

Type

int

property 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.

Type

dict[str, games.pirates.game_object.GameObject]

get_game_object(id: str) → Optional[joueur.base_game_object.BaseGameObject]

gets the game object with the given id, or None

Returns

BaseGameObject in the game with the given id, or None if not found

get_tile_at(x: int, y: int) → Optional[games.pirates.tile.Tile]

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

Parameters
  • x (int) – An integer between 0 and the map_width.

  • y (int) – An integer between 0 and the map_height.

Returns

The Tile at (x, y) or None if out of bounds.

Return type

games.pirates.tile.Tile or None

property heal_factor

How much health a Unit recovers when they rest.

Type

float

property map_height

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

Type

int

property map_width

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

Type

int

property max_turns

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

Type

int

property merchant_gold_rate

How much gold merchant Ports get each turn.

Type

float

property merchant_interest_rate

When a merchant ship spawns, the amount of additional gold it has relative to the Port’s investment.

Type

float

property min_interest_distance

The Euclidean distance buried gold must be from the Player’s Port to accumulate interest.

Type

float

property players

List of all the players in the game.

Type

list[games.pirates.player.Player]

property ports

Every Port in the game. Merchant ports have owner set to None.

Type

list[games.pirates.port.Port]

property rest_range

How far a Unit can be from a Port to rest. Range is circular.

Type

float

property session

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

Type

str

property ship_cost

How much gold it costs to construct a ship.

Type

int

property ship_damage

How much damage ships deal to ships and ports.

Type

int

property ship_health

The maximum amount of health a ship can have.

Type

int

property ship_moves

The number of moves Units with ships are given each turn.

Type

int

property ship_range

A ship’s attack range. Range is circular.

Type

float

property tiles

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

Type

list[games.pirates.tile.Tile]

property time_added_per_turn

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

Type

int

property units

Every Unit in the game. Merchant units have targetPort set to a port.

Type

list[games.pirates.unit.Unit]