diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin index 8a7d940b93df112c84f1974aafc6583f732a969c..801682b4acca704d855b5ba58364e10c6be1e3e1 100644 Binary files a/.gradle/8.10.2/executionHistory/executionHistory.bin and b/.gradle/8.10.2/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock index ef361d8b63c134e84f7affa2d2621affa8de176b..5b176266587d46e29c3a775aa442174ff8dbf06e 100644 Binary files a/.gradle/8.10.2/executionHistory/executionHistory.lock and b/.gradle/8.10.2/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin index f2a336c65db20a01007e272875843babaefcf378..323467683484b9266ecd535509702c7760b5a32d 100644 Binary files a/.gradle/8.10.2/fileHashes/fileHashes.bin and b/.gradle/8.10.2/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock index 798d5cd3eb39830d8ca937c9a283e98363eb1566..3794939f8c5f3032a051b517b07e7ac5264934e4 100644 Binary files a/.gradle/8.10.2/fileHashes/fileHashes.lock and b/.gradle/8.10.2/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin index 7d944ec98a8eaa6d54745e6131228683c877919b..9e2be0dcef627ba82befe7bc04e30dba136e0c2e 100644 Binary files a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin and b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index d2e3f59c567d112182b45db78883bd7bfb215512..57aad489612f304cc3c097a326b022c7f177c918 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 93c56d2b8a81d5ee6e98ab947d377bceda18ebb0..140230ec6b331e08f23b455dfe2ec91081f6cea2 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/build/classes/java/main/model/ElementFactory.class b/build/classes/java/main/model/ElementFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..a493c4db7d9a83f99b551d0393f2f3194a70d081 Binary files /dev/null and b/build/classes/java/main/model/ElementFactory.class differ diff --git a/build/classes/java/main/model/FFBoard.class b/build/classes/java/main/model/FFBoard.class index c9b8a72cb01f2a502c5697bcf5525fd49946aace..22b830c77540ec5a044acbe5cf4d54a89f63f322 100644 Binary files a/build/classes/java/main/model/FFBoard.class and b/build/classes/java/main/model/FFBoard.class differ diff --git a/build/classes/java/main/model/FFBoardData.class b/build/classes/java/main/model/FFBoardData.class index ae88b9bbb6be6394ec0ec3fefd9be577f7a22e87..6c39baa2525b9a58c1bf337efbaeac761ef1fa41 100644 Binary files a/build/classes/java/main/model/FFBoardData.class and b/build/classes/java/main/model/FFBoardData.class differ diff --git a/build/classes/java/main/model/Fire.class b/build/classes/java/main/model/Fire.class index 8604d513c073cdc29e42ab5a667e94ae636069f0..6ecd16e4eb9b69b1c8dcf9bd55039fc157999244 100644 Binary files a/build/classes/java/main/model/Fire.class and b/build/classes/java/main/model/Fire.class differ diff --git a/build/classes/java/main/model/FireBehavior.class b/build/classes/java/main/model/FireBehavior.class index fbda223f83d841a0d2e5d0ec3a306e46366258c2..f3a5f1a37d1e68fd8ff89363887ea0ffb6d09a16 100644 Binary files a/build/classes/java/main/model/FireBehavior.class and b/build/classes/java/main/model/FireBehavior.class differ diff --git a/build/classes/java/main/model/ModelElement.class b/build/classes/java/main/model/ModelElement.class index 133014562eb460bf29442abefb2f7666149c8cc6..06587494c5d0b8af205116e1fec56f1c2b843c60 100644 Binary files a/build/classes/java/main/model/ModelElement.class and b/build/classes/java/main/model/ModelElement.class differ diff --git a/build/classes/java/main/model/MotorizedFireFighter.class b/build/classes/java/main/model/MotorizedFireFighter.class new file mode 100644 index 0000000000000000000000000000000000000000..8f8c31c07c776f0bb418023db3a336f14f691707 Binary files /dev/null and b/build/classes/java/main/model/MotorizedFireFighter.class differ diff --git a/build/classes/java/main/model/Road.class b/build/classes/java/main/model/Road.class new file mode 100644 index 0000000000000000000000000000000000000000..6199f31f761d0a4a447737e97acb77abd849fa79 Binary files /dev/null and b/build/classes/java/main/model/Road.class differ diff --git a/build/classes/java/main/view/ViewElement.class b/build/classes/java/main/view/ViewElement.class index f2278096afc490cfaa958bc37331cacc5f40ba8c..9605485d704f388ad67b2eb579987455a1b79d60 100644 Binary files a/build/classes/java/main/view/ViewElement.class and b/build/classes/java/main/view/ViewElement.class differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Behavior.class.uniqueId21 b/build/tmp/compileJava/compileTransaction/stash-dir/Behavior.class.uniqueId21 new file mode 100644 index 0000000000000000000000000000000000000000..7b66ceda77beed63d4117f3a5a0e60d01e373d50 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Behavior.class.uniqueId21 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/BoardData.class.uniqueId24 b/build/tmp/compileJava/compileTransaction/stash-dir/BoardData.class.uniqueId24 new file mode 100644 index 0000000000000000000000000000000000000000..1473192238ebff191ff33a083801c7c099c24bc6 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/BoardData.class.uniqueId24 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Cloud.class.uniqueId22 b/build/tmp/compileJava/compileTransaction/stash-dir/Cloud.class.uniqueId22 new file mode 100644 index 0000000000000000000000000000000000000000..a31acca2d1c953a93b797c67b9600eb48fd22172 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Cloud.class.uniqueId22 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/CloudBehavior.class.uniqueId23 b/build/tmp/compileJava/compileTransaction/stash-dir/CloudBehavior.class.uniqueId23 new file mode 100644 index 0000000000000000000000000000000000000000..344f982210adb7b2522955c44e6e86888dd98f2b Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/CloudBehavior.class.uniqueId23 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..6a04f4e1dcb90af98351b81bb8c0a5fe71e3561a Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Element.class.uniqueId16 b/build/tmp/compileJava/compileTransaction/stash-dir/Element.class.uniqueId16 new file mode 100644 index 0000000000000000000000000000000000000000..86796ebda7b006c90771da8c76c0f4b5e8ec76c5 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Element.class.uniqueId16 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ElementManager.class.uniqueId8 b/build/tmp/compileJava/compileTransaction/stash-dir/ElementManager.class.uniqueId8 new file mode 100644 index 0000000000000000000000000000000000000000..abc64510c990809c4aad859777a4a59aca4086cf Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ElementManager.class.uniqueId8 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FFBehavior.class.uniqueId12 b/build/tmp/compileJava/compileTransaction/stash-dir/FFBehavior.class.uniqueId12 new file mode 100644 index 0000000000000000000000000000000000000000..291fe9094bbfeaa70d5df89ff86cc3f4924868ba Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FFBehavior.class.uniqueId12 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId0 deleted file mode 100644 index c9b8a72cb01f2a502c5697bcf5525fd49946aace..0000000000000000000000000000000000000000 Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId0 and /dev/null differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..f011c6673ea53fccef1b1a27bce0d0de70133da5 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FFBoard.class.uniqueId1 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FFBoardData.class.uniqueId13 b/build/tmp/compileJava/compileTransaction/stash-dir/FFBoardData.class.uniqueId13 new file mode 100644 index 0000000000000000000000000000000000000000..6c39baa2525b9a58c1bf337efbaeac761ef1fa41 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FFBoardData.class.uniqueId13 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FFUpdater.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/FFUpdater.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..f18682c2c9367d3033da83621242d3dead5202c6 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FFUpdater.class.uniqueId4 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Fire.class.uniqueId5 b/build/tmp/compileJava/compileTransaction/stash-dir/Fire.class.uniqueId5 new file mode 100644 index 0000000000000000000000000000000000000000..6ecd16e4eb9b69b1c8dcf9bd55039fc157999244 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Fire.class.uniqueId5 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId19 b/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId19 new file mode 100644 index 0000000000000000000000000000000000000000..fbda223f83d841a0d2e5d0ec3a306e46366258c2 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId19 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireFighter.class.uniqueId26 b/build/tmp/compileJava/compileTransaction/stash-dir/FireFighter.class.uniqueId26 new file mode 100644 index 0000000000000000000000000000000000000000..46f71e21c725c1bfb76086ef444cdc525879437e Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireFighter.class.uniqueId26 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireFighterBehavior.class.uniqueId11 b/build/tmp/compileJava/compileTransaction/stash-dir/FireFighterBehavior.class.uniqueId11 new file mode 100644 index 0000000000000000000000000000000000000000..3685400111fbb247a6d748f2fc008267a4152b38 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireFighterBehavior.class.uniqueId11 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterGrid.class.uniqueId15 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterGrid.class.uniqueId15 new file mode 100644 index 0000000000000000000000000000000000000000..05ec18aeff68513e99aa82d1e6ae68a3edf3cccd Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterGrid.class.uniqueId15 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId2 deleted file mode 100644 index 133014562eb460bf29442abefb2f7666149c8cc6..0000000000000000000000000000000000000000 Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId2 and /dev/null differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId9 b/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId9 new file mode 100644 index 0000000000000000000000000000000000000000..23b874024299c05963109c14f605b1de8021616d Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ModelElement.class.uniqueId9 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFireFighter.class.uniqueId10 b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFireFighter.class.uniqueId10 new file mode 100644 index 0000000000000000000000000000000000000000..8f8c31c07c776f0bb418023db3a336f14f691707 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFireFighter.class.uniqueId10 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Mountain.class.uniqueId17 b/build/tmp/compileJava/compileTransaction/stash-dir/Mountain.class.uniqueId17 new file mode 100644 index 0000000000000000000000000000000000000000..8fe05667e5c8fafa6d3f2372371cb9667027db77 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Mountain.class.uniqueId17 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/RemoverBehavior.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/RemoverBehavior.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..04db6553438809493d5f56a17c14984108ebf74f Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/RemoverBehavior.class.uniqueId2 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/SimulatorApplication.class.uniqueId20 b/build/tmp/compileJava/compileTransaction/stash-dir/SimulatorApplication.class.uniqueId20 new file mode 100644 index 0000000000000000000000000000000000000000..6d88dc9a0edace933e7b9ca5f67bbdaddba48037 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/SimulatorApplication.class.uniqueId20 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/StandardFire.class.uniqueId27 b/build/tmp/compileJava/compileTransaction/stash-dir/StandardFire.class.uniqueId27 new file mode 100644 index 0000000000000000000000000000000000000000..6d04a90edcec07b7d1375dffb8a54bc7a4ae1aa9 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/StandardFire.class.uniqueId27 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId18 similarity index 95% rename from build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId3 rename to build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId18 index e50baa20089256b969478bf81fa2a00ffb4e2f73..fc5b93fe24ca479ac79d43a6c4b73789cb475381 100644 Binary files a/build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId3 and b/build/tmp/compileJava/compileTransaction/stash-dir/StandardFireFighter.class.uniqueId18 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/TangibleBehavior.class.uniqueId6 b/build/tmp/compileJava/compileTransaction/stash-dir/TangibleBehavior.class.uniqueId6 new file mode 100644 index 0000000000000000000000000000000000000000..7a4f2f1c104b6561239e3e8f93096cfebb71097b Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/TangibleBehavior.class.uniqueId6 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Updatable.class.uniqueId7 b/build/tmp/compileJava/compileTransaction/stash-dir/Updatable.class.uniqueId7 new file mode 100644 index 0000000000000000000000000000000000000000..ca0085ffcc16197c036e8b623d6aa133f687c3a6 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Updatable.class.uniqueId7 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Updater.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/Updater.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..5094364d480368e64c5c482badb41c0fe948d624 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Updater.class.uniqueId0 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ViewElement.class.uniqueId25 b/build/tmp/compileJava/compileTransaction/stash-dir/ViewElement.class.uniqueId25 new file mode 100644 index 0000000000000000000000000000000000000000..552725fc4d9e4c1db6cd5180f0a7c77471b79777 Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ViewElement.class.uniqueId25 differ diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId14 similarity index 100% rename from build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId1 rename to build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId14 diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index d61a78cf073388e04d0cd756b75702ada7870d81..5e158cc7c168f519415f9982e559dccee63b42ed 100644 Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/src/main/java/model/ElementFactory.java b/src/main/java/model/ElementFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..d8b78aaa60f787b4397f82f6dd17e440e47b8487 --- /dev/null +++ b/src/main/java/model/ElementFactory.java @@ -0,0 +1,13 @@ +package model; + +import util.Position; + +public class ElementFactory { + //this is using the factoryMethod design pattern (I'm writing this it just in case ) + public static Element createElement(BoardData boardData,ModelElement modelElement, Position position){ + Element e=modelElement.instanciate(position); + boardData.addElement(e); + return e; + } + +} diff --git a/src/main/java/model/FFBoard.java b/src/main/java/model/FFBoard.java index 2fe2d4b61cdbc833135be36b82e769243cce6a71..c6c971fe6f47f2719470d3540e869c7c54c64724 100644 --- a/src/main/java/model/FFBoard.java +++ b/src/main/java/model/FFBoard.java @@ -33,10 +33,12 @@ public class FFBoard implements Board<List<ModelElement>> { boardData.addElement(new StandardFire(randomPosition())); for (int index = 0; index < initialFirefighterCount; index++) boardData.addElement(new StandardFireFighter(randomPosition())); + for (int index = 0; index < 2; index++) + boardData.addElement(new MotorizedFireFighter(randomPosition())); for (int index = 0; index < 10; index++) boardData.addElement(new Cloud(randomPosition())); for (int index = 0; index < 50; index++) - boardData.addElement(new Mountain(randomPosition())); + boardData.addElement(new Road(randomPosition())); } diff --git a/src/main/java/model/FFBoardData.java b/src/main/java/model/FFBoardData.java index 2ab57bf9fba7b3fdeba1a9e8a2fdc4770a143a2b..1f88593815355d23e72482ecd4de425871ef7dbf 100644 --- a/src/main/java/model/FFBoardData.java +++ b/src/main/java/model/FFBoardData.java @@ -56,9 +56,12 @@ public class FFBoardData implements BoardData{ return neighbors.get(position); } public void addElement(Element element){ - elementList.get(element.getType().ordinal()).add(element); - getCell(element.getPosition()).Content.add(element); - FFUpdater.modifiedPositions.add(element.getPosition()); + if(element!=null) + { + elementList.get(element.getType().ordinal()).add(element); + getCell(element.getPosition()).Content.add(element); + FFUpdater.modifiedPositions.add(element.getPosition()); + } } public void removeElement(Element element){ FFUpdater.modifiedPositions.add(element.getPosition()); diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index 3cb31a89f822c277f506dbe8fea8ceda45d5dcdf..56d5a02b821709ad3c6c11e277e7ad148d215290 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -12,12 +12,14 @@ public abstract class Fire implements Element,Updatable{ ModelElement type; Position position; static Behavior behavior=new FireBehavior(); - Map<ModelElement,ModelElement> FireDictionary=new HashMap<>(); //.put(MAISON,FEUMAISON) + Map<ModelElement,ModelElement> fireDictionary=new HashMap<>(); + //.put(MAISON,FEUMAISON) public Fire(int delay, ModelElement type, Position position) { this.delay = delay; this.type = type; this.position = position; + fireDictionary.put(ModelElement.MOUNTAIN,null); } @Override public Position getPosition() { @@ -29,7 +31,7 @@ public abstract class Fire implements Element,Updatable{ } private Fire getNewFireByType(BoardData boardData,Position position){ List<ModelElement> s = boardData.getCell(position).Content.stream().map(x -> x.getType()).toList(); - for(Map.Entry<ModelElement,ModelElement> entry: FireDictionary.entrySet()){ + for(Map.Entry<ModelElement,ModelElement> entry: fireDictionary.entrySet()){ if (s.contains(entry.getKey())) return (Fire) entry.getValue().instanciate(position); } return new StandardFire(position); @@ -38,8 +40,7 @@ public abstract class Fire implements Element,Updatable{ public List<Position> updateSelf(BoardData boardData) { List<Position> positions=behavior.update(boardData,this); for (Position p:positions) { - - boardData.addElement(new StandardFire(p)); + boardData.addElement(getNewFireByType(boardData,p)); } return positions; } diff --git a/src/main/java/model/FireBehavior.java b/src/main/java/model/FireBehavior.java index 4630bd8ef1e32c48c2b8de53763be6dfe2d221fc..db0d8bc322a88716ddac7090d2b5387d6f5f5bda 100644 --- a/src/main/java/model/FireBehavior.java +++ b/src/main/java/model/FireBehavior.java @@ -8,7 +8,7 @@ import java.util.Map; import java.util.Set; public class FireBehavior extends FFBehavior /*implements TangibleBehavior<ModelElement>*/ { - private List<ModelElement> obstacles=List.of(ModelElement.MOUNTAIN); + private List<ModelElement> obstacles=List.of(ModelElement.MOUNTAIN,ModelElement.ROAD); @Override public List<Position> update(BoardData boardData,Element element) { diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java index 6727141bc57022333c93b0091f9a8ba739244171..ee7fdfcb81fe454bed272cb5831799f195c8f28a 100644 --- a/src/main/java/model/ModelElement.java +++ b/src/main/java/model/ModelElement.java @@ -10,9 +10,11 @@ public enum ModelElement { FIREFIGHTER(StandardFireFighter.class), + MOTORIZEDFIREFIGHTER(MotorizedFireFighter.class), FIRE(StandardFire.class), CLOUD(Cloud.class), - MOUNTAIN(Mountain.class); + MOUNTAIN(Mountain.class), + ROAD(Road.class); public final Class<?> c; diff --git a/src/main/java/model/MotorizedFireFighter.java b/src/main/java/model/MotorizedFireFighter.java new file mode 100644 index 0000000000000000000000000000000000000000..828bff5639cada8756c98794233bffc6adf96695 --- /dev/null +++ b/src/main/java/model/MotorizedFireFighter.java @@ -0,0 +1,9 @@ +package model; + +import util.Position; + +public class MotorizedFireFighter extends FireFighter implements Updatable{ + public MotorizedFireFighter(Position position) { + super(2, ModelElement.MOTORIZEDFIREFIGHTER, position); + } +} diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java new file mode 100644 index 0000000000000000000000000000000000000000..436eb5db98ebcfa75657c9cd727dba929178356d --- /dev/null +++ b/src/main/java/model/Road.java @@ -0,0 +1,23 @@ +package model; + +import util.Position; + +public class Road implements Element { + Position position; + ModelElement type; + + public Road(Position position) { + this.position = position; + type=ModelElement.ROAD; + } + + @Override + public Position getPosition() { + return position; + } + + @Override + public ModelElement getType() { + return type; + } +} diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java index 4695ecd5fd6bcd79e72f68ebedcea869d944c5af..82ab204e0ce52ca949a69ced435a9ef542ca7449 100644 --- a/src/main/java/view/ViewElement.java +++ b/src/main/java/view/ViewElement.java @@ -3,7 +3,7 @@ package view; import javafx.scene.paint.Color; public enum ViewElement { - FIREFIGHTER(Color.BLUE), FIRE(Color.RED),CLOUD(Color.GRAY) ,MOUNTAIN(Color.BROWN) , EMPTY(Color.WHITE); + FIREFIGHTER(Color.BLUE), MOTORIZEDFIREFIGHTER(Color.DARKBLUE), FIRE(Color.RED),CLOUD(Color.GRAY) ,MOUNTAIN(Color.BROWN),ROAD(Color.BLACK), EMPTY(Color.WHITE); final Color color; ViewElement(Color color) { this.color = color;