Snow
Snow
program snow;
uses types,quickDraw,events,miscTool;
type
snow = record
x: integer;
y: integer;
speed: integer;
end;
var
i,slide: integer;
tick: longInt;
snows: array[1..100]of snow;
begin
tick := getTick;
graphics(320);
setRandSeed(getTick);
hideCursor;
clearScreen(0);
{ Setup snow }
for i:= 1 to 100 do begin
snows[i].x := random mod 320;
snows[i].y := i*10;
snows[i].speed := random mod 10+1;
end;
repeat
for i := 1 to 100 do begin
slide := random mod 11-5;
{ Erase snow }
setSolidPenPat(0);
moveTo(snows[i].x,snows[i].y);
line(0,0);
{ Move snow }
snows[i].y := snows[i].y+snows[i].speed;
snows[i].x := snows[i].x+slide;
if snows[i].y > 190 then begin
snows[i].y := 0;
snows[i].x := random mod 320;
snows[i].speed := random mod 10+1;
end;
{ Draw snow }
setSolidPenPat(15);
moveTo(snows[i].x,snows[i].y);
line(0,0);
end;
repeat until getTick-tick > 5;
tick := getTick;
until button(0);
end.
It is snowing! Merry Christmas!
It demonstrate the use of type and array, to generate multiple objects. This is Ding Wen’s first program on multiple object animation.
You can see the alternate Orca/Pascal version here. Orca/Pascal version is written using Object Pascal, an object oriented extension of the Pascal language.