示例#1
0
 public void testLaser() {
   Point laserStart = null;
   Point laserEnd = null;
   int direction = 0;
   for (int i = 0; i < cells.length; i++) {
     for (int y = 0; y < cells[i].length; y++) {
       Cell c = cells[i][y];
       if (c.isLaserStart()) {
         laserStart = new Point(i, y);
         direction = c.getAngle();
       }
       if (c.isLaserEnd()) {
         laserEnd = new Point(i, y);
       }
     }
   }
   if (laserStart == null || laserEnd == null) {
     Jsf.error("Un point de depart et d'arrivee est obligatoire");
     return;
   }
   Laser l = new Laser(laserStart, laserEnd, direction);
   board.setLaser(l);
   rebuildLaser();
 }
示例#2
0
  public String save() {
    if (StringUtils.isEmpty(levelName)) {
      Jsf.error("Le nom est obligatoire");
      return "";
    }
    if (StringUtils.isEmpty(levelName)) {
      Jsf.error("Le numéro est obligatoire");
      return "";
    }

    if (StringUtils.isEmpty(board.getBoardId())
        && boardService.findBoardByLevelName(levelName) != null) {
      Jsf.error("Un level avec ce nom existe déjà.");
      return "";
    }

    if (StringUtils.isEmpty(board.getBoardId())
        && boardService.findBoardByLevelNumber(levelNumber) != null) {
      Jsf.error("Un level avec ce numéro existe déjà.");
      return "";
    }

    Point laserStart = null;
    Point laserEnd = null;
    int direction = 0;
    for (int i = 0; i < cells.length; i++) {
      for (int y = 0; y < cells[i].length; y++) {
        Cell c = cells[i][y];
        if (c.isLaserStart()) {
          laserStart = new Point(i, y);
          direction = c.getAngle();
        }
        if (c.isLaserEnd()) {
          laserEnd = new Point(i, y);
        }
      }
    }
    if (laserStart == null || laserEnd == null) {
      Jsf.error("Un point de depart et d'arrivee est obligatoire");
      return "";
    }
    Laser l = new Laser(laserStart, laserEnd, direction);
    board.setLaser(l);
    board.setLevelName(levelName);
    board.setLevelNumber(levelNumber);
    board.setHeight(height);
    board.setWidth(width);
    for (Cell c : pioche) {
      c.setFixed(false);
    }
    board.setPioche(pioche);
    if (StringUtils.isEmpty(board.getId())) {
      boardService.createBoard(null, board);
    } else {
      boardService.updateBoard(null, board);
    }
    Jsf.info("Le niveau a été créé.");
    levelName = "";
    levelNumber = "";

    refresh();
    return "pretty:viewEditor";
  }