Procedures, types .
CONST BITMAP_SIZE = 32;
SCREEN_SIZE = 700;
TYPE BitmapAr = ARRAY [1..BITMAP_SIZE],[1..BITMAP_SIZE] OF CHAR;
VAR
gHunter, gEuro, gBackground: BitmapAr;
gColorMap: ARRAY['a'..'z'] OF CARDINAL;
PROCEDURE CreateBitmaps();
BEGIN
(* Init the color map *)
gColorMap['a'] :=
_clrBLACK
; (* 0*)
gColorMap['b'] :=
_clrBLUE
; (* 1*)
gColorMap['c'] :=
_clrGREEN
; (* 2*)
gColorMap['d'] :=
_clrCYAN
; (* 3*)
gColorMap['e'] :=
_clrRED
; (* 4*)
gColorMap['f'] :=
_clrMAGENTA
; (* 5*)
gColorMap['g'] :=
_clrBROWN
; (* 6*)
gColorMap['h'] :=
_clrWHITE
; (* 7*)
gColorMap['i'] :=
_clrGRAY
; (* 8*)
gColorMap['j'] :=
_clrLIGHTBLUE
; (* 9*)
gColorMap['k'] := _clrLIGHTGREEN
;(* 10*)
gColorMap['l'] :=
_clrLIGHTCYAN
;(* 11*)
gColorMap['m'] :=
_clrLIGHTRED
;(* 12*)
gColorMap['n'] := _clrLIGHTMAGENTA
;(*
13*)
gColorMap['o'] := _clrLIGHTYELLOW
;(*
14*)
gColorMap['p'] := _clrBRIGHTWHITE
;(*
15*)
(* 'z' is used for the background color *)
gHunter[1]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[2]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[3]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[4]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[5]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[6]:="zzzzzzzzzzzzzooooooozzzzzzzzzzzz";
gHunter[7]:="zzzzzzzzzzzooooooooooozzzzzzzzzz";
gHunter[8]:="zzzzzzzzzzoaaoooooooooozzzzzzzzz";
gHunter[9]:="zzzzzzzzzoooaaaaoooooooozzzzzzzz";
gHunter[10]:="zzzzzzzzoooooooaaaooooooozzzzzzz";
gHunter[11]:="zzzzzzzooooooooooaaaoooooozzzzzz";
gHunter[12]:="zzzzzzoooooooooooooaaaooooozzzzz";
gHunter[13]:="zzzzzzooooooeaoooooaaaaoooozzzzz";
gHunter[14]:="zzzzzooooooeeaaooooaaaaaaooozzzz";
gHunter[15]:="zzzzzooooooaaaaooooaaaaaaaaazzzz";
gHunter[16]:="zzzzzoooooooaaoooooaaaaooooazzzz";
gHunter[17]:="zzzzzooooooooooooooooooooooozzzz";
gHunter[18]:="zzzzzooooooooooooooooooooooozzzz";
gHunter[19]:="zzzzzoooooooooooooooooeooooozzzz";
gHunter[20]:="zzzzzoooooooooooooooioeooooozzzz";
gHunter[21]:="zzzzzziiiiiiiipppppiiieggggggzzz";
gHunter[22]:="zzzzeeiippppppiiiiiiieeggggggzzz";
gHunter[23]:="zzzzzziiiiiiiiiiiiiiiieggggggzzz";
gHunter[24]:="zzzzzzzzooooooooooooooeoozzzzzzz";
gHunter[25]:="zzzzzzzzzooooooooooooooozzzzzzzz";
gHunter[26]:="zzzzzzzzzzooooooooooooozzzzzzzzz";
gHunter[27]:="zzzzzzzzzzzooooooooooozzzzzzzzzz";
gHunter[28]:="zzzzzzzzzzzzzooooooozzzzzzzzzzzz";
gHunter[29]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[30]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[31]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gHunter[32]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[1]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[2]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[3]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[4]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[5]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[6]:="zzzzzzzzzzzzzzooooooozzzzzzzzzzz";
gEuro[7]:="zzzzzzzzzzzooooooooooooozzzzzzzz";
gEuro[8]:="zzzzzzzzzzooooooooooooooozzzzzzz";
gEuro[9]:="zzzzzzzzzooooozzzzzzzooooozzzzzz";
gEuro[10]:="zzzzzzzooooozzzzzzzzzzzoooozzzzz";
gEuro[11]:="zzzzzzzoooozzzzzzzzzzzzzoooozzzz";
gEuro[12]:="zzzzzzoooozzzzzzzzzzzzzzoooozzzz";
gEuro[13]:="zzzzzoooozzzzzzzzzzzzzzzzoooozzz";
gEuro[14]:="zzzzzoooozzzzzzzzzzzaaaaaoooozzz";
gEuro[15]:="zzzooooooooooooooooooaaaaaaaazzz";
gEuro[16]:="zzooooooooooooooooooaaaaaaaaaazz";
gEuro[17]:="zzzzooooozzzzzzzaaaaaazzzzaaaaaz";
gEuro[18]:="zzzzooooozzzzzaaaaaaaaazzzzaaaaa";
gEuro[19]:="zzzooooooooooooooooooazzzzzzzzzz";
gEuro[20]:="zzoooooooooooooooooozzzzzzzzzzzz";
gEuro[21]:="zzzzzooooozzaaaazzzzzzzzzzzzzaaa";
gEuro[22]:="zzzzzzoooozaaaazzzzzzzzzzzzzaaaa";
gEuro[23]:="zzzzzzoooooaaaaaaaaazzzzzzzaaaaz";
gEuro[24]:="zzzzzzoooooaaaaaaaazzzzzooooaaaz";
gEuro[25]:="zzzzzzzoooooaazzzzzzzzzoooooaazz";
gEuro[26]:="zzzzzzzzoooooazzzzzzzzoooooaazzz";
gEuro[27]:="zzzzzzzzzoooooazzzzzzooooooazzzz";
gEuro[28]:="zzzzzzzzzzoooooooooooooooaazzzzz";
gEuro[29]:="zzzzzzzzzzzooooooooooooazzzzzzzz";
gEuro[30]:="zzzzzzzzzzzzzzooooooozzzzzzzzzzz";
gEuro[31]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gEuro[32]:="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz";
gBackground[1]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[2]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[3]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[4]:="fcccfcccfcccfcccfcccfcccfccfcccc";
gBackground[5]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[6]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[7]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[8]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[9]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[10]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[11]:="fcccfcccfcccfcccfcccfcccfccfcccc";
gBackground[12]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[13]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[14]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[15]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[16]:="fcccfcccfcccfcccfcccfcccfccfcccc";
gBackground[17]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[18]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[19]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[20]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[21]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[22]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[23]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[24]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[25]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[26]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[27]:="cfcccfcccfcccfcccfcccfcccfccfccc";
gBackground[28]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[29]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[30]:="ccfcccfcccfcccfcccfcccfcccfccfcc";
gBackground[31]:="cccfcccfcccfcccfcccfcccfcccfccfc";
gBackground[32]:="cfcccfcccfcccfcccfcccfcccfccfccc";
END CreateBitmaps;
PROCEDURE DrawBitmap(bitmap: BitmapAr);
BEGIN
(* ... *)
END DrawBitmap;
VAR
c: CHAR;
BEGIN
(* Initialise graphics. Coordinatesystem: (0,0) is the
top
left corner *)
IF NOT Init(1, 1 , SCREEN_SIZE, SCREEN_SIZE) THEN
WrStr("Sorry, graphics doesn't work");WrLn;
RETURN;
END;
CreateBitmaps();
DrawBitmap(gHunter);
(* Show graphics until user presses a key *)
WrStr("Press any key to finish the program");
c := RdKey();
WrLn; RdLn;
END X1.