YoungGun

class games.saloon.young_gun.YoungGun

Bases: games.saloon.game_object.GameObject

The class representing the YoungGun in the Saloon game.

An eager young person that wants to join your gang, and will call in the veteran Cowboys you need to win the brawl in the saloon.

call_in(job: str) → Optional[games.saloon.cowboy.Cowboy]

Tells the YoungGun to call in a new Cowboy of the given job to the open Tile nearest to them.

Parameters

job ('Bartender', 'Brawler', or 'Sharpshooter') – The job you want the Cowboy being brought to have.

Returns

The new Cowboy that was called in if valid. They will not be added to any cowboys lists until the turn ends. None otherwise.

Return type

games.saloon.cowboy.Cowboy or None

property call_in_tile

The Tile that a Cowboy will be called in on if this YoungGun calls in a Cowboy.

Type

games.saloon.tile.Tile

property can_call_in

True if the YoungGun can call in a Cowboy, False otherwise.

Type

bool

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

Type

str

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

Type

str

log(message: str) → None

Adds a message to this GameObject’s logs. Intended for your own debugging purposes, as strings stored here are saved in the gamelog.

Parameters

message (str) – A string to add to this GameObject’s log. Intended for debugging.

property logs

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

Type

list[str]

property owner

The Player that owns and can control this YoungGun.

Type

games.saloon.player.Player

property tile

The Tile this YoungGun is currently on.

Type

games.saloon.tile.Tile