Module ComplementIA
Package joueurs

Class Joueur

java.lang.Object
joueurs.Joueur
Direct Known Subclasses:
Bot, JoueurGraphique

public abstract class Joueur extends Object
Classe abstraite représentant un joueur. Chaque joueur possède une grille et peut choisir des attaques ainsi que défendre sa grille. La boucle de jeu est implémentée dans jouerAvec(Joueur) et s'appuie sur les codes de retour suivants :
  • TOUCHE : un navire a été touché mais pas coulé.
  • COULE : un navire a été coulé mais d'autres navires restent.
  • A_L_EAU : l'attaque a manqué (à l'eau).
  • GAMEOVER : tous les navires du défenseur sont coulés.
  • Field Details

  • Constructor Details

    • Joueur

      public Joueur(int taille)
  • Method Details

    • getTaille

      public int getTaille()
    • jouerAvec

      public MatchResult jouerAvec(Joueur adversaire)
      Déroule une partie entre ce joueur et l'adversaire fourni. Les tours s'alternent jusqu'à ce qu'un joueur n'ait plus de navires. La méthode gère le passage de témoin et retourne un MatchResult décrivant le vainqueur et les statistiques de la partie.
      Returns:
      résultat du match avec le vainqueur et les compteurs
    • retourAttaque

      protected abstract void retourAttaque(Coordonnee c, int etat)
      Méthodes à implémenter dans les classes concrètes pour traiter les retours suite à une attaque.
    • retourDefense

      protected abstract void retourDefense(Coordonnee c, int etat)
      Méthodes à implémenter pour gérer les retours après défense.
    • choisirAttaque

      public abstract Coordonnee choisirAttaque()
      Choisit une coordonnée à attaquer. Pour les joueurs humains, cette méthode peut bloquer en attendant un clic utilisateur.
    • defendre

      public abstract int defendre(Coordonnee c)
      Défend la grille contre une attaque. Doit retourner l'un des codes définis dans cette classe.