/**
   * 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"));
      }
    }
  }