Esempio n. 1
0
 /** is there a foe of a at cell c? */
 public boolean matches(Cell c, Ant a) {
   return super.matches(c, a) && c.hasAnt() && (c.getAnt().getColor() != a.getColor());
 }
Esempio n. 2
0
 public void makeBoard(Cell[][] cells) {
   if (stageGridPane != null) {
     // Устанавливаем размер клетки
     stageGridPane.getColumnConstraints().add(new ColumnConstraints(10));
     stageGridPane.getRowConstraints().add(new RowConstraints(10));
     if (cells[0][0] == null) {
       fillCircuit();
     }
     // Заполняем массив клеток основного поля и выводим его на экран
     for (int i = 1; i < cells.length - 1; i++) {
       stageGridPane.addRow(i);
       for (int j = 1; j < cells[0].length - 1; j++) {
         stageGridPane.addColumn(j);
         Cell tempRect = new Cell(10, 10, Color.WHITE, i, j);
         if (cells[i][j] == null) {
           stageGridPane.add(cells[i][j] = tempRect, i, j);
         } else {
           if (cells[i][j].isRoad) {
             cells[i][j].setFill(Color.BLUE);
           }
         }
         cells[i][j].setStroke(Color.BLACK);
         cells[i][j].setOnMouseClicked(
             t -> {
               switch (CellType.getValue()) {
                 case "Wall":
                   if (tempRect.getFill() == Color.BLACK) {
                     tempRect.setFill(Color.WHITE);
                     tempRect.isBlocked = false;
                   } else {
                     tempRect.setFill(Color.BLACK);
                     tempRect.isBlocked = true;
                   }
                   break;
                 case "Start":
                   if (tempRect.getFill() == Color.GREEN) {
                     tempRect.setFill(Color.WHITE);
                     start = null;
                   } else if (start == null) {
                     tempRect.setFill(Color.GREEN);
                     start = tempRect;
                   }
                   break;
                 case "End":
                   if (tempRect.getFill() == Color.RED) {
                     tempRect.setFill(Color.WHITE);
                     finish = null;
                   } else if (finish == null) {
                     tempRect.setFill(Color.RED);
                     finish = tempRect;
                   }
                   break;
               }
             });
       }
     }
   } else {
     System.err.print("stageGridPane is null");
   }
 }