All Classes and Interfaces

Class
Description
 
AbstractBox is instantiable (not an abstract class), but when it's the case, instance doesn't represent anything, it's only to see if there is a lock on this position or not
 
 
 
 
Bomb are elements which explode when someone walks on it or after a countdown, the explosion area is on multiple cases
 
ClassPlayer contains all data about the cost of an action or the cost of a damage
Super class of all Computer players
A box implemented by CountdownBox is a box which do an action a certain time after being placed
Represent an unrecoverable error in the program, force program to stop
Used when a player want to protect himself from taking damage (shield state is reset to false at next player turn)
 
Enum used to chose where to move, shot, etc.
 
Used when player want to drop a Bomb, bomb explode when someone walks on it and after 3 turns
Used when player want to drop a Mine, Mine only explode when someone walks on it
Super class used by DropMine and DropBomb
An EnergyBall is a box which give back a bit of player energy after it walks on the ball
Contain everything related to error messages, theirs errors are the fault of the end-user (like we demand an integer and user give us a floating point number Theirs error doesn't cause the program to stop, it'll demand a correct value
Super class of Bomb and Mine
 
 
Class managing the board
Factory pattern
Instance of Human Player.
A human player choose an action to execute by using mouse or keyboard.
Human Player don't implement choseAction cause this method is executed on client part
A box implemented by InteractiveBox is a box which do an action when someone walks on it
 
 
A mine is an element which explose when someone walks on it, the explosion area is on 1 case only
Model implemented by AbstractModelListening
Used when the player want to move in a direction, it can move in a direction when there is another player or a wall
This exception is throw when player has no remaining bullet
This action is used when player doesn't want to move and/or loose energy
throw when action instantiated and the chosen direction in constructor isn't valid
Tuple associating storing two value of undefined type.
Unlike Python, value in this Tuple can be modified (but the type of its new value need to be the same)
 
Point extends from Pair, basically a simpler ways to use Pair when using grid position
 
When we generate action, we generate one per available direction (like in Move) but to improve human readability, we list every same Action here
 
 
 
A wall is an intraversable object