MazeGen is a simple square maze generator for the zx81. You can build mazes from 2x2 to 10x10 in size.
PROG : 16509
D-FILE: 17626
VARS : 18419
E-LINE: 18420
STKBOT: 18425
STKEND: 18425
9999 means line number
PRINT means treat as KEYWORD P
1 REM /***MAZEGEN**SLR/2024**
30413 YõM??LN MRNDLN ²INKEY$LN J?
LN ZINKEY$/PAUSE TAN LN EúñùòLN
PRINT !5:INKEY$LN )?ñõôLN PRINT
!AñU??LN ?INKEY$5?òLN 9?LN ?
INKEY$RETURN 6C=RETURN ?C(
RETURN 7C.RETURN ?C*RETURN GCOS
RETURN
51224 ??XRETURN ñASN INT RNDM???
AT RNDU??WRETURN "ASN INT RNDM??
?AT RND* MAZEGEN *
30264 E:
30242 HRINK, 7-GROW, G-GENERATE
COPY 5?òLN 9?LN ?INKEY$RCPOKE
TAN GOSUB ?9RND£CRAND $LN X÷A0
LN ?INKEY$APLOT LN ?INKEY$ö A
COPY I.G´SUNPLOT =PRINT ?(ù
RETURN 04õô?B4ñNOT LET TAN YñM5?
M4?LN C?5??J?¶(CLEAR ?A WM????5?
?)W?Q 7FOR Q 7FOR "?L4NEXT U???
LN O??PISTR$ Yò5??LN £?SGN LN O?
?Yñ?GOSUB ???M??M??5W?LN £?LN C?
JM??GOSUB ???õASN RAND INKEY$5W?
LN =?RTAB RAND INKEY$5??ACS EXP
GOSUB ???U??TASN =PI£5W?LN =?R
TAB =PI5??ACS CHR$ GOSUB ???U??S
ASN JPIô5W?LN =?RTAB JPI5??ACS
THEN GOSUB ???$ASN ?PI5W?LN =?R
TAB ?PI5??ACS NEW U??RTAB ?PI5??
PU???U???VAL 5W?LN =?5??AT YCö$4
LOAD (DIM TAN GOSUB ????<=INKEY$
-ôLN O?5??RETURN ñ4/ACS ?C=
GOSUB ???õGOSUB ???5??YòLN £??
LIST PIRETURN ò4;ACS ?C+GOSUB ??
?£GOSUB ???$5??YñLN £??LIST PI
RETURN ó4;ACS ?C+GOSUB ???ô
GOSUB ???õ5??YòLN £??LIST PI
RETURN ô4/ACS ?C=GOSUB ???$
GOSUB ???5??YñLN £??LIST PI/´U??
WM??M??GOSUB ???5W?LN £?5??YTAB
<=INKEY$TAN PRINT LN ;?LET ¶?
TAN LN ;?;õCOS U???;(CLEAR TAN 5
5?P""Y=?ñúôLN PRINT !56?LN )?54?
O?ö ?5F?ù
BUILDING
COPY ÷´±²LN Eú5W?U???Y.NOT òY
NOT NOT (LIST Y.NOT Y
55073 U???VAL YINOT U???FAST Y
NOT NOT ACS ?YICòY NOT 7(LIST
LPRINT Y
55098 ?Y.NOT ACS ?Y-CòY NOT NOT 7
(LIST Y.NOT Y
55233 TAN /SAVE OR LN ??Kò OR
TAN INT COPY 67?LN ;?E7?F?P4
PAUSE TAN 5 GOSUB ?µ?GOSUB ?´
NEW ??6P?
2 RAND USR VAL "16514"