77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
program ScreenSaver_Windows;
|
|
|
|
uses Crt;
|
|
|
|
const chars: string=' °±²ÛþÜÝÞß#'; { chars for use to fill windows }
|
|
del=100; { delay between windows }
|
|
|
|
var x1, y1: integer;
|
|
x2, y2: integer;
|
|
rfc, rbc: integer;
|
|
usech: integer;
|
|
|
|
procedure Initialize;
|
|
begin
|
|
TextMode(3+256); { Goes to 80x50 mode (for more windows ;-) }
|
|
end;
|
|
|
|
procedure Shutdown; { resets all changes }
|
|
begin
|
|
TextMode(3);
|
|
Window(1,1,80,25);
|
|
TextColor(7);
|
|
TextBackground(0);
|
|
end;
|
|
|
|
procedure GetRandomPos;
|
|
var tv: integer;
|
|
begin
|
|
x1:=Random(81); { Get some coordinates from tha nice randomizer }
|
|
x2:=Random(81);
|
|
y1:=Random(51);
|
|
y2:=Random(51);
|
|
if x1>x2 then begin { did you hear that x1 is greater than x2? }
|
|
tv := x2;
|
|
x2 := x1;
|
|
x1 := tv;
|
|
end;
|
|
if y1>y2 then begin { or even that y1 is greater than y2? }
|
|
tv := y2;
|
|
y2 := y1;
|
|
y1 := tv;
|
|
end;
|
|
end;
|
|
|
|
procedure GetRandomColors;
|
|
begin
|
|
rfc:=Random(16); { which color do we want to use? }
|
|
rbc:=Random(16); { and behind those little chars? }
|
|
end;
|
|
|
|
procedure GetRandomChar;
|
|
begin
|
|
usech:=Random(Length(chars))+1; { What chars? }
|
|
end;
|
|
|
|
procedure DrawWindow;
|
|
var x: integer;
|
|
begin
|
|
window(x1,y1,x2,y2); { This has nothing to do with MICROSHITs product }
|
|
GotoXY(1,1); { go to the upper left corner }
|
|
TextColor(rfc); { tell the bios which color to use.... }
|
|
TextBackground(rbc);
|
|
for x:=1 to (x2-x1+1)*(y2-y1+1)-(x2-x1+1) do Write(chars[usech]); { fill all with those nice little chars...hehe }
|
|
end;
|
|
|
|
begin
|
|
Initialize; { set videomode }
|
|
repeat
|
|
GetRandomPos; { get some coordinates }
|
|
GetRandomColors; { get some colors }
|
|
GetRandomChar; { get the pos of the right char }
|
|
DrawWindow; { make such a nice window }
|
|
Delay(del); { wait a sec.... }
|
|
Randomize; { reinitialize randomizer }
|
|
until keypressed; { heeeeree weee gooo agaaaiiinn ..... }
|
|
Shutdown; { shut all down - restore vidmode }
|
|
end. |