Snow
Snow
program snow;
uses common,quickDrawII,eventMgr,mscToolSet;
type
snow=object
x:integer;
y:integer;
procedure setup;
procedure move;
procedure draw;
procedure erase;
end;
var
i:integer;
tick:longInt;
snows:array[1..300] of snow;
{ Setup }
procedure snow.setup;
begin
x := randomInteger mod 319;
y := randomInteger mod 100;
end;
{ Move snow }
procedure snow.move;
var
slide, speed: integer;
begin
speed := randomInteger mod 20 + 1;
slide := randomInteger mod 11 - 5;
x := x + slide;
y := y + speed;
if y > 199 then begin
x := randomInteger mod 319;
y := 0;
end;
end;
{ Draw snow }
procedure snow.draw;
begin
setSolidPenPat(15);
moveTo(x,y);
line(0,0);
end;
procedure snow.erase;
begin
setSolidPenPat(0);
moveTo(x,y);
line(0,0);
end;
begin
tick:=getTick;
startDesk(320);
setRandSeed(getTick);
hideCursor;
clearScreen(0);
{ Setup snow }
for i:=1 to 300 do begin
new(snows[i]);
snows[i].setup;
end;
repeat
for i:=1 to 300 do begin
snows[i].erase;
snows[i].move;
snows[i].draw;
end;
repeat until getTick-tick > 5;
tick:=getTick;
until button(0);
{ Clear snow }
for i := 1 to 300 do
dispose(snows[i]);
endDesk;
end.
This is Ding Wen’s first Object Oriented program, written in Orca/Pascal.