これは学校の課題です。ヘビのゲームを作成します。そこで、グラフィック用とスネーク用の 2 つのパッケージを作成しました。ヘビはスムーズに動き、すべてが機能します。しかし、ヘビをキーボードで制御する必要があります。これが主な手順です。
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 です。
とにかく、ヘビの動きを一時停止せずに入力を読み取るにはどうすればよいですか? ありがとう