Package tuile

Class Tuile

java.lang.Object
tuile.Tuile
All Implemented Interfaces:
Serializable, Dessinable, Selectionnable
Direct Known Subclasses:
Carre, Drapeau, Pics, Portail, TriangleEquilateral, TriangleRectangle, VaisseauImage

public class Tuile extends Object implements Dessinable, Serializable, Selectionnable
Représente tout objet fixe qui peut être placé dans le mode éditeur.
See Also:
  • Field Details

    • largeurTuile

      protected static double largeurTuile
      largeur de la tuile (en mètre)
    • hauteurTuile

      protected static double hauteurTuile
      hauteur de la tuile (en mètre)
    • largeurDemiTuile

      protected static double largeurDemiTuile
      Largeur d'une demi-tuile
    • x

      protected double x
      L'abscisse du coin supérieur gauche de la tuile (en mètre)
    • y

      protected double y
      L'ordonnée du coin supérieur gauche de la tuile en (en mètre)
    • angleRotation

      protected double angleRotation
      l'angle de rotation de la tuile en (rad)
    • drapeau

      protected boolean drapeau
      Détermine si la tuile est un drapeau
    • vaisseau

      protected boolean vaisseau
      Détermine si la tuile est un vaisseau
    • imageRedi

      protected transient Image imageRedi
      Image redimensionnée de la tuile
    • type

      protected String type
      chaine de caractères représentant le type de la tuile
    • prePointsCoin

      protected ArrayList<Point2D.Double> prePointsCoin
      ArrayList qui contient les points des coins des blocs avant d'être transformé
    • pointsCoin

      protected ArrayList<Point2D.Double> pointsCoin
      ArrayList qui contient les points des coins des blocs post-transformé
    • pointsCoinTemp

      protected ArrayList<Point2D.Double> pointsCoinTemp
      ArrayList qui contient les points d'un bloc déja posée
    • pointInitial

      protected Point2D.Double pointInitial
      Point initial(haut-gauche) du bloc
    • contour

      protected Path2D.Double contour
      Path qui représente le contour du bloc
    • rotation

      protected MatriceRotation rotation
      Matrice de rotation
    • pointMilieu

      protected Point2D.Double pointMilieu
      Point milieu du triangle
    • listeSegments

      protected ArrayList<Segment> listeSegments
      ArrayList qui contient tous les segments de la tuile
    • aires

      protected transient Aire[] aires
      aires de sélection pour les plaques chargées
    • matricePostCreation

      protected MatriceRotation matricePostCreation
      Matrice de rotation utilisée lorsqu'on appuie sur les boutons de rotation
  • Constructor Details

    • Tuile

      public Tuile(double angleRotation, double x, double y, String type, Image image)
      Constructeur
      Parameters:
      angleRotation - l'angle de rotation de la tuile (rad)
      image - l'image représentant la tuile
      x - l'abscisse gauche de la tuile (en mètre)
      y - l'ordonnée supérieure la tuile (en mètre)
      type - le type de la tuile
    • Tuile

      public Tuile(double angleRotation, Image image, String type)
      Constructeur
      Parameters:
      angleRotation - l'angle de rotation de la tuile (rad)
      image - l'image représentant la tuile
      type - le type de la tuile
    • Tuile

      public Tuile(Image image, int x, int y, String type)
      Constructeur
      Parameters:
      image - l'image représentant la tuile
      x - l'abscisse gauche de la tuile (en mètre)
      y - l'ordonnée supérieure la tuile (en mètre)
      type - le type de la tuile
    • Tuile

      public Tuile(Image image, String type)
      Constructeur
      Parameters:
      image - l'image représentant la tuile
      type - le type de la tuile
  • Method Details

    • getHauteurTuile

      public static double getHauteurTuile()
      Retourne la hauteur de la tuile
      Returns:
      hauteur de la tuile
    • getLargeurTuile

      public static double getLargeurTuile()
      Retourne la largeur de la tuile
      Returns:
      la largeur de la tuile
    • setHauteurTuile

      public static void setHauteurTuile(double hauteurTuile)
      Définit la largeur des tuiles
      Parameters:
      hauteurTuile - la nouvelle hauteur des tuiles (en mètre)
    • setLargeurTuile

      public static void setLargeurTuile(double largeurTuile)
      Définit la largeur des tuiles
      Parameters:
      largeurTuile - la nouvelle largeur des tuiles (en mètre)
    • contient

      public boolean contient(double xPix, double yPix)
      Retourne vrai si les coordonnées (d'un point) passées en paramètre fontt partie de l'objet dessinable sur lequel cette méthode est appelée
      Specified by:
      contient in interface Selectionnable
      Parameters:
      xPix - Coordonnée en x du point (exprimée en pixels)
      yPix - Coordonnée en y du point (exprimée en pixels)
      Returns:
      vrai si le point fait partie de l'objet dessinable
    • contient

      public boolean contient(Point2D point)
      Retourne vrai si le point passé en paramètre fait partie de l'objet dessinable sur lequel cette méthode est appelée
      Parameters:
      point - le point à vérifier
      Returns:
      vrai si le point fait est contenu dans l'objet dessinable
    • creerAires

      public void creerAires(Point2D.Double pointMilieu)
      Créer les aires de sélection associées aux tuiles triangulaires
      Parameters:
      pointMilieu - le point milieu de la tuile carrée
    • creerGeometrieContour

      public void creerGeometrieContour()
      Méthode qui instancie le path qui fait le contour du bloc
    • creerLaGeometrie

      public void creerLaGeometrie()
      Crée la géométrie de base d'une tuile
    • creerListeSegment

      public void creerListeSegment()
      Méthode qui instancie la liste de segment du bloc Appelé dans la méthode setPoint des carrés, des triangles rectangles et des triangles équilatéraux
    • dessiner

      public void dessiner(Graphics2D g2d)
      Dessine l'image représentant la tuile selon ses coordonnées dans la grille
      Specified by:
      dessiner in interface Dessinable
      Parameters:
      g2d - Le contexte graphique
    • dessiner

      public void dessiner(Graphics2D g2d, int x, int y)
      Dessine l'image représentant la tuile selon les coordonnées passé en paramètre
      Parameters:
      g2d - contexte graphique
      x - abscisse gauche de la tuile (en mètre)
      y - ordonnée supérieure de la tuile (en mètre)
    • formerAireObjetSpecial

      public Area formerAireObjetSpecial()
      Méthode qui forme l'aire d'un objet spécial (pics, drapeau, portail) Redéfini dans les tuiles qui sont des objets spéciaux
      Returns:
      La forme de l'objet spécial dans un Area
    • getAires

      public Aire[] getAires()
      Retourne les aires séparant la tuile en parties égales
      Returns:
      Les aires de la tuile
    • getAngleRotation

      public double getAngleRotation()
      Retourne l'angle de rotation
      Returns:
      the angleRotation l'angle de rotation (rad)
    • getDrapeau

      public boolean getDrapeau()
      Méthode qui indique si c'est un drapeau
      Returns:
      la valeure du boolean drapaeau
    • getGeometrieDeBase

      public Rectangle2D.Double getGeometrieDeBase()
      Retourne la géométrie de base
      Returns:
      La géométrie de base
    • getListeSegments

      public ArrayList<Segment> getListeSegments()
      Retourne la liste de segment de la tuile
      Returns:
      La liste de segment de la tuile
    • getPlaque

      public PlaqueChargee getPlaque()
      Retourne la plaque placée sur la tuile
      Returns:
      La plaque placée sur la tuile
    • getPointMilieu

      public Point2D.Double getPointMilieu()
      Retourne le point milieu de la tuile
      Returns:
      Le point milieu de la tuile
    • getPointsCoin

      public ArrayList<Point2D.Double> getPointsCoin()
      Retourne la liste de coins de la tuile
      Returns:
      La liste de coins de la tuile
    • getPointZero

      public Point2D.Double getPointZero()
      Retourne le point zéro de la tuile
      Returns:
      Le point zéro de la tuile
    • getType

      public String getType()
      Retourne la chaine de caractères représentant le type de la tuile
      Returns:
      la chaine de caractères représentant le type de la tuile
    • getVaisseau

      public boolean getVaisseau()
      Méthode qui indique si c'est un vaisseau
      Returns:
      la valeure du boolean drapaeau
    • getX

      public double getX()
      Retourne l'abscisse gauche de la tuile
      Returns:
      L'abscisse gauche de la tuile
    • getY

      public double getY()
      Retourne l'ordonnée supérieure de la tuile
      Returns:
      L'ordonnée supérieure de la tuile
    • pointMilieuTriangle

      public Point2D.Double pointMilieuTriangle(ArrayList<Point2D.Double> sommets)
      Méthode qui calcule le point milieu d'un triangle à l'aide du théoreme de Thales
      Parameters:
      sommets - Arraylist des sommets du triangles
      Returns:
      Le point milieu
    • redimensionnerImage

      public void redimensionnerImage(int hauteurImage, int largeurImage)
      Méthode qui change la dimension de l'image
      Parameters:
      hauteurImage - l'hauteur voulue de l'image
      largeurImage - la largeur voulue de l'image
    • rotationPostCreation

      public void rotationPostCreation()
      Renouvelle la matrice de rotation post-placement
    • setAngleRotation

      public void setAngleRotation(double d)
      Définit le nouvel angle de rotation de la tuile
      Parameters:
      d - le nouvel angle de rotation de la tuile (rad)
    • setDrapeau

      public void setDrapeau()
      Méthode qui met le champ drapeau à vrai
    • setPlaque

      public void setPlaque(PlaqueChargee plaque)
      Modifie la plaque placée sur la tuile
      Parameters:
      plaque - La plaque placée sur la tuile
    • setPoint

      public void setPoint()
      Méthode à redéfinir dans les sous classes pour mettre les points des coins dans le arrayList pointsCoin
    • setX

      public void setX(double x)
      Définit la nouvelle abscisse gauche de la tuile
      Parameters:
      x - la nouvelle abscisse gauche de la tuile (en mètre)
    • setY

      public void setY(double y)
      Définit la nouvelle ordonnée supérieure de la tuile
      Parameters:
      y - la nouvelle ordonnée supérieure (en mètre)
    • survolerAiresDeTuile

      public Aire survolerAiresDeTuile(Point2D pointSurvole)
      Permet d'accéder à une des aires de la tuile (carré ou triangle) où se trouve le curseur
      Parameters:
      pointSurvole - La position du curseur de la souris qui survole la zone d'animation physique
      Returns:
      L'une des aires de la tuile, celle où se situe le curseur de la souris
    • setVaisseau

      protected void setVaisseau()
      Méthode qui met le champ vaisseau à vrai