Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- with Ada.Text_IO;
- with Ada.Numerics.Discrete_Random;
- procedure Hello is
- subtype Intervalle is Integer range 1 .. 3;
- package Aleatoire is new Ada.Numerics.Discrete_Random(Intervalle);
- use Aleatoire;
- function RandNumber return Integer is
- Nombre : Integer;
- Generateur : Generator;
- begin
- Reset(Generateur);
- Nombre:=Random(Generateur);
- return Nombre;
- end RandNumber;
- type T_Bloc is (Mur,Vide,Pacman,Cerise);
- type T_Lab is array(1..10,1..10) of T_Bloc;
- type T_Pacman is record
- PosX: Integer;
- PosY: Integer;
- NbreVies: Integer;
- end record;
- procedure DessinerLabyrinthe(L:T_Lab) is
- begin
- for i in L'Range(1) loop
- for j in L'Range(2) loop
- Case L(i,j) is
- when Mur => Ada.Text_IO.Put("#");
- when Pacman => Ada.Text_IO.Put("P");
- when Cerise => Ada.Text_IO.Put("o");
- when Vide => Ada.Text_IO.Put(" ");
- end case;
- end loop;
- Ada.Text_IO.New_Line;
- end loop;
- end DessinerLabyrinthe;
- procedure InitialiserJeu(P:out T_Pacman; L:out T_Lab) is
- T: Integer := RandNumber;
- begin
- P.PosX := 1;
- P.PosY := 1;
- P.NbreVies := 4;
- for i in L'Range(1) loop
- for j in L'Range(2) loop
- T := RandNumber;
- case T is
- when 1 => L(i,j) := Mur;
- when 2 => L(i,j) := Vide;
- when 3 => L(i,j) := Cerise;
- when others => L(i,j) := Vide;
- end case;
- end loop;
- end loop;
- L(P.PosX,P.PosY) := Pacman;
- DessinerLabyrinthe(L);
- end InitialiserJeu;
- MonLab: T_Lab;
- MonPacman: T_Pacman;
- begin
- InitialiserJeu(MonPacman,MonLab);
- end Hello;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement