ProjectLCore.GameLogic Namespace

 

Classes

GameCore Contains all the information about a game of Project L.
GameState Represents the current state of the shared resources in the game.
  • The row of available white puzzles.
  • The row of available black puzzles.
  • The tetrominos left in the shared reserve.
  • The decks of white and black puzzles.
GameStateGameInfo Provides information about about the game while preventing modification of the original data.
GameStateBuilder Builder for the GameState class.
InvalidPuzzleException Represents an error that occurred while parsing a puzzle.
PlayerState Represents the resources and progress of a single Player.
  • His current score.
  • Tetrominos he has.
  • Puzzles he is working on.
  • Puzzles he has completed.
PlayerStatePlayerInfo Provides information about about a PlayerState while preventing modification of the original data.
PuzzleParserT Reads puzzles from a file. Each puzzle is encoded in the following way:
  • I (identifier) B/W (black/white) puzzleNumber
  • R (reward) scoretetromino (O1/O2/I2/I3/I4/L2/L3/Z/T)
  • five rows starting with P encoding the puzzle; # = filled cell, . = empty cell
The puzzle color and puzzle number together uniquely identify the file in which the puzzle image is stored.

Structures

TurnInfo Represents the information about the current turn.

Interfaces

ICurrentPlayerListener Interface for classes that want to be notified when the current player changes.
ICurrentTurnListener Interface for classes that want to be notified when the next turn starts.
IGameStatePuzzleAsyncListener Interface for classes that want to be notified asynchronously when a puzzle is refilled in the game state.
IGameStatePuzzleListener Interface for classes that want to be notified about puzzle changes in a GameState.
IPlayerStatePuzzleFinishedAsyncListener Interface for classes that want to be notified when a puzzle is finished by a player. Upon finishing a puzzle, the OnPuzzleFinishedAsync(FinishedPuzzleInfo, CancellationToken) method is ed.
IPlayerStatePuzzleListener Interface for classes that want to be notified about changes in a PlayerState.
ITetrominoCollectionListener Interface for classes that want to be notified about tetromino changes in a GameState.
ITetrominoCollectionNotifier Interface for notifying listeners about changes in the tetromino collection.

Enumerations

GamePhase Represents the current phase of the game