penguins  1.0.0
Data Structures
Here are the data structures with brief descriptions:
[detail level 12]
 CArguments
 CBaseGamePanel
 CBetterRngAn implementation of Rng for C++ using the standard functions from <random>
 CBotFloodFillCtxSee bot_flood_fill_count_fish
 CBotMoveA penguin -> target pair
 CBotMovementController
 CBotMovementThread
 CBotParametersVarious parameters for the bot algorithm
 CBotPlacementController
 CBotPlacementThread
 CBotStateContains temporary data created during the evaluation of bot's moves
 CBotThread
 CBotThreadShared
 CBotTurnController
 CCanvasPanelResponsible for drawing the board and painting the UI overlays
 CCoordsA pair of 2D coordinates, used for addressing the Game::board_grid
 CFillSpanUsed internally by flood_fill
 CGameThe central struct of the application, holds the game data and settings
 CGameController
 CGameEndDialog
 CGameEndDialogGrid
 CGameEndedController
 CGameFrame
 CGameLogEntryAn entry in the Game::log_buffer, implemented as a tagged union
 CGameLogEntryData
 CGameLogListBoxEntry
 CGameLogMovementA GameLogEntry created by move_penguin
 CGameLogPhaseChangeA GameLogEntry created by game_set_phase
 CGameLogPlacementA GameLogEntry created by place_penguin
 CGameLogPlayerChangeA GameLogEntry created by game_set_current_player
 CGamePanel
 CGameStartPanel
 CLogEntryViewerController
 CNewGameDialog
 CPersistence
 CPlayerRowWidgets
 CPenguinsApp
 CPlayerHolds the data of the players of the Game
 CPlayerInfoBox
 CPlayerMovementController
 CPlayerPenguinWindow
 CPlayerPlacementController
 CPlayerTurnController
 CPossibleStepsExists purely to wrap an array of the numbers of steps in every possible Direction
 CRngA wrapper around random number generators
 CSimpleStaticBoxA wxStaticBox with just the border and no label
 CTilesetHelper