public void _testBackward(GMDGoManual manual) { GoBoard goBoard = new GoBoard(); int row = 0; int column = 0; byte[] original = manual.getMoves(); for (int i = 0; i < original.length; i += 2) { row = original[i]; column = original[i + 1]; if (log.isDebugEnabled()) { log.debug("shoushu=" + (i + 3) / 2); log.debug("a=" + row); log.debug("b=" + column); } goBoard.oneStepForward(row, column); } for (int i = 0; i < original.length; i += 2) { column = original[(original.length - 1) - i]; row = original[(original.length - 1) - (i + 1)]; if (log.isDebugEnabled()) { log.debug("shoushu=" + (manual.getShouShu() - i / 2)); log.debug("a=" + row); log.debug("b=" + column); } goBoard.oneStepBackward(); } if (log.isInfoEnabled()) { log.info(goBoard.getBlock(1, 1)); Set<Point> originalB = goBoard.getBlankBlock(1, 1).getPoints(); for (row = 1; row <= Constant.BOARD_SIZE; row++) { for (column = 1; column <= Constant.BOARD_SIZE; column++) { Point point = Point.getPoint(Constant.BOARD_SIZE, row, column); if (originalB.contains(point) == false) log.debug(point); } } } }