Class SimpleGameStateEncoding

java.lang.Object
net.royalur.lut.SimpleGameStateEncoding
All Implemented Interfaces:
GameStateEncoding
Direct Known Subclasses:
FinkelGameStateEncoding

public class SimpleGameStateEncoding extends Object implements GameStateEncoding
Encoding for simple rule-sets.
  • Field Details

    • settings

      protected final GameSettings settings
    • flags

      protected final FastSimpleFlags flags
    • warTileCompressionTileCount

      protected final int warTileCompressionTileCount
    • warTileSegmentCount

      protected final int warTileSegmentCount
    • warTileCompression

      protected final int[] warTileCompression
    • warTileSegmentBits

      protected final int warTileSegmentBits
    • safeTileBitsPerPlayer

      protected final int safeTileBitsPerPlayer
    • boardBits

      protected final int boardBits
    • warBoardIndices

      protected final int[] warBoardIndices
    • lightSafeBoardIndices

      protected final int[] lightSafeBoardIndices
    • darkSafeBoardIndices

      protected final int[] darkSafeBoardIndices
  • Constructor Details

    • SimpleGameStateEncoding

      public SimpleGameStateEncoding(GameSettings settings)
  • Method Details

    • encodeGameState

      public long encodeGameState(FastSimpleGame game)
      Description copied from interface: GameStateEncoding
      Encode the given game state to a binary key.
      Specified by:
      encodeGameState in interface GameStateEncoding
      Parameters:
      game - The game to encode.
      Returns:
      The game state encoded as a binary key.