mission1.adb

--
-- Ce programme effectue un tour de piste
-- en utilisant l'acteur Simulation
--

with Simulation ;

procedure Mission1 is

   package S renames Simulation ;


   -- Cette action déplace l'avion du point K au début de la piste
   procedure Rouler_KA is
   begin
      -- On observe un magnifique bloc séquence.

      S.Attendre_Autorisation_Roulage ;
      S.Rouler_Vers (Dest => 'L') ;
      S.Rouler_Vers (Dest => 'M') ;

      -- Facultatif :
      --S.Rouler_Vers (Dest => 'H') ;
      --S.Rouler_Vers (Dest => 'G') ;
      --S.Rouler_Vers (Dest => 'F') ;

      S.Rouler_Vers (Dest => 'E') ;
      S.Rouler_Vers (Dest => 'A') ;
   end Rouler_KA ;


   -- Cette action déplace l'avion de la fin de la piste au point K
   procedure Rouler_DK is
   begin
      S.Rouler_Vers (Dest => 'N') ;
      S.Rouler_Vers (Dest => 'P') ;

      --S.Rouler_Vers (Dest => 'R') ;
      --S.Rouler_Vers (Dest => 'S') ;
      --S.Rouler_Vers (Dest => 'T') ;

      S.Rouler_Vers (Dest => 'M') ;
      S.Rouler_Vers (Dest => 'L') ;
      S.Rouler_Vers (Dest => 'K') ;
   end Rouler_DK ;


   procedure Tester_Roulage is
   begin
      -- Aller en début de piste
      Rouler_KA ;

      -- Parcourir la piste
      S.Attendre_Autorisation_Decollage ;
      S.Parcourir_Piste ;

      -- Retour au bercail
      Rouler_DK ;
   end Tester_Roulage ;


begin
   --
   -- Le programme Mission1 commence l'exécution ici
   -- Le corps de Mission1 est un simple appel de procédure (un bloc)
   --

   Tester_Roulage ;

end Mission1 ;