diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin index 5eb4f675bf7ca3ca331b2ae2187ffa2524c84795..64e9d0d5e11faf525fab9eeae4ca9da2991455d2 100644 Binary files a/.gradle/8.4/executionHistory/executionHistory.bin and b/.gradle/8.4/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock index ff8ef3d1b49198e32467621eef0dcaa8ee28a970..99a195149b28702e58c93e37c0092822ea24d263 100644 Binary files a/.gradle/8.4/executionHistory/executionHistory.lock and b/.gradle/8.4/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin index 7ce511ef6e03a44b01690b486336c4cd64c16b90..3355ee12daf45d237e3974561b8cf6e998a36846 100644 Binary files a/.gradle/8.4/fileHashes/fileHashes.bin and b/.gradle/8.4/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock index a3ef8ba94fb1c5fa03f359ed7a854fa05c0b4176..9c9daee5f0c86f5436dbe194bdf0e3f414568967 100644 Binary files a/.gradle/8.4/fileHashes/fileHashes.lock and b/.gradle/8.4/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin index 57064a4f1c4975a19f5c8d35e3156b80c6a05737..e1b12e26c357a0f634638d4d54082f19443ac41f 100644 Binary files a/.gradle/8.4/fileHashes/resourceHashesCache.bin and b/.gradle/8.4/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 85650c1e71663e0e9ab1ad5fce91edd5e89d7891..d6ffe09f0317f288e61b0c65d30d0b1374650a8c 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 b45dd6f87ac93474a3344a334ee26a378d6cbc42..177b638e36f899ff65fdfbdf0fb2b363a7f6029f 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class index 79653026e5c8543cdf4454eae8200ea087bac7ff..e22893fb61ab612c2f32bf3e28cfd940545fa96f 100644 Binary files a/build/classes/java/main/app/SimulatorApplication.class and b/build/classes/java/main/app/SimulatorApplication.class differ diff --git a/build/classes/java/main/model/Element/FireFigther.class b/build/classes/java/main/model/Element/FireFigther.class index 91897b041924b12c33ec8ea1e57d0214c7a83d80..66895a0bc95edde0012dde9ed1fffdfd601e0067 100644 Binary files a/build/classes/java/main/model/Element/FireFigther.class and b/build/classes/java/main/model/Element/FireFigther.class differ diff --git a/build/classes/java/main/model/Element/MotorisedFirefigther.class b/build/classes/java/main/model/Element/MotorisedFirefigther.class index e918e428d01acbfa257155770637ad9a2c98b2df..693a8899177c34589a4726a21e97593178078ef9 100644 Binary files a/build/classes/java/main/model/Element/MotorisedFirefigther.class and b/build/classes/java/main/model/Element/MotorisedFirefigther.class differ diff --git a/build/classes/java/main/model/Element/Road.class b/build/classes/java/main/model/Element/Road.class index 33a01f995fe95c4ff878c3c625522f6775060059..874bcec0add02a025d8623dcbf05d624889553b1 100644 Binary files a/build/classes/java/main/model/Element/Road.class and b/build/classes/java/main/model/Element/Road.class differ diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class index 22c5e7237e4ea669a27d68a9ab99bb1dd1ffa5f4..0221dd6af6afbf4b7fdb9a91c10ec2f82c2bf860 100644 Binary files a/build/classes/java/main/model/FirefighterBoard.class and b/build/classes/java/main/model/FirefighterBoard.class differ diff --git a/build/classes/java/main/util/Tools.class b/build/classes/java/main/util/Tools.class index 1de0cd6f22cd53fd80cf5f92f4c297bbe182171f..dfd4de5c64c025ce375e86a3597ca38b28692826 100644 Binary files a/build/classes/java/main/util/Tools.class and b/build/classes/java/main/util/Tools.class differ diff --git a/build/resources/main/view/fireFigtherView/putElementCount.fxml b/build/resources/main/view/fireFigtherView/putElementCount.fxml index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..cfcfede0722667a83822f499e579b6775d677f01 100644 --- a/build/resources/main/view/fireFigtherView/putElementCount.fxml +++ b/build/resources/main/view/fireFigtherView/putElementCount.fxml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> + +<AnchorPane fx:id="Fire" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1"> + <children> + <Spinner fx:id="fire" editable="true" layoutX="111.0" layoutY="67.0" prefHeight="25.0" prefWidth="363.0" /> + <Label layoutX="111.0" layoutY="50.0" text="Fire" /> + <Label layoutX="111.0" layoutY="103.0" text="Fire Fighter" /> + </children> +</AnchorPane> diff --git a/build/resources/main/view/menu.fxml b/build/resources/main/view/menu.fxml index ca96e53c1888262a2367f5a2ae6853530fb3666d..40c574685ad41b34e7799f3582f66b2fadeaf54b 100644 --- a/build/resources/main/view/menu.fxml +++ b/build/resources/main/view/menu.fxml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<?import java.lang.*?> -<?import java.util.*?> -<?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> -<AnchorPane xmlns="http://javafx.com/javafx" - xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.controllerMenu" - prefHeight="400.0" prefWidth="600.0"> +<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.controllerMenu"> + <children> + <Button layoutX="36.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="firefiter" /> + <Button layoutX="321.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="virus" /> + <Button layoutX="193.0" layoutY="279.0" mnemonicParsing="false" prefHeight="56.0" prefWidth="231.0" text="play" /> + <Button layoutX="541.0" layoutY="14.0" mnemonicParsing="false" prefHeight="41.0" prefWidth="45.0" text="setting" /> + <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" /> + </children> </AnchorPane> diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index e94987322f238ea26ffd172b792eaef236f766ed..0ea7282b4ee84c8f1c55f66a62091819551832de 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/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index a51c3869a0ac790405a2f9185ceac5f4b6d8ed4a..85238c00306a419ab825a44b0b7cab45a0980730 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -14,7 +14,7 @@ import java.net.URL; import java.util.Map; public class SimulatorApplication extends javafx.application.Application { - private static final String VIEW_RESOURCE_PATH = "/view/fireFigtherView/fireFigtherBord.fxml"; + private static final String VIEW_RESOURCE_PATH = "/view/fireFigtherView/putElementCount.fxml"; private static final String APP_NAME = "Firefighter simulator"; private static final int ROW_COUNT = 20; @@ -45,12 +45,12 @@ public class SimulatorApplication extends javafx.application.Application { private void initializeInitialElementCount() { INITIAL_ELEMENTS_COUNT = new HashMap<>(); INITIAL_ELEMENTS_COUNT.put(new Fire(), 1); - INITIAL_ELEMENTS_COUNT.put(new FireFigther(), 3); - INITIAL_ELEMENTS_COUNT.put(new Cloud(), 2); - INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), 3); - INITIAL_ELEMENTS_COUNT.put(new Mountain(), 1); - INITIAL_ELEMENTS_COUNT.put(new Road(), 4); - INITIAL_ELEMENTS_COUNT.put(new Rockerie(), 5); + INITIAL_ELEMENTS_COUNT.put(new FireFigther(), 1); + INITIAL_ELEMENTS_COUNT.put(new Cloud(), 0); + INITIAL_ELEMENTS_COUNT.put(new MotorisedFirefigther(), 0); + INITIAL_ELEMENTS_COUNT.put(new Mountain(), 100); + INITIAL_ELEMENTS_COUNT.put(new Road(), 0); + INITIAL_ELEMENTS_COUNT.put(new Rockerie(), 0); } @@ -59,9 +59,9 @@ public class SimulatorApplication extends javafx.application.Application { URL location = SimulatorApplication.class.getResource(VIEW_RESOURCE_PATH); loader.setLocation(location); view = loader.load(); - ControllerFireFigtherBord controller = loader.getController(); - controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,INITIAL_ELEMENTS_COUNT - ); + //ControllerFireFigtherBord controller = loader.getController(); + //controller.initialize(SQUARE_WIDTH, SQUARE_HEIGHT, COLUMN_COUNT, ROW_COUNT,INITIAL_ELEMENTS_COUNT + // ); } private void showScene() { diff --git a/src/main/java/model/Element/Doctor.java b/src/main/java/model/Element/Doctor.java new file mode 100644 index 0000000000000000000000000000000000000000..cce6d07472b464735cc2727984a7dea411c40fd7 --- /dev/null +++ b/src/main/java/model/Element/Doctor.java @@ -0,0 +1,31 @@ +package model.Element; + +import util.Position; +import view.ViewElement; + +import java.util.List; +import java.util.Map; + +import static util.Tools.*; + +public class Doctor implements ModelElement { + @Override + public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { + if(!extinguishneighbor(position,board,new Virus(),rowCount,columnCount)) { + Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Virus(),List.of()); + removeElement(position, board, new Doctor()); + addElement(newPositionStep, board, new Doctor()); + extinguishneighbor(newPositionStep,board,new Virus(),rowCount,columnCount); + } + } + + @Override + public ViewElement getViewElement() { + return ViewElement.Doctor; + } + + @Override + public boolean equals(Object obj) { + return obj instanceof Doctor; + } +} diff --git a/src/main/java/model/Element/FireFigther.java b/src/main/java/model/Element/FireFigther.java index d18c808aed8bad79073dd6e350b54e280fa93afa..26600a8a6badbe28153ff510db081d4266cd8555 100644 --- a/src/main/java/model/Element/FireFigther.java +++ b/src/main/java/model/Element/FireFigther.java @@ -11,13 +11,11 @@ import static util.Tools.*; public class FireFigther implements ModelElement{ @Override public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { - - - if(!extinguishneighbor(position,board,columnCount,rowCount)) { - Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain())); + if(!extinguishneighbor(position,board,new Fire(),rowCount,columnCount)) { + Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain(),new MotorisedFirefigther() )); removeElement(position, board, new FireFigther()); addElement(newPositionStep, board, new FireFigther()); - extinguishneighbor(newPositionStep,board,columnCount,rowCount); + extinguishneighbor(newPositionStep,board,new Fire(),rowCount,columnCount); } } diff --git a/src/main/java/model/Element/Humain.java b/src/main/java/model/Element/Humain.java new file mode 100644 index 0000000000000000000000000000000000000000..84af4def1170e82e0b9ca298b664893aaeb80097 --- /dev/null +++ b/src/main/java/model/Element/Humain.java @@ -0,0 +1,35 @@ +package model.Element; + +import util.Position; +import view.ViewElement; + +import java.util.List; +import java.util.Map; +import java.util.Random; + +import static util.Tools.*; + +public class Humain implements ModelElement{ + @Override + public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { + List<Position> neighbors = neighbors(position, rowCount, columnCount); + if (!neighbors.isEmpty()) { + Random nextCloud = new Random(); + Position randomNeighbor = neighbors.get(nextCloud.nextInt(neighbors.size())); + addElement(randomNeighbor, board, new Humain()); + } + + removeElement(position, board, new Humain()); + } + + + @Override + public ViewElement getViewElement() { + return ViewElement.Humain; + } + + @Override + public boolean equals(Object obj) { + return obj instanceof Humain; + } +} diff --git a/src/main/java/model/Element/MotorisedFirefigther.java b/src/main/java/model/Element/MotorisedFirefigther.java index e4766b3a18bac1c618362b84fe2460fe35d41723..8dbf5b5bedc471b81e1feba0f49384813c5ef9f7 100644 --- a/src/main/java/model/Element/MotorisedFirefigther.java +++ b/src/main/java/model/Element/MotorisedFirefigther.java @@ -13,14 +13,14 @@ public class MotorisedFirefigther implements ModelElement{ @Override public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { - if(!extinguishneighbor(position,board,columnCount,rowCount)) { + if(!extinguishneighbor(position,board,new Fire(),rowCount,columnCount)) { Fire fire = new Fire(); - Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,fire,List.of(new Mountain())); - Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount,fire,List.of(new Mountain())); + Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,fire,List.of(new Mountain(),new FireFigther())); + Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount,fire,List.of(new Mountain(),new FireFigther())); MotorisedFirefigther motorisedFirefigther=new MotorisedFirefigther(); removeElement(position,board,motorisedFirefigther); addElement(newPositionTwoStep,board,motorisedFirefigther); - extinguishneighbor(newPositionTwoStep,board,columnCount,rowCount); + extinguishneighbor(newPositionTwoStep,board,new Fire(),rowCount,columnCount); } } diff --git a/src/main/java/model/Element/Virus.java b/src/main/java/model/Element/Virus.java new file mode 100644 index 0000000000000000000000000000000000000000..d125bff0f488606b0b7dffd7d2edfdae9d288f5f --- /dev/null +++ b/src/main/java/model/Element/Virus.java @@ -0,0 +1,38 @@ +package model.Element; + +import util.Position; +import view.ViewElement; + +import java.util.List; +import java.util.Map; +import java.util.Random; + +import static util.Tools.*; + +public class Virus implements ModelElement{ + @Override + public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { + List<Position> neighbors = neighbors(position, rowCount, columnCount); + if (!neighbors.isEmpty()) { + Random nextCloud = new Random(); + Position randomNeighbor = neighbors.get(nextCloud.nextInt(neighbors.size())); + if (board.get(randomNeighbor).contains(new Humain())) { + removeElement(randomNeighbor,board,new Humain()); + addElement(randomNeighbor, board, new Virus()); + } + addElement(randomNeighbor, board, new Virus()); + } + + removeElement(position, board, new Virus()); + } + + @Override + public ViewElement getViewElement() { + return ViewElement.Virus; + } + + @Override + public boolean equals(Object obj) { + return obj instanceof Virus; + } +} diff --git a/src/main/java/util/Tools.java b/src/main/java/util/Tools.java index 2c3cbe99d27c3c51e984fc237cec712387418a97..d7b7c9277fd6893a26ae4764786cb5e4606d506e 100644 --- a/src/main/java/util/Tools.java +++ b/src/main/java/util/Tools.java @@ -36,7 +36,8 @@ public class Tools { } for (Position adjacent : neighbors(current, rowCount, columnCount)) { - if (!(seen.contains(adjacent) && impassableElement(board.getOrDefault(adjacent,List.of()),impassableElements))) { + if (!(seen.contains(adjacent)) && passableElement(board.getOrDefault(adjacent, List.of()), impassableElements)) { + toVisit.add(adjacent); seen.add(adjacent); firstMove.put(adjacent, firstMove.get(current)); @@ -70,11 +71,11 @@ public class Tools { elements.remove(element); board.put(position,elements); } - public static boolean extinguishneighbor(Position position , Map<Position, List<ModelElement>> board,int columnCount, int rowCount){ + public static boolean extinguishneighbor(Position position , Map<Position, List<ModelElement>> board,ModelElement extinguishElement, int rowCount,int columnCount){ boolean bool=false; for (Position position1 : neighbors(position, rowCount, columnCount)) { if (board.containsKey(position1)) { - if (board.get(position1).contains(new Fire())) { + if (board.get(position1).contains(extinguishElement)) { extinguish(position1,board); bool=true; @@ -85,7 +86,7 @@ public class Tools { } return bool; } - public static boolean impassableElement (List<ModelElement> list,List<ModelElement>impassableElements){ + public static boolean passableElement (List<ModelElement> list,List<ModelElement>impassableElements){ for (ModelElement impassableElement:impassableElements ) { diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java index c360b71cdbd39431341d250867236f7cb03ed772..ebcedd3fd1e6ba4dd5d154f0dd683362465c27a6 100644 --- a/src/main/java/view/ViewElement.java +++ b/src/main/java/view/ViewElement.java @@ -1,9 +1,17 @@ package view; import javafx.scene.paint.Color; +import model.Element.Virus; public enum ViewElement { - FIREFIGHTER(Color.BLUE), FIRE(Color.RED),Cloud(Color.GRAY),Rockerie(Color.LIGHTGREY),MotorisedFirefigther(Color.ORANGE),Road(Color.BLACK),Mountain(Color.BROWN), EMPTY(Color.WHITE); + EMPTY(Color.WHITE), + /// FIREFIGHTER + FIREFIGHTER(Color.BLUE), FIRE(Color.RED),Cloud(Color.GRAY), + Rockerie(Color.LIGHTGREY),MotorisedFirefigther(Color.ORANGE), + Road(Color.BLACK),Mountain(Color.BROWN), + /// Virus + Virus(Color.PURPLE),Doctor(Color.AQUA),Humain(Color.BLACK) + ; final Color color; ViewElement(Color color) { this.color = color; diff --git a/src/main/resources/view/Settings.fxml b/src/main/resources/view/Settings.fxml index 8670e2f77bd945350b4f809bbe105e90a597f6ee..71254c0a3ee78ade5fa70ae154f1f8f02aec4d14 100644 --- a/src/main/resources/view/Settings.fxml +++ b/src/main/resources/view/Settings.fxml @@ -5,7 +5,7 @@ <?import javafx.scene.layout.GridPane?> <GridPane xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.fireFigther.SettingsController" alignment="center" hgap="10" vgap="10" padding="20"> + fx:controller="controller.SettingsController" alignment="center" hgap="10" vgap="10" padding="20"> <Label text="Settings" style="-fx-font-size: 16;" GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.columnSpan="2"/> <!-- Row Count --> diff --git a/src/main/resources/view/fireFigtherView/putElementCount.fxml b/src/main/resources/view/fireFigtherView/putElementCount.fxml index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1db5954f197533fb78584ae34fceddf929e324fd 100644 --- a/src/main/resources/view/fireFigtherView/putElementCount.fxml +++ b/src/main/resources/view/fireFigtherView/putElementCount.fxml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.*?> +<?import javafx.scene.image.*?> +<?import javafx.scene.layout.*?> + +<AnchorPane fx:id="Fire" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="434.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1"> + <children> + <Spinner fx:id="fire" editable="true" layoutX="106.0" layoutY="31.0" prefHeight="25.0" prefWidth="363.0" /> + <Label layoutX="265.0" layoutY="14.0" text="Fire" /> + <Label layoutX="245.0" layoutY="64.0" text="Fire Fighter" /> + <Spinner layoutX="106.0" layoutY="82.0" prefHeight="25.0" prefWidth="363.0" /> + <Spinner layoutX="102.0" layoutY="134.0" prefHeight="25.0" prefWidth="363.0" /> + <Spinner layoutX="106.0" layoutY="186.0" prefHeight="25.0" prefWidth="363.0" /> + <Spinner layoutX="102.0" layoutY="234.0" prefHeight="25.0" prefWidth="363.0" /> + <Spinner layoutX="101.0" layoutY="286.0" prefHeight="25.0" prefWidth="355.0" /> + <Spinner layoutX="100.0" layoutY="335.0" prefHeight="25.0" prefWidth="355.0" /> + <Button layoutX="229.0" layoutY="376.0" mnemonicParsing="false" prefHeight="55.0" prefWidth="92.0" text="Button" /> + <Label layoutX="259.0" layoutY="116.0" text="Cloud" /> + <Label layoutX="215.0" layoutY="169.0" text="Motorised Fire Fighter" /> + <Label layoutX="249.0" layoutY="217.0" text="Mountain" /> + <Label layoutX="260.0" layoutY="269.0" text="Road" /> + <Label layoutX="251.0" layoutY="318.0" text="Rockerie" /> + <ImageView fitHeight="62.0" fitWidth="102.0" layoutX="223.0" layoutY="373.0" pickOnBounds="true" preserveRatio="true" /> + </children> +</AnchorPane> diff --git a/src/main/resources/view/menu.fxml b/src/main/resources/view/menu.fxml index ca96e53c1888262a2367f5a2ae6853530fb3666d..40c574685ad41b34e7799f3582f66b2fadeaf54b 100644 --- a/src/main/resources/view/menu.fxml +++ b/src/main/resources/view/menu.fxml @@ -1,14 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<?import java.lang.*?> -<?import java.util.*?> -<?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> -<AnchorPane xmlns="http://javafx.com/javafx" - xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.controllerMenu" - prefHeight="400.0" prefWidth="600.0"> +<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.controllerMenu"> + <children> + <Button layoutX="36.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="firefiter" /> + <Button layoutX="321.0" layoutY="119.0" mnemonicParsing="false" prefHeight="106.0" prefWidth="259.0" text="virus" /> + <Button layoutX="193.0" layoutY="279.0" mnemonicParsing="false" prefHeight="56.0" prefWidth="231.0" text="play" /> + <Button layoutX="541.0" layoutY="14.0" mnemonicParsing="false" prefHeight="41.0" prefWidth="45.0" text="setting" /> + <Button layoutX="14.0" layoutY="14.0" mnemonicParsing="false" prefHeight="35.0" prefWidth="96.0" text="exit" /> + </children> </AnchorPane>