# Package edu.wisc.game.engine

# Top-level Game Server code

This package contains top-level game-server code, which deals with managing rule sets and running the captive game server.

For more details, see Captive Game Server

.

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

- Class Summary
  Class | Description
  --- | ---
  AllRuleSets | Stores rule sets, and allows lookup by name.
  AutomaticRuleGenerator | An AutomaticRuleGenerator is used to create multiple rule set files based on the same pattern.
  BoardConditionsChecker | For the training/testing restrictions on boards, as introduced in GS 6.010.
  Captive | The main class for the Captive Game Server
  ConvertRules | This class is used for a one-off project: converting the list of rules found in Kevin's GUI (stored in a JSON file there) to text files describing rules in a similar, but slightly different, format used by our server.
  EligibilityForOrders | At present, pieces in which cells are eligible for picking under each of the existing orders? (For example, which pieces are presently in the topmost occupied row? Which piece is the first in the English reading order?) This structure needs to be updated every time a piece is removed from the board.
  GameSocketServer | The socket implementation of a captive game server.
  Order | An Order object describe a built-in or custom ordering of board cells (positions)
  PositionList | Represents the restrictions on the positions from which game pieces can be picked.
  PostOrder |
  RuleSet | A RuleSet describes the rules of a game.
  RuleSet.Atom | Syntax:(counter,shape,color,position,bucketFunctions)
  RuleSet.BucketList | A BucketList represents the information about the destination buckets given in the "buckets" field of an atom.
  RuleSet.Row | A row object represents the content of one line of the rule set description file, i.e.
  StalemateTester | Tools for testing a rule set for a possibility of a stalemate.

- Enum Summary
  Enum | Description
  --- | ---
  Order.PositionSelector | Names of built-in (predefined) orders
  RuleSet.BucketSelector | The list of "legacy" variables that can be used in the bucket expression.

- Exception Summary
  Exception | Description
  --- | ---
  GamePlayException |