MAZE MAN -------- by Tudor Costigan from ZX Computing Dec'82/Jan'83 Getting stuck into the maze From deepest Gloucestershire (Cheltenham, in fact), Tudor Costigan conjures up a maze, and puts you in control of MAZE-MAN. The program is easy to understand once you press RUN. You press 'a' to move up, 'z' to move down (the funny blob in line 320 of the instructions is a z), 'm' to move right and 'n' to move left. The reason for choosing three keys will become clear when you try the program out. You get 100 points for an 'o' and 200 points for an exclamation mark, with a miserable 10 for an asterisk. Program description 0010-0070: Initialisation of variables and the like. POKE 23692,255 cures the Spectrum of its habit of asking "Scroll?" every time you blink. The subroutine at line 4300 draws the design shown at the beginning of the program. 0090-0185: These print the title and ask for the "skill level", with suitable error messages. 'ww' is used as a delay loop later in the program. 0190-0210: These define the user graphics, using DATA statements from lines 3700 onwards. In the listing, the graphics are shown as the letter they are, rather than the little things you'll have flashing around your screen when it gets underway. 0230-0440: This section of the program provides instructions if they are needed. 0510-1630: These set up the position of the "ghost" in 'l' and 'k', and then print out the board. Originally, when Tudor first wrote this, each "character position" of the board had a different DATA element, but he found this too slow. Tudor says that the design of the board has been "extensively tested" at his school, and there have been no complaints! You can make the elements of the lines different colours, puting the colours directly into the DATA statements, as described in your manual. The CHR$ 17; CHR$ 8 in line 1420 allows the old attributes of the paper to show through (see your manual, pages 111 and 114). Lines 1550 to 1610 print the title and scores in varying degrees of noticeability. Line 1620 prints the amount of man left in the middle of the board. Line 1630 sets the paper colour to green, the background colour of the insides of the maze. Variables used: n - high score n$ - high score j - code of object "underneath" ghost kk - number of lives left i - to count objects eaten this "frame" b - score d$ - stores previous key pressed v - loop variable c$ - general input variable q,z - loop variables d - loop variable a$ - stores data for board printer s - loop variable x,y - position of maze man k,l - position of ghost ss,sd- contents of proposed position q$ - score and colour control aa,bb,cc,dd - length of notes qa,qb-added to k and l produce old position