BONUS GAME
ESCAPEMAZE
by C. G. ROBERTS
This maze game won the Waikato, New Zealand, Atari UsersClub prize for programming. The program requires 16K RAM for cassette, and 24K RAM with DOS. It runs on all Atari computers.
The object of the game is to move your "man" (the flashing dot first located at the right side of the screen) successfully through three mazes. Each maze must be conquered in its turn by travelling through the preceding maze.
There is only one exit route for each maze, even though there may appear to be more. The first maze has invisible walls that, if hit, send your man back to the beginning. The time limit for each maze leaves little margin for hesitation.
If you succeed in escaping the first maze, you will see the path you took and hear a round of cosmic applause. Then you will see the maze transform into the second maze. This maze is harder. Random walls are built while your man pursues the exit. If you hit a wall here, you are transported to a random spot in the same maze. You must orient yourself quickly to your new position and proceed with the escape, if you can.
However, being transported by touching the walls can be an advantage if a random wall happens to block your only escape path. If you are lucky, your man can even be transported to the teleportal section of the maze, near the exit, that sends you immediately into the third maze.
Maze three! Well, you don't want to hit the walls there or you'll wish you hadn't. Your player will be sent back to the start. Time is always your enemy in this game, and the third maze itself is the hardest.
For the determined escapee, there is more cosmic applause at the end of three mazes, but the best reward will be sunlight, fresh air and a walk around the block. if you are really a masochist, press the fire button to play again.
TAKE-APART
Lines 5-80: Introduction.
Lines 90-280: Commands for the first maze.
GOSUB 270 reads DATA lines 110-170 to draw a maze. GOSUB 860 (to 950) gives joystick commands which control the moving pixel. These commands are the same for all three mazes. Line 210 tests the X,Y coordinates for the invisible walls, which, if positive, send the pixel back to start. Line 220 tests to see if the pixel is at the door of the first maze. Line 230 (with GOSUB 680) tests for the pixel hitting the the wall (if positive, GOTO 250). GOSUB 1080 records the number of wall hits. Line 240 draws the pixel with color 1 and erases the trail with color 3.
Lines 290-360: Graphics and sound reward for escaping first maze.
Lines 370-510: Commands for second maze.
Line 480 tests to send the pixel to the third maze. Line 500, with GOSUB 1040, tests for the pixel hitting the wall. If positive GOSUB 990 (to 1010) gives the graphics and sound routine. If negative, lines 1050-1060 randomly draw a wall in the maze at a low probability rate. GOSUB 1070 randomly places the pixel elsewhere in the maze if the wall is touched.
Lines 520-710: Commands for third maze.
Line 640 tests if the pixel is at the exit of the third maze. If positive, lines 720-850 give graphics and sound commands for conclusion and replay option. Line 660, with GOSUB 700, tests for the pixel hitting the wall. If positive, it sends the pixel back to the start of the first maze.
Listing: ESCAPEMZ.BAS Download