/** * Insert the possible moves picuters into the group of the possible moves * * @param Button[] b */ public void possibleMoves(Button[] b) { String[] possibleMoves = null; if (mazeDisplayer.getMazeData() != null) { possibleMoves = mazeDisplayer.possibleMoves(section); String str = ""; for (String string : possibleMoves) { str += (string + " "); } // Down / Up int h = 0; int up = 1; int down = 1; int maxSection = 0; if (section.equals("y") == true) { h = ((Position) mazeDisplayer.getCharacter()).getpY(); maxSection = maze.getYSize(); if (h + 1 < maxSection) up = maze.returnValue( ((Position) mazeDisplayer.getCharacter()).getpX(), h + 1, ((Position) mazeDisplayer.getCharacter()).getpZ()); if (h - 1 >= 0) down = maze.returnValue( ((Position) mazeDisplayer.getCharacter()).getpX(), h - 1, ((Position) mazeDisplayer.getCharacter()).getpZ()); } else if (section.equals("x") == true) { h = ((Position) mazeDisplayer.getCharacter()).getpX(); maxSection = maze.getXSize(); if (h + 1 < maxSection) up = maze.returnValue( h + 1, ((Position) mazeDisplayer.getCharacter()).getpY(), ((Position) mazeDisplayer.getCharacter()).getpZ()); if (h - 1 >= 0) down = maze.returnValue( h - 1, ((Position) mazeDisplayer.getCharacter()).getpY(), ((Position) mazeDisplayer.getCharacter()).getpZ()); } else if (section.equals("z") == true) { h = ((Position) mazeDisplayer.getCharacter()).getpZ(); maxSection = maze.getZSize(); if (h + 1 < maxSection) up = maze.returnValue( ((Position) mazeDisplayer.getCharacter()).getpX(), ((Position) mazeDisplayer.getCharacter()).getpY(), h + 1); if (h - 1 >= 0) down = maze.returnValue( ((Position) mazeDisplayer.getCharacter()).getpX(), ((Position) mazeDisplayer.getCharacter()).getpY(), h - 1); } else return; if (up == 0) str += "Up "; if (down == 0) str += "Down "; possibleMoves = str.split(" "); } b[0].setImage(new Image(display, "resources/backward1.png")); b[1].setImage(new Image(display, "resources/UP1.png")); b[2].setImage(new Image(display, "resources/left1.png")); b[3].setImage(new Image(display, "resources/right1.png")); b[4].setImage(new Image(display, "resources/forward1.png")); b[5].setImage(new Image(display, "resources/DOWN1.png")); if (possibleMoves != null && mazeDisplayer.isFinish() == false) { for (int i = 0; i < possibleMoves.length; i++) { if (possibleMoves[i].equals("Backward") == true) b[0].setImage(new Image(display, "resources/backward2.png")); else if (possibleMoves[i].equals("Up") == true) b[1].setImage(new Image(display, "resources/UP2.png")); else if (possibleMoves[i].equals("Left") == true) b[2].setImage(new Image(display, "resources/left2.png")); else if (possibleMoves[i].equals("Right") == true) b[3].setImage(new Image(display, "resources/right2.png")); else if (possibleMoves[i].equals("Forward") == true) b[4].setImage(new Image(display, "resources/forward2.png")); else if (possibleMoves[i].equals("Down") == true) b[5].setImage(new Image(display, "resources/DOWN2.png")); } } }