# Package edu.wisc.game.sql

# Persistent data structures

Classes for persistent data structures.

Software Copyright University Wisconsin-Madison, under Apache License, Version 2.0

- 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), ...
  CreateRoles | A very simple, stand-alone program that creates necessary Role entities in the roles table, and at least one User entity.
  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 | Values that may be returned by getFinishCode(), describing the episode's status
  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.
  EpisodeMemory | Auxiliary data structures for the Episode class, keeping track of "memory variables".
  Game | A Game object defines how an Episode may be created.
  GameGenerator | A GameGenerator generates random games (with the same rule set and randomly created initial boards) based on the provided parameter range specifications
  GameGenerator.Features |
  HtmlDisplay | Drawing boards in HTML.
  ImageObject | Describes an image-and-properties-based object.
  ImageObject.Generator | An image generator is an object that can be used to obtain a random IPB object.
  ImageObject.PickFromList | A Generator interface to a stored list of ImageObjects, from which they can be retrieved at random.
  Main | An object that is responsible for getting EntityManager object(s) for the application.
  MlcEntry | An MlcEntry contains the data for a (participant, ruleset, run) tuple.
  MlcLog | An auxiliary class used by the Captive Game Server for the optional logging of MLC run results.
  Pairing | Auxiliary methods for two-player games, introduced in GS 7.*.
  Pairing.State | A player's current state in the pairing system.
  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 | A PlayerInfo object represent information about a player (what trial list he's in, what episodes he's done etc) stored in the SQL database.
  PlayerInfo.COMPLETION | Completion modes
  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
  RecentKnowledge | An auxiliary data structure, used as an element of EpisodeInfo.ExtendedDisplay, used to sent to the GUI client, in a concise form, the info about the knowledge of the board acquired through the recent players' actions (those since the last board change, i.e the last successful move).
  RecentKnowledge.Datum | Which game piece do we know something about, and what do we know about it?
  ReplayedEpisode | Built on top of an Episode object, a ReplayedEpisode is created during the analysis of transcripts, in order to recreate the episode's events step by step.
  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
  User | Information about a repeat user (who may own multiple playerId) stored in the SQL database.

- Enum Summary
  Enum | Description
  --- | ---
  Episode.OutputMode |
  MlcLog.LogFormat | Supported log file formats
  PlayerInfo.Action | What type of action takes the player to a particular destination?
  PlayerInfo.Transition | Where can we go from here?
  ReplayedEpisode.RandomPlayer | The possible random player models.
  Role.Name |