package batNavale; /** Classe representant un bateau place sur des cases. Il peut etre * touche et coule. * @author M. Nebut * @version 05/05 */ public abstract class Bateau { /** les cases sur lequel est place ce bateau. */ // COMPLETER /** Indique si p fait partie des positions de ce bateau. * @param p la position a tester, non null * @return vrai si ce bateau occupe p sur une de ses cases */ // COMPLETER public boolean estSur(Position p) { return false; } /** Construit un bateau pas encore touche a partir d'une position, * d'une direction, et d'un nombre de cases. * @param p la position la plus a gauche pour un bateau * place horizontalement, la plus en bas pour un bateau place * verticalement) * @param d la direction (horizontale ou verticale) de ce bateau * @param nb le nombre de cases occupees par ce bateau */ // COMPLETER public Bateau (Position p, Direction d, int nb) { // COMPLETER } /** Indique si le bateau est coule. * @return vrai si ce bateau est coule. */ // COMPLETER public boolean estCoule() { // COMPLETER return false; } /** Indique si le bateau est touche. * @return vrai si ce bateau est touche. */ // COMPLETER public boolean estTouche() { // COMPLETER return false; } /** Evalue le coup correspondant a la position passee en parametre * : repercute son effet sur ce bateau. Leve une exception si le * bateau est touche ou coule suite au coup. * @param p la position representant une tentative pour viser ce * bateau, non nulle * @throws ToucheException si le bateau n'est que touche sur cette case * @throws CouleException si le bateau est coule suite a ce coup */ // COMPLETER public void evaluerCoup(Position p) throws ToucheException, CouleException { // COMPLETER } /** retourne vrai si b chevauche ce bateau. * @param b le bateau avec lequel on veut verifier le * chevauchement, non null * @return vrai si b chevauche ce bateau */ // COMPLETER public boolean chevauchement(Bateau b) { // COMPLETER return false; } }