Bonsoir, je voudrais déclarer une classe abstraite Piece pour dériver chaque piece en spécifiant pour chaque sous classe de piece une procédure successeurs de manière à ce que lorsque je vais parcourir mon tableau de piece je vais appeller automatiquement la bonne procédure successeurs.
J'ai fait une truc, mais c'est pas bon.
Code :
package ChessObject is type Line_Type is new Positive range 1..8; type colum_Type is new character range 'A'..'H'; type Joueur_type is (Black, White); type Piece_Type is abstract tagged record Joueur : Joueur_Type; end record; type Pion_Type is new Piece_Type with null record; type Empty_Type is new Piece_Type with null record; type Piece_Access is access all Piece_Type'Class; type Positions_type is array (Line_Type, Colum_Type) of Piece_Access; type Plateau_Type is tagged record Positions : Positions_Type; end record; end ChessObject;
|
Code :
package ChessObject.Operations is type Plan_Type is array(Positive range <> ) of Plateau_Type; type Successors_Type is record Plan : Plan_Type(1..10_000); Successor : Natural := 0; end record; -- ici j'avais déclaré une procédure abstract. function Successors(Piece : in Piece_Type'class; Plateau : in Plateau_Type; Line : in Line_Type; Colum : in Colum_type) return Successors_Type; end ChessObject.Operations;
|
Voilà si quelqu'un sais m'aider ? Merci beaucoup.