The utility module provides various utility functions throughout the application. The various functions are divided into several packages.
package utility.extensions
This package contains useful static functions for operations on built-in java types / classes / enums
package utility.game.board
Functions and representations for a game board. The classes are generic, so that the game board can be adapted for specific use cases.
package utility.game.player
Static and dynamic representations of players to use them as an exchange format or to perform operations on them.
package utility.game.step
Representation of a single round of the game as GameStep
package utility.geometry
Objects which are related to geometry.
package utility.logging
Manages console output and the LOG file writing. The GameLogger
is responsible for outputting game-related information and the ApplicationLogger
is responsible for application-related output. The output displayed on the console depends on the logging level specified via the command line parameters.