Package ocean

Class Traversal

java.lang.Object
ocean.Traversal

public abstract class Traversal extends Object
Une classe abstraite fournissant les éléments de base pour un algorithme d'exploration
  • Field Details

    • path

      public static final Mark path
      La marque à poser dans l'océan sur les cases d'un chemin vers Nemo, lorsqu'un tel chemin est trouvé
    • deadEnd

      public static final Mark deadEnd
      La marque à poser dans l'océan sur les cases d'un chemin se terminant par un cul-de-sac
    • NOT_A_DIRECTION

      public static final String NOT_A_DIRECTION
      See Also:
  • Constructor Details

    • Traversal

      public Traversal()
  • Method Details

    • getDirection

      public static Direction getDirection(Ocean ocean, Coordinate c)
      Récupère la marque de la cellule c sous forme d'une direction
      Parameters:
      ocean - l'océan que l'on explore
      c - la cellule dont la marque doit être récupérée
      Returns:
      la marque posée dans c sous forme d'une direction
    • getInteger

      public static Integer getInteger(Ocean ocean, Coordinate c)
      Récupère la marque de la cellule c sous forme d'un entier
      Parameters:
      ocean - l'océan que l'on explore
      c - la cellule dont la marque doit être récupérée
      Returns:
      la marque posée dans c sous forme d'un entier
    • traverse

      public abstract boolean traverse(Ocean ocean, Coordinate start)
      Méthode principale qui définit l'algorithme d'exploration. Cette méthode sera appelée par une des méthodes Ocean.exploreUsing(Traversal)}

      À implémenter dans les classes dérivées !

      Parameters:
      ocean - l'océan à explorer
      start - la cellule de départ (la plupart de temps, ce sera les la case où se trouve Marin, mais ça peut être n'importe quelle cellule)
      Returns:
      true si Nemo a été trouvé, false sinon