All Classes and Interfaces

Class
Description
Action interface.
Annotation to define the type of action lifetime.
Defines if the action can be played multiple times per turn.
This class is used to manage the actions of a bot.
This class represents the result of an action.
Types of actions that can be performed.
 
Action to draw an improvement from the inventory.
Action to apply an improvement from the inventory.
BambooLayer class.
 
Board class.
 
The Bot interface will allow the class implementing it to interact with the game and play.
 
This class is used to manage one bot.
This class is used to store the state of a bot.
This class stores extended statistics for each BotManager
Action to choose a weather and apply it.
Action to choose whether to apply the weather or not
Weather that makes the player draw an improvement from the deck.
 
Console user interface
 
Build a solid color Curve pattern
 
Build a solid color Diamond pattern
Dice with N sides, by default it has 6.
The enum Direction represents the 6 directions in a 2D hexagonal grid.
Action to draw an improvement from the deck.
 
This class is used to draw an objective card.
Action to draw a Tile from the deck.
This record represents an irrigation channel Position
This class represents the emperor objective.
The EndGameState enum is used to represent the different states of the game as when it ends.
 
 
 
The game engine is responsible for the gameplay throughout the game.
 
 
The GameState enum is used to represent the different states of the game as it progresses.
Gardener class.
 
 
Action that grows bamboo at a given position.
Class that stores the history of a game.
Class that analyses the history of a game.
 
 
 
The deck containing all the improvement chips you can place on the tiles.
 
Inventory contains elements stored by player
InventoryBambooStack represents the bamboos collected by the player
InventoryImprovements contains the improvements picked by the player after getting Cloudy weather InventoryImprovements is an attribute in Inventory
This record represents an irrigation channel Position
IrrigationDeck represents the irrigation deck, defaults to 20 irrigation.
 
 
 
 
Build a solid color Line pattern
 
Build a mixed color Diamond pattern
Action to move a gardener.
This class represents the action of moving the panda.
Objective is to complete a certain number of single gardener objectives.
 
 
The deck containing all the different objectives.
This class is used to manage the objectives of the bot.
 
 
Panda class.
The Panda objective.
 
Class representing a pattern.
This class is a factory for the creation of patterns.
 
Action to place an irrigation channel on the board.
 
This class represents the action of placing a tile on the board.
This class represents the action of placing a tile on the board with an improvement from the inventory.
Class Pond represents a pond in the game.
 
 
Weather that makes the player choose a weather from the deck.
A fine rain nourishes the young bamboo shoots.
This class is an action to redeem an objective.
 
This class is used to store the number of win for each bot.
Class representing a Shape.
This class represents an extended list of statistics for a specific BotManager
Class SingleGardenerObjective represents a single gardener objective.
 
 
 
This bot will draw improvement if there is less than the number of improvement in the inventory.
 
 
 
 
 
 
 
Action to store an improvement in the inventory.
 
The sky rumbles and lightning strikes, frightening the panda.
Weather that adds a new action to the bot.
Class Tile represents a tile in the game.
 
The deck containing all the improvement chips you can place on the tiles.
The TileLayer class is used to manage the tiles on the board.
Type of the Tile.
Build a solid color Line pattern
 
User interface
The Vector class represents a vector in a 2D hexagonal grid.
Interface for the weather.
Implementation of the WeatherDice of the game, it has 6 sides and each side is a weather.
Weather modifier for the game, each element has it's ows effect on the game.
 
Weather that allows the player to play the same action twice.