Module ComplementIA
Package logique

Class Navire

java.lang.Object
logique.Navire

public class Navire extends Object
Représente un navire sur la grille. Un navire est défini par ses coordonnées de début et de fin ainsi que par l'ensemble des cases déjà touchées. Les navires sont horizontaux ou verticaux (aucune diagonale).
  • Constructor Summary

    Constructors
    Constructor
    Description
    Navire(Coordonnee debut, int longueur, boolean estVertical)
    Crée un navire à partir d'une coordonnée de départ, d'une longueur et d'une orientation.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Retourne vrai si ce navire chevauche un autre navire (partage au moins une case).
    boolean
    Retourne vrai si la coordonnée donnée se situe sur ce navire (touchée ou non).
    double
    Calcule une distance euclidienne simple entre le début et la fin du navire.
    boolean
    Indique si toutes les parties du navire ont été touchées (navire coulé).
    boolean
    Indique si le navire a été touché au moins une fois.
    boolean
    Retourne vrai si le navire a été touché à la coordonnée donnée.
     
     
    boolean
    Applique un tir à la coordonnée donnée.
     
    boolean
    Retourne vrai si ce navire touche un autre navire sans chevauchement (adjacence horizontale ou verticale).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Navire

      public Navire(Coordonnee debut, int longueur, boolean estVertical)
      Crée un navire à partir d'une coordonnée de départ, d'une longueur et d'une orientation.
      Parameters:
      debut - coordonnée de départ (indexée à 0)
      longueur - longueur du navire (nombre de cases)
      estVertical - vrai si le navire est vertical, faux s'il est horizontal
  • Method Details

    • getDebut

      public Coordonnee getDebut()
    • getFin

      public Coordonnee getFin()
    • contient

      public boolean contient(Coordonnee c)
      Retourne vrai si la coordonnée donnée se situe sur ce navire (touchée ou non).
    • chevauche

      public boolean chevauche(Navire n)
      Retourne vrai si ce navire chevauche un autre navire (partage au moins une case).
    • touche

      public boolean touche(Navire n)
      Retourne vrai si ce navire touche un autre navire sans chevauchement (adjacence horizontale ou verticale).
    • estTouche

      public boolean estTouche(Coordonnee c)
      Retourne vrai si le navire a été touché à la coordonnée donnée.
    • recoitTir

      public boolean recoitTir(Coordonnee c)
      Applique un tir à la coordonnée donnée. Retourne vrai si le tir touche le navire et n'avait pas déjà été enregistré. Les tirs doublons sont ignorés.
    • estTouche

      public boolean estTouche()
      Indique si le navire a été touché au moins une fois.
    • estCoule

      public boolean estCoule()
      Indique si toutes les parties du navire ont été touchées (navire coulé).
    • distance

      public double distance()
      Calcule une distance euclidienne simple entre le début et la fin du navire. Principalement utilisée pour des tests unitaires.
    • toString

      public String toString()
      Overrides:
      toString in class Object