C'est un travail scolaire. Créer un jeu de serpent. J'ai donc créé deux paquets, un pour les graphiques et un pour le serpent. Le serpent se déplace en douceur et tout fonctionne. Mais j'ai besoin de contrôler le serpent avec le clavier, c'est la procédure principale :
with Graphics; use Graphics;
with Graphics.Snake; use Graphics.Snake;
procedure Run_Snake is
B : Buffer (1 .. 24, 1 .. 80);
S : Snake_Type (1 .. 5) := ((10, 10),
(10, 11),
(10, 12),
(11, 12),
(12, 12));
D : Duration := 0.07;
begin
loop
Empty (B);
Draw_Rect (B, (1, 1), Width => 80,
Height => 24);
Draw (B, S);
Update (B);
Move (S, 0, -1);
delay D;
end loop;
end Run_Snake;
dans cette ligne de code je contrôle la rotation de la tête du serpent :
Move (S, x, y);
où x est la valeur de x ; elle peut être -1 pour la gauche, 1 pour la droite.
où y est la valeur y ; elle peut être -1 pour la baisse, 1 pour la hausse ;
Quoi qu'il en soit, comment puis-je lire l'entrée sans interrompre le mouvement du serpent ? Merci