# Package edu.wisc.game.sql

# Persistent data structures

Classes for persistent data structures.

- Class Summary
  Class | Description
  --- | ---
  Board |
  Board.Pos | Can be used to describe the position of a piece on the [1:N]x[1:N] grid, or that of a bucket (at (0,0), ...
  Episode | An Episode is a single instance of a Game played by a person or machine with our game server.
  Episode.CODE | Return codes for the /move and /display API web API calls, and for the MOVE command in the captive game server.
  Episode.FINISH_CODE |
  Episode.Move | A Move instance describes an [attempted] act of picking a piece and dropping it into a bucket.
  Episode.Pick | A Pick instance describes the act of picking a piece, without specifying its destination
  EpisodeInfo | An EpisodeInfo instance extends an Episode, containing additional information related to it being played as part of an experiment.
  Game |
  GameGenerator | This class generates random games (with the same rule set and randomly created initial boards) based on the provided parameter range specifications
  ImageObject | Describes an image-and-properties-based object
  Main |
  Piece | Represents a piece of a specified type at a specified location.
  Piece.Color |
  Piece.PseudoEnum | A flexible replacement for an Enum
  Piece.Shape |
  PlayerInfo | Information about a player (what trial list he's in, what episodes he's done etc) stored in the SQL database.
  PredefinedBoardGameGenerator | This class generates games based on a set of predefined initial boards
  PropertiesTable | This is an auxiliary class, used to read the entire content of a properties file, and to create ImageObject objects for all image files in the directory.
  RandomGameGenerator | This class generates random games (with the same rule set and randomly created initial boards) based on the provided parameter range specifications
  RandomImageGameGenerator | This class generates random games (with the same rule set and randomly created initial boards) using image-and-property based game pieces based on the provided parameter range specifications
  Role | A role is simply a database-storable wrapper around the role name
  Test | Used for testing JPA persistence features
  TestChild | An EpisodeInfo instance extends an Episode, containing additional information related to it being played as part of an experiment.
  TestParent |
  TrivialGameGenerator | Just keeps returning the same game every time

- Enum Summary
  Enum | Description
  --- | ---
  Episode.OutputMode |
  PlayerInfo.Action | What type of action takes the player to a particular destination?
  PlayerInfo.Transition | Where can we go from here?
  Role.Name |