这是学校的作业。创建一个蛇游戏。所以我创建了两个包,一个用于图形,一个用于蛇。蛇移动平稳,一切正常。但我需要用键盘控制蛇。这是主要程序:
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;
在这行代码中,我控制了蛇头的旋转:
Move (S, x, y);
其中 x 是 x 值,左侧可以为 -1,右侧可以为 1。
其中 y 是 y 值,它可以是 -1 表示向下,1 表示向上;
无论如何,如何在不暂停蛇移动的情况下读取输入?谢谢