import java.util.HashMap; /** * Game contains all positions of the chess board: a1 through h8, plus home * (the rest position), discard (where to drop captured pieces), and aside * (a place to set pieces temporarily). **/ class Game { static final int GRIP_OPEN = 202; static final int GRIP_CLOSE = 260; final Position fHome; final Position fDiscard; final Square fAside; private final HashMap fBoard = new HashMap(); Game() { fHome = new Position(); fDiscard = new Position(52, 123, 114, 81); fAside = new Square("aside", new Position(265, 169, 194, 61), new Position(265, 143, 194, 81)); insert(new Square("a1", new Position(), new Position())); insert(new Square("a2", new Position(), new Position())); insert(new Square("a3", new Position(), new Position())); insert(new Square("a4", new Position(), new Position())); insert(new Square("a5", new Position(), new Position())); insert(new Square("a6", new Position(), new Position())); insert(new Square("a7", new Position(), new Position())); insert(new Square("a8", new Position(), new Position())); insert(new Square("b1", new Position(), new Position())); insert(new Square("b2", new Position(), new Position())); insert(new Square("b3", new Position(), new Position())); insert(new Square("b4", new Position(), new Position())); insert(new Square("b5", new Position(), new Position())); insert(new Square("b6", new Position(), new Position())); insert(new Square("b7", new Position(), new Position())); insert(new Square("b8", new Position(), new Position())); insert(new Square("c1", new Position(), new Position())); insert(new Square("c2", new Position(), new Position())); insert(new Square("c3", new Position(), new Position())); insert(new Square("c4", new Position(), new Position())); insert(new Square("c5", new Position(), new Position())); insert(new Square("c6", new Position(), new Position())); insert(new Square("c7", new Position(), new Position())); insert(new Square("c8", new Position(), new Position())); insert(new Square("d1", new Position(), new Position())); insert(new Square("d2", new Position(), new Position())); insert(new Square("d3", new Position(), new Position())); insert(new Square("d4", new Position(), new Position())); insert(new Square("d5", new Position(), new Position())); insert(new Square("d6", new Position(), new Position())); insert(new Square("d7", new Position(), new Position())); insert(new Square("d8", new Position(), new Position())); insert(new Square("e1", new Position(151, 38, 0, 10), new Position(151, 18, 0, 19))); insert(new Square("e2", new Position(), new Position())); insert(new Square("e3", new Position(), new Position())); insert(new Square("e4", new Position(), new Position())); insert(new Square("e5", new Position(), new Position())); insert(new Square("e6", new Position(), new Position())); insert(new Square("e7", new Position(), new Position())); insert(new Square("e8", new Position(134, 193, 214, 51), new Position(134, 171, 221, 75))); insert(new Square("f1", new Position(139, 39, 0, 10), new Position(139, 16, 0, 18))); insert(new Square("f2", new Position(), new Position())); insert(new Square("f3", new Position(), new Position())); insert(new Square("f4", new Position(), new Position())); insert(new Square("f5", new Position(), new Position())); insert(new Square("f6", new Position(), new Position())); insert(new Square("f7", new Position(), new Position())); insert(new Square("f8", new Position(), new Position())); insert(new Square("g1", new Position(129, 39, 0, 10), new Position(129, 17, 0, 23))); insert(new Square("g2", new Position(), new Position())); insert(new Square("g3", new Position(), new Position())); insert(new Square("g4", new Position(), new Position())); insert(new Square("g5", new Position(), new Position())); insert(new Square("g6", new Position(), new Position())); insert(new Square("g7", new Position(), new Position())); insert(new Square("g8", new Position(), new Position())); insert(new Square("h1", new Position(119, 38, 0, 10), new Position(119, 16, 0, 29))); insert(new Square("h2", new Position(), new Position())); insert(new Square("h3", new Position(), new Position())); insert(new Square("h4", new Position(), new Position())); insert(new Square("h5", new Position(), new Position())); insert(new Square("h6", new Position(), new Position())); insert(new Square("h7", new Position(), new Position())); insert(new Square("h8", new Position( 68, 158, 174, 44), new Position( 68, 135, 184, 71))); } private void insert(Square s) { fBoard.put(s.fCoordinate, s); } Square square(String coordinate) { return (Square) fBoard.get(coordinate); } }