public class GameState { //Tracks the game board as a 1D array of Square objects (effectively 12 x 12) with 2 layers of sentinel squares all around. //Knows whose turn it is public GameState() { reset(); } public void reset() { } public void attemptMove(int sourceX, int sourceY, int destX, int destY) { //See if it is legal. //Change the board state accordingly. } public Moves[] getAllPossibleMoves() { } // returns something like "checkmate", "stalemate", etc. public String getFeedback() { } }