Stars
program Stars;
uses Types, QuickDraw, Events;

type
	Star = record
		x, y, speed: Integer;
	end;

var
	i: Integer;
	stars: Array[0..31] of Star;
	
begin
	graphics(320);
	clearScreen(black);
	hideCursor;

	{ Setup stars }

	for i := 0 to 31 do begin
		stars[i].x := i * 10;
		stars[i].y := random mod 200;
		stars[i].speed := random mod 6 + 1;
	end;
	
	repeat		
		for i := 0 to 31 do begin
		
			{ Erase stars }
		
			setSolidPenPat(black);
			moveTo(stars[i].x, stars[i].y);
			line(0, 0);
			
			{ Move stars }
			
			stars[i].y := stars[i].y + stars[i].speed;
			if stars[i].y > 199 then begin
				stars[i].y := 0;
				stars[i].speed := random mod 6 + 1;
			end;

			{ Draw Stars }

			setSolidPenPat(i mod 15 + 1);
			moveTo(stars[i].x, stars[i].y);
			line(0, 0);			
		end
	until button(0);
end.
This program uses array to generate many stars and animate them all at once at different speed and direction. Teaches the use of record to create a Star object.
Sample Codes
Hosted by www.Geocities.ws

1