home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* PATS.PAS *)
- (* Graustufen für die Hercules-Karte *)
- (* (c) 1989 D.Nashed & TOOLBOX *)
- (* ------------------------------------------------------ *)
- UNIT Pats;
-
- INTERFACE
-
- USES Graph;
-
- VAR pat : ARRAY [0..64] OF FillPatternType;
-
- IMPLEMENTATION
-
- CONST dm : ARRAY [0..7,0..7] OF BYTE =
- (( 0,32, 8,40, 2,34,10,42),
- (48,16,56,24,50,18,58,26),
- (12,44, 4,36,14,46, 6,38),
- (60,28,52,20,62,30,54,22),
- ( 3,35,11,43, 1,33, 9,41),
- (51,19,59,27,49,17,57,25),
- (15,47, 7,39,13,45, 5,37),
- (63,31,55,23,61,29,53,21));
- VAR t : WORD;
-
- PROCEDURE Pattern(farbe : WORD);
- VAR x, y : WORD;
-
- FUNCTION hoch_2(x : WORD) : LONGINT;
- VAR h : LONGINT;
- BEGIN
- h := 1;
- WHILE x > 0 DO BEGIN
- h := h*2; x := x-1;
- END;
- hoch_2 := h;
- END;
-
- BEGIN
- FOR y := 0 TO 7 DO BEGIN
- pat [farbe, y + 1] := 0;
- FOR x := 0 TO 7 DO
- IF farbe > dm [x, y] THEN
- pat [farbe, y+1] := pat [farbe, y+1] OR hoch_2(x);
- END;
- END;
-
- BEGIN
- FOR t := 0 TO 64 DO Pattern(t);
- END.
- (* ------------------------------------------------------ *)
- (* Ende von PATS.PAS *)