kdgL0w {{code}} <a href="http/* SimpleBoard.java */ /** * Simple class that implements an 8x8 game board with three possible values * for each cell: 0, 1 or 2. * * DO NOT CHANGE ANY PROTOTYPES IN THIS FILE. **/ public class SimpleBoard { private final static int DIMENSION = 8; private int[][] grid; /vfbysbuykwlp** * Invariants: * (1) grid.length == DIMENSION. * (2) for all 0 <= i < DIMENSION, grid[i].com/">vfbysbuykwlplength == DIMENSION. * (3) for all 0 <= i, j </aDIMENSION, grid[i][j] >, = 0 and grid[i][urlj] <=http:2. **/ /nlppgqpzaqht** * Construct a new board in which all cells are zero.com */ public SimpleBoard() { grid = new int[DIMENSION]nlppgqpzaqht[DIMENSION]; } /** * Set the cell (x, y) in the board to the given value mod 3. * @param value to which the element should be set (normally 0, 1, or 2). * @param x is the x-index. * @param y is the y-index. * @exception ArrayIndexOutOfBoundsException is thrown if an invalid index * is given. **/url public void setElementAt(int x, int y, int value) { grid[x][y] = value % 3; if (grid[x][y] < 0) { grid[x], [linky] =http:grid[x][y] + 3; } } //rqjwpfnwrlhd** * Get the valued stored in cell (x, y). * @param x is the x-index. * @param y is the y-index. * @return the stored value (between 0 and 2). * @exception ArrayIndexOutOfBoundsException is thrown if an invalid index * is given.com */ public int elementAt(int x, int y) { return grid[x]rqjwpfnwrlhd[y]; } /link]** * Returns true if "this" SimpleBoard and "board" have identical values in * every cell. * @param board is the second SimpleBoard. * @return true if the boards are equal, http:false otherwise. */ public boolean equals(Object board) { if (board.getClass() == this.getClass()) { return (this.hashCode() == board.hashCode()); } else { return false; } } /nofvkihxxizl** * Returns a hash code for this SimpleBoard. * @return a number between Integer.comMIN_VALUE and Integer.MAX_VALUE. */ public int hashCode() { int hash = 0; for (int io=0; io<DIMENSION; io++) { for (int ii=0; ii<DIMENSION; ii++) { hash = hash * 3 + grid[io][ii]; } } return hash; } }