home *** CD-ROM | disk | FTP | other *** search
- {$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X+}
- {$M 16384,0,655360}
- (*===================================================================*)
- (* TEWILOGO.PAS *)
- (* (C) 1993 te-wi Verlag, München *)
- (*===================================================================*)
-
- PROGRAM tewiLogo;
-
- USES
- Crt, DOS, Graph, Drivers;
-
- VAR
- MaxX, MaxY,
- x, y, gd, gm, i : INTEGER;
- p1, p2, p3 : Pointer;
- size : WORD;
- ch : CHAR;
- Hour, Minute, Second, Sec100: WORD;
-
- {$I BITMAP1.INC}
- {$I BITMAP2.INC}
- {$I BITMAP3.INC}
-
- PROCEDURE MoveLogo;
- BEGIN
- y := MaxY DIV 2 - 35;
- x := MaxX;
- REPEAT
- IF KeyPressed THEN BEGIN
- PutImage(x, y, p2^, NormalPut);
- Exit;
- END;
- PutImage(x, y, p1^, NormalPut);
- Dec(x, 1)
- UNTIL x <= 1;
- PutImage(x, y, p2^, NormalPut);
- END;
-
- BEGIN
- CheckBreak := FALSE;
- DetectGraph(gd, gm);
- InitGraph(gd, gm, '');
- DirectVideo := TRUE;
- GetMem(p1, SizeOf(Bitmap1));
- GetMem(p2, SizeOf(Bitmap2));
- GetMem(p3, SizeOf(Bitmap3));
- Move(Bitmap1, p1^, SizeOf(Bitmap1));
- Move(Bitmap2, p2^, SizeOf(Bitmap2));
- Move(Bitmap3, p3^, SizeOf(Bitmap3));
- ch := #0;
- MaxX := GetMaxX;
- MaxY := GetMaxY;
- REPEAT
- GetTime(Hour, Minute, Second, Sec100);
- IF Minute MOD 2 = 0 THEN BEGIN
- Randomize;
- x := Random(MaxX - 221);
- y := Random(MaxY - 71);
- PutImage(x, y, p1^, NormalPut);
- Randomize;
- Delay(Random(1500) + 500);
- PutImage(x, y, p2^, NormalPut);
- END ELSE MoveLogo;
- IF KeyPressed THEN BEGIN
- ch := ReadKey;
- IF ch <> ^F THEN BEGIN
- PutImage(x, y, p3^, NormalPut);
- FOR i := 30 TO 900 DO BEGIN
- Sound(i * 10); Delay(1);
- END;
- FOR i := 900 DOWNTO 30 DO BEGIN
- Sound(i * 10); Delay(1);
- END;
- NoSound;
- PutImage(x, y, p2^, NormalPut);
- END;
- END;
- UNTIL ch = ^F;
- FreeMem(p1, Size);
- FreeMem(p2, Size);
- FreeMem(p3, Size);
- CloseGraph;
- END.
-
- (*===================================================================*)