Skip to content
Snippets Groups Projects
Commit 60c9a336 authored by VIOLA Anthony's avatar VIOLA Anthony
Browse files

MotorFirefighter ajout des Box (Firefighter en cours)

parent 65a9316d
No related branches found
No related tags found
No related merge requests found
Pipeline #24885 passed
...@@ -17,13 +17,13 @@ public class SimulatorApplication extends javafx.application.Application { ...@@ -17,13 +17,13 @@ public class SimulatorApplication extends javafx.application.Application {
private static final int COLUMN_COUNT = 20; private static final int COLUMN_COUNT = 20;
private static final int SQUARE_WIDTH = 50; private static final int SQUARE_WIDTH = 50;
private static final int SQUARE_HEIGHT = 50; private static final int SQUARE_HEIGHT = 50;
public static final int INITIAL_FIRE_COUNT = 1; public static final int INITIAL_FIRE_COUNT = 10;
public static final int INITIAL_FIREFIGHTER_COUNT = 4; public static final int INITIAL_FIREFIGHTER_COUNT = 1;
public static final int INITIAL_MOTORFIREFIGHTER_COUNT = 1; public static final int INITIAL_MOTORFIREFIGHTER_COUNT = 0;
public static final int INITIAL_CLOUD_COUNT = 4; public static final int INITIAL_CLOUD_COUNT = 0;
public static final int INITIAL_MOUNTAIN_COUNT = 5; public static final int INITIAL_MOUNTAIN_COUNT = 0;
public static final int INITIAL_ROAD_COUNT = 2; public static final int INITIAL_ROAD_COUNT = 0;
public static final int INITIAL_ROCKERIES_COUNT = 5; public static final int INITIAL_ROCKERIES_COUNT = 0;
private Stage primaryStage; private Stage primaryStage;
private Parent view; private Parent view;
......
...@@ -70,7 +70,7 @@ public class Controller { ...@@ -70,7 +70,7 @@ public class Controller {
} }
grid.repaint(updatedSquares, updatedClearSquares, board); grid.repaint(updatedSquares, updatedClearSquares, board);
updateGenerationLabel(board.stepNumber()); updateGenerationLabel(board.stepNumber());
//board.testScreen(); //board.testScreen(); //test screen debug
} }
private void repaintGrid(){ private void repaintGrid(){
......
package model; package model;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import util.Position; import util.Position;
import view.FirefighterGrid; import view.FirefighterGrid;
...@@ -20,11 +21,29 @@ public class Fire implements Item{ ...@@ -20,11 +21,29 @@ public class Fire implements Item{
public List<Position> update(FirefighterBoard board) { public List<Position> update(FirefighterBoard board) {
ArrayList<Position> result = new ArrayList<Position>(); ArrayList<Position> result = new ArrayList<Position>();
List<Position> neighborslist = board.neighbors(position); List<Position> neighborslist = board.neighbors(position);
Box box = board.getBoxByPosition(position);;
Box neighborbox;
Item neighboritem;
boolean canSpread = false;
if (box instanceof Rockeries) {
canSpread = fireSpread();
}
for (Position neighborposition : neighborslist) { for (Position neighborposition : neighborslist) {
if ((board.getItemByPosition(neighborposition) == null && board.getBoxByPosition(neighborposition) == null ) || (board.getBoxByPosition(position) instanceof Rockeries && fireSpread())) { neighborbox = board.getBoxByPosition(neighborposition);
neighboritem = board.getItemByPosition(neighborposition);
if (neighboritem == null && (neighborbox == null || neighborbox instanceof Rockeries)){
if (box instanceof Rockeries ){
if (canSpread){
board.itemList().add(new Fire(neighborposition)); board.itemList().add(new Fire(neighborposition));
result.add(neighborposition); result.add(neighborposition);
} }
} else {
board.itemList().add(new Fire(neighborposition));
result.add(neighborposition);
}
}
} }
return result; return result;
} }
......
...@@ -33,7 +33,8 @@ public class Firefighter extends Extinguisher implements Item{ ...@@ -33,7 +33,8 @@ public class Firefighter extends Extinguisher implements Item{
return result; return result;
} }
for (Position adjacent : board.neighbors(current)) { for (Position adjacent : board.neighbors(current)) {
if (seen.contains(adjacent)) continue; System.out.println(board.getItemByPosition(adjacent));
if (seen.contains(adjacent) || board.getItemByPosition(adjacent) != null || board.getBoxByPosition(adjacent) instanceof Mountain) continue;
toVisit.add(adjacent); toVisit.add(adjacent);
seen.add(adjacent); seen.add(adjacent);
firstMove.put(adjacent, firstMove.get(current)); firstMove.put(adjacent, firstMove.get(current));
......
...@@ -147,7 +147,7 @@ public class FirefighterBoard implements Board { ...@@ -147,7 +147,7 @@ public class FirefighterBoard implements Board {
public void testScreen(){ public void testScreen(){
Position position; Position position;
//System.out.println(itemList.toString()); System.out.println(itemList.toString());
for (int row = 0; row < rowCount; row++){ for (int row = 0; row < rowCount; row++){
for (int column = 0; column < columnCount; column++){ for (int column = 0; column < columnCount; column++){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment