program SnakeMatrix;
uses
crt;
var
data : array[0..63] of integer;
procedure fillDataSimple;
var
i: integer;
begin
for i := 0 to 63 do begin
data[i] := i + 1;
end;
end;
procedure proceedCoords(var x, y, dx, dy: integer);
var
x1, y1: integer;
dx1, dy1: integer;
xOut, yOut: boolean;
begin
if ((x = 7) and (y = 7)) then begin
x := 0;
y := 0;
dx := -1;
dy := 1;
end else begin
x1 := x + dx;
y1 := y + dy;
xOut := ((x1 < 0) or (x1 > 7));
yOut := ((y1 < 0) or (y1 > 7));
if xOut then begin
y := y + 1;
dx := -dx;
dy := -dy;
end else if yOut then begin
x := x + 1;
dx := -dx;
dy := -dy;
end else begin
x := x1;
y := y1;
end;
end;
end;
var
x, y: integer;
dx, dy: integer;
i, j: integer;
begin
clrscr;
fillDataSimple;
x := 0;
y := 0;
dx := -1;
dy := 1;
for i := 0 to 63 do begin
gotoxy(5 * x + 1, 2 * y + 1);
delay(15000);
write(data[i]);
proceedCoords(x, y, dx, dy);
end;
readkey;
end.
Помогите пожалуйста переделать программу |