@Override
public void actionPerformed(ActionEvent ae) {
for (int i = 0; i < 9; i++) {
if (ae.getSource() == squareButtons[i]) {
EightPuzzleController contr = (EightPuzzleController) getController();
XYLocation locGap = ((EightPuzzleEnvironment) env)
.getBoard().getLocationOf(0);
if (locGap.getXCoOrdinate() == i / 3) {
if (locGap.getYCoOrdinate() == i % 3 - 1)
contr.executeUserAction(EightPuzzleBoard.RIGHT);
else if (locGap.getYCoOrdinate() == i % 3 + 1)
contr.executeUserAction(EightPuzzleBoard.LEFT);
} else if (locGap.getYCoOrdinate() == i % 3) {
if (locGap.getXCoOrdinate() == i / 3 - 1)
contr.executeUserAction(EightPuzzleBoard.DOWN);
else if (locGap.getXCoOrdinate() == i / 3 + 1)
contr.executeUserAction(EightPuzzleBoard.UP);
}
}
}
}