Skip to content
Snippets Groups Projects
Commit 0e6bc285 authored by melizzzz's avatar melizzzz
Browse files

nuage icones

parent 6e705dab
Branches
No related tags found
No related merge requests found
Pipeline #40644 failed
...@@ -20,6 +20,7 @@ import javafx.scene.control.ToggleGroup; ...@@ -20,6 +20,7 @@ import javafx.scene.control.ToggleGroup;
import javafx.util.Duration; import javafx.util.Duration;
import javafx.util.Pair; import javafx.util.Pair;
import model.Board; import model.Board;
import model.Entity;
import model.EntityFactory; import model.EntityFactory;
import model.Square; import model.Square;
import model.firefighterscenario.Cloud; import model.firefighterscenario.Cloud;
...@@ -91,6 +92,16 @@ public class Controller { ...@@ -91,6 +92,16 @@ public class Controller {
} }
private ViewElement getViewElement(Square square) { private ViewElement getViewElement(Square square) {
if (!square.getEntities().isEmpty()) {
for (Entity entity : square.getEntities()) {
if (entity instanceof Cloud) {
return new ViewElement(((Cloud) entity).getImage());
}else{
}
// Ajoutez ici des cas similaires pour d'autres entités comme Fire, FireFighter, etc.
}
}
return new ViewElement(square.getViewColor()); return new ViewElement(square.getViewColor());
} }
......
package model;
import javafx.scene.paint.Color;
import util.Position;
import java.util.List;
public class Road implements Entity{
private int age;
private Position position;
private final Color viewColor = Color.GREY;
private final int priority = 0;
@Override
public List<Position> nextTurn(Board<Square> board) {
return List.of();
}
@Override
public Position getPosition() {
return null;
}
@Override
public void setPosition(Position p) {
}
@Override
public int getAge() {
return 0;
}
@Override
public void setAge(int age) {
}
@Override
public void incrementAge() {
}
@Override
public Color getViewColor() {
return null;
}
@Override
public int getPriority() {
return 0;
}
}
...@@ -109,4 +109,10 @@ public class Cloud implements Entity{ ...@@ -109,4 +109,10 @@ public class Cloud implements Entity{
} }
public javafx.scene.image.Image getImage() {
return new javafx.scene.image.Image(getClass().getResource("/icons/img.png").toExternalForm());
}
} }
package view; package view;
import javafx.scene.image.Image;
import java.util.List; import java.util.List;
...@@ -9,9 +10,25 @@ import util.Position; ...@@ -9,9 +10,25 @@ import util.Position;
public class FirefighterGrid extends Canvas implements Grid<ViewElement>{ public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
//private void paintElementAtPosition(ViewElement element, Position position) {
// paintBox(position.x(), position.y(), element.getColor());
//}
private void paintElementAtPosition(ViewElement element, Position position) { private void paintElementAtPosition(ViewElement element, Position position) {
// Efface la case pour éviter les superpositions
clearBox(position.x(), position.y());
// Vérifie si une image est définie dans l'élément
if (element.getImage() != null) {
Image image = element.getImage();
getGraphicsContext2D().drawImage(image, position.y() * boxWidth, position.x() * boxHeight, boxWidth, boxHeight);
} else {
// Sinon, utilise une couleur
paintBox(position.x(), position.y(), element.getColor()); paintBox(position.x(), position.y(), element.getColor());
} }
}
private int boxWidth; private int boxWidth;
private int boxHeight; private int boxHeight;
private int columnCount; private int columnCount;
......
package view; package view;
import javafx.scene.image.Image;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
public class ViewElement { public class ViewElement {
private final Color color; private final Color color;
private final Image image;
// Constructeur avec couleur uniquement
public ViewElement(Color color) { public ViewElement(Color color) {
this.color = color; this.color = color;
this.image = null;
}
// Constructeur avec image
public ViewElement(Image image) {
this.color = null;
this.image = image;
} }
public Color getColor() { public Color getColor() {
return color; return color;
} }
public Image getImage() {
return image;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment