Class Board

java.lang.Object
edu.wisc.game.sql.Board

@Entity
public class Board
extends Object
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  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), ...
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static Board.Pos[] buckets
    The positions of the 4 buckets
    static int N  
  • Constructor Summary

    Constructors 
    Constructor Description
    Board()
    Creates an empty board
    Board​(Piece[] pieces, Piece[] removedPieces, BitSet[] moveableTo)
    Creates a board object to be sent out (as JSON) to the player's client, based on the current state of the episode.
    Board​(RandomRG random, int randomCnt)
    The simple constructor, creates a random board with a given number of pieces, using the 4 legacy colors.
    Board​(RandomRG random, int randomCnt, int nShapes, int nColors, Piece.Shape[] allShapes, Piece.Color[] allColors)
    The main constructor for a random initial board in GS 2.*.
    Board​(RandomRG random, int randomCnt, ImageObject.Generator imageGenerator)
    The main constructor for a random image-and-property-based initial board in GS 3.*.
  • Method Summary

    Modifier and Type Method Description
    void addPiece​(Piece c)  
    Piece[] asBoardPieces()
    Produces an array of pieces with N*N elements, with nulls for empty cells.
    void checkShapesAndColors​(ColorMap cm)
    Checking that a board description does not include any colors or shapes that cannot be displayed
    long getId()  
    String getName()  
    Vector<Piece> getValue()  
    long persistNewBoard()
    We aren't actually using SQL server to store boards, even though we have support for this
    static Board readBoard​(File f)
    Reads a board description from a JSON file
    static Board readBoard​(Reader r)  
    static Board readBoardFromString​(String jsonText)  
    void removePiece​(Piece c)  
    void scrubDropped()
    Removes the "dropped" field from all game pieces.
    void setId​(long _id)  
    void setName​(String _name)  
    void setValue​(Vector<Piece> _value)  
    Piece[] toPieceList()
    Creates an array with N*N+1 elements, where the element in position j represents the game piece, if any, in cell No.
    static int xynum​(int x, int y)
    The position number for the point at (x,y)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • Board

      public Board()
      Creates an empty board
    • Board

      public Board​(RandomRG random, int randomCnt)
      The simple constructor, creates a random board with a given number of pieces, using the 4 legacy colors.
    • Board

      public Board​(RandomRG random, int randomCnt, int nShapes, int nColors, Piece.Shape[] allShapes, Piece.Color[] allColors)
      The main constructor for a random initial board in GS 2.*.
      Parameters:
      random - The random number generator to use
      randomCnt - required number of pieces.
      nShapes - required number of shapes. If 0 is passed, there is no restriction (independent decision is made for each piece)
      nColors - required number of colors. If 0 is passed, there is no restriction (independent decision is made for each piece)
      allShapes - the set from which shapes are drawn
      allColors - the set from which colors are drawn
    • Board

      public Board​(RandomRG random, int randomCnt, ImageObject.Generator imageGenerator)
      The main constructor for a random image-and-property-based initial board in GS 3.*.
      Parameters:
      randomCnt - required number of pieces.
      allImages - the set from which images are drawn
    • Board

      public Board​(Piece[] pieces, Piece[] removedPieces, BitSet[] moveableTo)
      Creates a board object to be sent out (as JSON) to the player's client, based on the current state of the episode.
      Parameters:
      pieces - The pieces still on the board. (An array of N^2 elements, with nulls)
      removedPieces - If not null, these pieces will also be included into the generated Board object, with the flag dropped=true. This is what the GUI client wants.
      moveableTo - Specifies to which buckets each piece can be moved to.
  • Method Details