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 turnsUsed when player want to drop a
Mine
, Mine only explode when someone walks on itAn 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
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 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)
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 hereA wall is an intraversable object