model projet_bataille_navale enum TypeCase { Vide, Bateau, Touche, Rate } enum TypeBateau { Torpilleur, Contre_Torpilleur, Croiseur, Porte_Avions } enum TypeCoup { Rate, Touche, Touche_Coule } enum EtatBateau { Operationnel, Coule } class Jeu operations init(nom1: String,nom2: String) debut() end class Joueur attributes Nom: String operations tirer(case: String): TypeCoup tirerRobot(): TypeCoup end class Flotte operations ajouterBateau(bateau: Bateau) end class Coup attributes type: TypeCoup end class Plateau operations afficherPlateau(CacherBateaux: Boolean) end class Case attributes x: Integer y: Integer type: TypeCase operations changerEtat(nouveauEtat: TypeCase) getEtat(): TypeCase end class Bateau attributes type: TypeBateau longueur: Integer Etat: EtatBateau end