From 16cb216b10f7de081c3edbc11afd522aa7b4011b Mon Sep 17 00:00:00 2001 From: Yanis O <oualanyanis01@gmail.com> Date: Wed, 13 Nov 2024 12:03:31 +0100 Subject: [PATCH] Ajout de setter/getter pour Position dans l'interface Entity --- src/main/java/app/SimulatorApplication.java | 8 ++++---- src/main/java/model/Entity.java | 6 +++++- src/main/java/model/Fire.java | 16 ++++++++++++---- src/main/java/model/FireFighter.java | 13 ++++++++++++- src/main/java/view/FirefighterGrid.java | 8 ++++---- 5 files changed, 37 insertions(+), 14 deletions(-) diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index e88b0e9..e1778df 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -1,5 +1,8 @@ package app; +import java.io.IOException; +import java.net.URL; + import controller.Controller; import javafx.application.Platform; import javafx.fxml.FXMLLoader; @@ -7,9 +10,6 @@ import javafx.scene.Parent; import javafx.scene.Scene; import javafx.stage.Stage; -import java.io.IOException; -import java.net.URL; - public class SimulatorApplication extends javafx.application.Application { private static final String VIEW_RESOURCE_PATH = "/view/view.fxml"; private static final String APP_NAME = "Firefighter simulator"; @@ -31,7 +31,7 @@ public class SimulatorApplication extends javafx.application.Application { } @Override - public void start(Stage primaryStage) throws IOException { + public void start(@SuppressWarnings("exports") Stage primaryStage) throws IOException { initializePrimaryStage(primaryStage); initializeView(); showScene(); diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java index d6aac01..ea52763 100644 --- a/src/main/java/model/Entity.java +++ b/src/main/java/model/Entity.java @@ -1,5 +1,9 @@ package model; +import util.Position; + public interface Entity { - public void nextTurn(Board board); + public void nextTurn(Board<Entity> board); + public Position getPosition(); + public void setPosition(Position p); } diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index e04c0d7..b99a300 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -2,14 +2,22 @@ package model; import util.Position; public class Fire implements Entity{ - Board b; + Board<Entity> b; private Position position; - public Fire(Position position, Board b){ + public Fire(Position position, Board<Entity> b){ this.position = position; } @Override - public void nextTurn(Board board) { - // TODO + public void nextTurn(Board<Entity> board) { + + } + @Override + public void setPosition(Position p) { + this.position = p; + } + @Override + public Position getPosition() { + return this.position; } } diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java index 055d0cb..442a43b 100644 --- a/src/main/java/model/FireFighter.java +++ b/src/main/java/model/FireFighter.java @@ -7,7 +7,8 @@ public class FireFighter implements Entity{ public FireFighter(Position position){ this.position = position; } - public void nextTurn(Board b){ + + public void nextTurn(Board<Entity> b){ // Récupérer la position //Si un feu est à proximité : éteindre les feux à x + 1 y, x y+1, x+1 y-1, x-1 y+1 //Sinon @@ -16,5 +17,15 @@ public class FireFighter implements Entity{ // Ajouter un feu à x + 1 y, x y+1, x-1 y, x y-1 } + @Override + public void setPosition(Position p) { + this.position = p; + } + + @Override + public Position getPosition() { + return this.position; + } + } diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java index 4c9041f..39c7075 100644 --- a/src/main/java/view/FirefighterGrid.java +++ b/src/main/java/view/FirefighterGrid.java @@ -1,16 +1,16 @@ package view; +import java.util.List; + import javafx.scene.canvas.Canvas; import javafx.scene.paint.Color; import javafx.util.Pair; import util.Position; -import java.util.List; - public class FirefighterGrid extends Canvas implements Grid<ViewElement>{ private void paintElementAtPosition(ViewElement element, Position position) { - paintBox(position.row(), position.column(), element.color); + paintBox(position.x(), position.y(), element.color); } private int boxWidth; private int boxHeight; @@ -27,7 +27,7 @@ public class FirefighterGrid extends Canvas implements Grid<ViewElement>{ private void clear(List<Pair<Position, ViewElement>> positionedElements) { for (Pair<Position, ViewElement> positionElement : positionedElements) { Position position = positionElement.getKey(); - clearBox(position.row(), position.column()); + clearBox(position.x(), position.y()); } } -- GitLab