My attempt at creating an Ultima like game on a ZX81. Tiles is a prototype of that game. This version will run on a 16K ZX81.
PROG : 16509
D-FILE: 25357
VARS : 26150
E-LINE: 26151
STKBOT: 26151
STKEND: 26151
9999 means line number
PRINT means treat as KEYWORD P
0 REM MCII
30403 ?/INKEY$??INKEY$??INKEY$??
INKEY$? ??INKEY$?õPI?8PI?INPUT
PI???LN Vò84IF INT £FAST STR$
ACS ?C!Y-LN õPILN (INKEY$)(BLN
UNPLOT RNDK;)CONT óLN UNPLOT RND
K=)? LN UNPLOT RNDK>2úLN UNPLOT
RNDK)/=LN òINKEY$)CONT óLN ò
INKEY$)? LN òINKEY$2úLN òINKEY$2
ñLN òINKEY$SGN LPRINT TAN FAST B
GOSUB ?LPRINT TAN Y0BGOSUB ?SóW/
RAND ;?õPI?J??J?7TAN E£RND)5
FAST GOSUB ?/RNDù7FAST ;FOR 5
CHR$ òGOSUB PISTOP AT FOR GOSUB
KLPRINT ñQòù6:RNDCLEAR QT5CLEAR
QUóTAN LN VòñCOPY RETURN JFAST
GOSUB PILPRINT COS //LN VòG4IF
LN Vò?RETURN COPY CSAVE ñCOPY
RETURN JFAST GOSUB PILPRINT C
INPUT J?8COS 9?LN X÷ASN DRNDTAN
ACS UNPLOT 6ORNDEORND?NEW ?PCOS
LN ?INKEY$CNEXT TAN YF( AND
GOTO PI?YñACS CKòYôACS DKòACS ÷
PRINT LN INT INKEY$÷ACS ?Kò
INPUT ??)2£UKRND<IF VAL INKEY$
LET J4/òLET KRETURN !SòINPUT ?/Q
Y*( AND GOTO PI?NEW 3?VAL VAL
VAL JACS (ACS (ACS (??DDAT ??ù
AT ?ùGOSUB ?£RNDù76:RNDAT Y/(MU
RNDY5)MTRNDTAN STR$ FAST VAL
RETURN
8218 RNDACS ?CõLN ( /QE:RNDLN ?
PI/CRETURN RNDABS JPI5ñRNDACS ?C
õLN ( /*E:RNDPRINT LET E:RND?76:
RND5TRNDPAT LPRINT SGN TAN 7
PRINT 6:RNDCLEAR QT5UURNDXMURND
RETURN òATN ?PILET TAN U5RND
RETURN CöXM5RND/AE£RNDñSAVE òùQ
?FAST LN ?INKEY$CCLS LPRINT Q
RETURN CASN EúRETURN ZC:RETURN D
4÷ACS 0F?O4CLS ?/INKEY$LN ?!/
ABS ?LCOS ,LN õPI<"/PRINT
RETURN ?SùRETURN ""ACS R AND FPI
NEW Z5)ñ?ôRETURN 5K£RETURN ñCô
RETURN *SôJLN õPIACS õPI7/PRINT
NEW ZLN õPIJ?!PIINT º?MCIF LN O?
VAL ?PI) STR$ FOR 7DFOR D?+?0
FOR KPLOT FOR FOR J?3??3?OC/FOR
JACS 0ACS 1?+?0IF ù??+??0?STOP ;
STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ??*>=(INKEY$FOR ?C?
ACS ?TAB (INKEY$TAN GOSUB ?MRND?
ICLEAR ?Rö GOSUB ?/GOSUB ?/??
GOSUB ?Kñ76MRNDACS W??TAN LN E
-RND7PRINT LN -?LN -?LN S?LN
INPUT ?INT ?LN R?LN <>?TAN LN
LEN ?YCODE LN RUN ?LN *?/$LN R?5
LN >?óLN NEXT ?FAST LN LEN ?
LPRINT LN >?LN A?LN LLIST !)
CLEAR ?ñ( LN IF ?E?RNDLN INPUT ?
)RUN ?ñô LN IF ?E?RNDLN INPUT ?
LN .?LN .?YRUN LN RUN ?Y?LN RUN
?LN LET ?RETURN YTAB DRND5LIST ?
FAST LN EúE?RNDDIM LN POKE ?4
CLS INT ?
30455
30386 DER II ENDAT YTAN ?B?6?RND
GOSUB ?0RND<5?RNDLN ??5 6?RNDE?
RND6?RNDLN A?WMõ?5?RNDFAST LN 7?
LPRINT FAST 7776-RNDU*RNDM5RND
LN -?RETURN PAUSE ATN NEXT ?
RETURN RAND ATN CHR$ ?RETURN IF
ATN ,?RETURN THEN CREM RETURN
DIM ATN J?RETURN GOTO ATN ??
RETURN GOSUB ATN >?RETURN FOR
ATN PAUSE ?RETURN NEXT ATN 2?
RETURN SLOW ATN ""?RETURN POKE
ATN VAL ?RETURN FAST ATN L?
RETURN INPUT ATN ¶?RETURN PLOT
ATN ??RETURN UNPLOT ATN ³?
RETURN LET ATN 2?RETURN CLS ATN
K?RETURN STOP ASN £?RETURN
PRINT ATN LET ?RETURN LPRINT
ATN CHR$ ?RETURN NEW ATN ò?
RETURN COPY ATN UNPLOT ?RETURN
REM C?RETURN SCROLL ATN P?
RETURN RETURN ATN $?RETURN
CLEAR ATN A?RETURN 4;E-RND-?
RETURN
8202 2?TAB Q?LN £?LN LEN ?YSLN
RUN ??DRNDLN H?5=RND?S?5?!?S?5?ó
?S?SCROLL RETURN ?4SGN LN RUN ?5
/?LN S?/LEN ñRETURN RETURN
GOSUB ?ACS 1**?POKE ??7?STR$
FOR FAST 67RND6úRNDLN .?LN
INPUT ?JLN RUN ?LPRINT LN ??..
FOR SGN LN ??GOSUB ??RNDLN ??
FAST GOSUB ??RNDBGOSUB ?LPRINT
**6?RND?SCROLL ??7?7TAN ?7?7TAN
FAST AT E0RND7LN ??FOR BGOSUB PI
SQR E?RNDGOSUB ?**FOR 7/GOSUB Y?
PRINT LN -?LN ??LN ??FOR LN ??
FOR LET ?U?YLN /DIM FAST SCROLL
RETURN
10249 CõPRINT LN RUN ?LET LPRINT
TAN VAL FAST E?RNDPRINT ?FAST 76
?RNDLN POKE ?RETURN D4-Y
52727 LN INPUT ?JLN RUN ?LET A ?
LN INPUT ?/òLPRINT LET LPRINT
AT JTAN 5CLEAR ACS LN X?5ñEXP
LN X?LN LET ?5CLEAR ACS LN X?5ñ:
?X?LN -?RETURN
8198 ?LN -?RETURN INKEY$CZ
RETURN
51890 "CYRETURN AT C?RETURN CHR$
ASN >=?RETURN TAB ASN GOTO ?
RETURN ,ASN O?PRINT E-RND7LET ñT
?VAL ñ VAL ñM?VAL ???5INPUT ?
LN S?/?5RND?LN S?/óLN ??5IF ?LN
S?/?Y?LN B?E?RNDFAST LN X?ñCOPY
COPY LN ? óPRINT LN RUN ?LET
RETURN "CõLN B?/INPUT LPRINT
VAL GOSUB ??RNDLN ??Y)LN U?Yñ
LPRINT ?U?LN I?LN SQR ?5??LN X?5
PRINT !LN S?LN -?RETURN ,C>
RETURN ;ASN CLS ?RETURN +ASN
CLS ?5.?LN S?JTAN 5X?LN S??CLS ?
5ñRNDACS ?TAB :"JLN RUN ?UTRND
RETURN )S?:(Y/5URND-??PRINT !LN
??Y?LN B?5RUN ?LN S?/JLN H?5RUN
?LN S?/8?NEW 3?5ñRNDACS ?C:5SRND
-ACS COPY LEN WUSR ?!?òùUTRND
CHR$ 5±UNPLOT .?/RY
50167 LN ABS ?5IF ?LN S??.?LN ??
STR$ LN ??STR$ AT SGN TAN
RETURN RNDABS CONT ?ñWRNDòLN ??
RETURN 0SúRETURN RNDKöLN -?ó/
INPUT RETURN (M÷?CôRETURN $4òóòú
ACS COPY òLN ³?A ?DDGOSUB ??RNDù
?U÷?RETURN $C!RETURN (4òJTAN ?
TAN YñTAN EôRND9ñWRNDJMö?úY4£
ACS ?4KACS LIST ACS RNDFAST 5ö?O
ASN CONT ?LPRINT ?FFAST LN
SCROLL ?LPRINT óACS ?CNEXT J?6ù?
Uö?LN ??RETURN ñ4"Y5LN U?5SAVE ?
LN S?Uö?5õ??ôS**?TAN Eù?)M
GOSUB ?GOSUB ??RNDGOSUB ?SQR
INT ³FAST LN ???NLPRINT ""GOSUB
?ñ?LN ??) LN ??E?RNDGOSUB ?ñ?;6
ñ?ñ ?COS :LN -?LN S?RETURN ñ
ASN ??RETURN 4úLN ?ACOPY FAST
LN -?RETURN =TAB CONT ?LN H?
LPRINT ?RETURN COPY 4£5SGN FOR
LN X?5???S?Y6?U?FAST 5??LN S?LN
-?LN ??RETURN (46LPRINT LN **?5
STR$ VAL LN X?5??LN S?LN -?LN 3?
5AT SGN LN X?5???S?LN -?LN 3?
LPRINT Y5LN U?5???S?I+FAST LN -?
RETURN (CRAND RETURN "4õLN ??/?
RETURN INKEY$4!5RND?LN S?/?
RETURN CHR$ 4"LN ??5U?LN S?/?LN
ABS ?/?LN S?LN -?FAST LN ??
RETURN (4NLN -?LN H?E-RND??LN X?
/"LN -?RETURN TO TAB CONT ?LN O
?5??LN S?LPRINT Y5LN U?5???S?
LPRINT Y5LN U?5H??S?5??LN S?LN ?
?RETURN )CùLPRINT X""LN -??5?LN
-?/FOR ?ññ /ùLN POKE ?ñ GCOS £)
ù?>TAN B.GOSUB ???LIST INT º
STR$ LN ??FOR SGN ;FOR TAN Eñ?6õ
?TAN ?LCOS Eõ?FOR GOSUB KGOSUB ?
õ?TAN FAST Eõ?GOSUB ?ñ?BGOSUB ?
FAST AT LPRINT LN ??VAL FAST LN
??LPRINT AT ?7?TAN FOR ö!?
RETURN CñACS ??FOR 5 ACS T3Kñ
;FOR DFOR (PRINT TAN JPRINT LN ?
?LN ??RETURN + AND RND?RETURN ;
ABS RND?YFAST LN B?LN -?PRINT
LN ??LET RETURN +CôRETURN -47AT
??RETURN 4ôPRINT FAST /PEEK
FAST 5??LN X?LN NEXT ?YFAST 5??
LN U?/ZPRINT VAL /0RETURN /C(
RETURN *TAB CONT ?LN V?5)?LN S?/
BLN V?5CLEAR ?/NEXT YLPRINT LN B
?LET RETURN COS RETURN +C)LN V?
5BFOR LN X?5GOSUB ?LN X?/SCROLL
LN V?Y;LN B?/<>YSGN ?B?RETURN )4
USR LN -?/INT RETURN PEEK 4?LN ?
?5A ?X?RETURN USR 4>LN ??5???S?ñ
??VAL FAST TAN ??TAN RETURN
CODE 4G5õ?YELN U?YFAST LN B?I
COPY LN 5?YSGN LN B?5>?/USR Eõ?
GOSUB ?õ?JGOSUB ???COS ,?TAN
RETURN RND4õ5ARND/VRETURN ABS 4)
LN ??5ACS ?LN X?YCODE 5???U?
RETURN INT ASN ??RETURN LEN 4,
LN -?LN S?LN -?Y5LN U?5>=?/º77
LN ??FOR TAN RETURN SGN 4+LN ??5
LIST ??S??PCOS ACS ?5ñ TAB ??
TAN RETURN SQR TAB CONT ?LN ??5ú
??S?JXACS ?CòINT ¹??A )RND ö!
GOSUB ?Kñ;ZACS >·GOSUB ?·GOSUB ?
(LIST ??TAN LN H?LN -?PRINT Y
FAST LN B?LN H?YSGN LN B?LET
TAN LN -?RETURN -PRINT ATN -?
RETURN (C-RETURN RNDK$RETURN A
USR ??>=µ?LET ATN ??TAN LN ??/
PLOT LN H?/LET 5??/??J??J?7TAN
LN S?RETURN ASN >?YE/PLN ??Y5/I
)(BLN A?LN $?Uõ??£E?RND6?RNDöô
LN B?(CLS $4PLOT LPRINT GOSUB ??
RNDTAN 5Eú/ó5"RNDYLN LN B??LN B?
??B?LN I?LN SQR ?5FOR ?/GOSUB
RETURN ,TAB CONT ?TAN LN ??
RETURN
10245 ?/!YE5ORNDLN U?Y65MRND?U?
LN -?LN S?FAST FAST LN -?LN I?Y7
LN B?5GOSUB ?LN X?LPRINT LN X?Y6
77LN U?LPRINT GOSUB ??RND???LN -
?LN S?FAST FAST YELN U?576LN X?
LPRINT LN X?77YGOSUB LN B?Y?LN U
?YB5GOSUB ?LN U?YIF LPRINT LN ??
FOR ?U?5 /?LN -?RETURN LN )?
LET RETURN AABS CONT ?RETURN 0
AND CONT ?CHR$ 0ö ?ù/ TO FAST E
-RND)õ ;6-RNDLPRINT TAN LN -?LN
S?RETURN ñC1PRINT FAST 5*?LN S?
LPRINT LET RETURN TAB ??YFOR
LN B?LN S?Y5LN U?LN -?5V??S?
GOSUB ?ñ?VAL FAST LN ò?6ñ?FAST
LN PAUSE ?RETURN
10249 KPRINT LN $?/LIST SGN
GOSUB ?FAST AT LPRINT LN ³?AT
GOSUB ?ñ?FAST LN ò?ñ3 LN ??
LPRINT TAN FAST LN LET ?LPRINT
RETURN ?""J?FY
48672 £RNDñSAVE òùYL?TAN ?7Y
48672 /PAUSE LN ò?FAST FAST LN
PAUSE ?RETURN
10257 C!RETURN 0SLET RETURN AK
GOSUB LN $?/CONT 5 SGN ,RETURN
-C(RETURN LC?CHR$ 0DFAST DDAT ùö
?ù</CONT SGN ,RETURN -PRINT LN
NEW ?LET ""???Y.PRINT LN I?LN
SQR ?5??LN X?YYLN B?LET LN B?YM5
KRNDLN U?5,RND?S?Y4/**?PCOS ?N
COS RTAN ?PCòRTAN ?NCOS RTAN E-
RND7(CPLOT RETURN INKEY$ASN ??
RETURN CHR$ ASN ??RETURN "ASN ??
7LN I?RETURN OR 4ú5??LN S?YABS
/?RETURN AND 4õ5·?/LIST PRINT Y
B5GOSUB ?LN U?LET RETURN =4ôY
TAB /GRETURN <>4ôYASN /8RETURN >
C+RETURN <4÷YASN LN 5?/<RETURN
>=4ú5CóLN X?YPAUSE /÷RETURN <=
TAB CONT ?YIF LN 5?LN -?RETURN
AND ASN ,?TAN LN B?EúRND7LN ??
FOR LN ??FOR ?X?LN X?6õ?6÷?TAN E
õ?QCOPY 7TAN 5??LN S?LN 3?LN -?
PRINT 5N?LN S?LN 3?5X?LN S?52?
LN S?LET RETURN =4ôYTAB /A
RETURN <>4ôYASN /2RETURN >4÷Y
ASN LN 5?/!RETURN <C<RETURN >=4ô
Y AND /·RETURN <=TAB CONT ?5Có
LN X?YABS ?+?E÷?GOSUB ?ñ?úWOY""
RETURN COS 7ó/POKE 5R??S?LN
SCROLL ò5VRNDACS QTAN 5LEN ??S?5
VRNDACS PLOT ?÷ò5ò LN **ù""FAST
LN 2?SGN ??ú5ò LN **ù""LN 2?COS
LN 2?COS ??E£RND/SCROLL óóóVAL ó
óóóVAL LN EXP ?5ó LN **ùAT LN 2ù
7Y
28963 7AT ?7?7QREM 7?7?7TAN 77?7?
ù7U£RND1""U$RND0TAN LN -?LN S?Y5
LN U?YGOSUB LN B?Y?5ñ?LN U?5??
LN S?LN H?5???S?7D7FAST FAST AT
Eñ?LN COS :AT LN ??GOSUB ?ñ?TAN
Eñ???<Q /óEñ??LCOS GOSUB KTAN
FAST LN ??5GOSUB ?LN X?LPRINT
LN X?5Dù?X?LN ?5??LN S?5FOR SGN
?X?EôRND9QCOPY FQCOPY FQ 6ù?Y5E?
RNDLN U?I:Uõ??LN X?5ATN ??S?£JM5
RNDöô?7(UNPLOT $4RUN 54 6?RNDE0
RNDñ? ù6ñ?6õ?TAN ?¸RND?:RND?)RND
?1RND?4RNDFOR ?7RND?? ??
30505
2 REM
30241 :1LN ATN ?LN Eú5CLEAR ?:ñ
LN ATN ????±
²)E?ñ4 LN IF ?LN .?5ñ
FAST 5= SGN 7GOSUB ?õ?6÷??¹? !!!
!¸¸¸¸!!!!¸¸¸¸!!!! )??ñ
4 LN IF ?Eõ?76õ?GOSUB ?÷?BGOSUB
?IF ???LEN ?´
÷)A?ñ4 LN IF ?5£RND ñ
FAST 5$RND)?FAST 5ñ ??LPRINT
SGN ;FAST ??SGN ;6ù?LN FOR ?5 6
$?5 6)?5õ 6+?5ú 6;?E+?61?E;?65?
LN C?5 69?LN 1?Eõ?FAST LN RND?
LN ??SGN LN >?69?E9?FAST 5 SGN
BGOSUB ?ASN ??LN ò??5?Eõ?6D?Eõ?
FAST 5 SGN BGOSUB ?ASN ??IF ??E
õ?FAST 5- SGN ;6D?Eõ?FAST 5+
SGN BGOSUB ?PAUSE ??Eõ?FAST 5-
SGN BFOR GOSUB ?6D?EL?6H?EL?
FAST 5 SGN BGOSUB ?ASN M?IF M?E
L?FAST 54 SGN ;6H?EL?FAST 53
SGN BGOSUB ?PAUSE INT ?EL?FAST 5
4 SGN BFOR GOSUB ?6H?5ñ FAST 54
FAST ED?SGN LN )?FAST EH???
LPRINT SGN ;FAST ??SGN ;6P?EP?
GOSUB ?X?DùSTR$ LN ??FOR SGN 6T?
TAN E+?6õ?E;?6L?E9?FAST 5W SGN B
GOSUB ?TAB F?E+?FAST 5ñ SGN B
FOR GOSUB ?6õ?Eõ?FAST 5 SGN B
GOSUB ?ASN PI?IF PI?5+ 6õ?E9?
FAST 5S SGN BGOSUB ?TAB ??E+?
FAST 5ñ SGN ;6õ?Eõ?FAST 5+ SGN B
GOSUB ?PAUSE ??5 6õ?E9?FAST 5A
SGN BGOSUB ?TAB $?E;?FAST 5ñ
SGN BFOR GOSUB ?6L?EL?FAST 5
SGN BGOSUB ?ASN 8?IF 8?53 6L?E9?
FAST 5D SGN BGOSUB ?TAB Y?E;?
FAST 5ñ SGN ;6L?EL?FAST 53 SGN B
GOSUB ?PAUSE ABS ?5 6L?LN ??ET?
FAST 5ñ SGN BGOSUB ?TAB SLOW ?
TAN ET?FAST 5õ SGN BGOSUB ?TAB
NEXT ?TAN Eõ?6+?EL?6;?LN ??5=
FAST 5- SGN ??LN PRINT !?<?>)>?ñ
ñ LN IF ?E9?FAST 5W SGN BGOSUB ?
TAB V??M?NORTH)H?ñõ LN IF ?E9?
FAST 5S SGN BGOSUB ?TAB ?????SOU
TH)??ñõ LN IF ?E9?FAST 5A SGN B
GOSUB ?TAB ?????WEST)??ñô LN IF
?E9?FAST 5D SGN BGOSUB ?TAB -??$
?EAST)¹?ñô LN IF ?E9?FAST 5E
SGN BGOSUB ?TAB P??G?ENTER)B?ñõ
LN IF ?E9?FAST 5O SGN BGOSUB ?
TAB PEEK ??ASN ?OPEN)LEN ?ñô LN
IF ?E9?FAST 5H SGN BGOSUB ?TAB
LIST ??SCROLL ?HIT)SLOW ?ñó LN
IF ?E9?FAST 5B SGN BGOSUB ?TAB $
??ô?BUY)ñ?ñó LN IF ?E9?FAST 5C
SGN BGOSUB ?TAB F??6?CAST)2?ñô
LN IF ?E9?FAST 5Y SGN BGOSUB ?
TAB ???RND?YELL)W?ñô LN IF ?E9?
FAST 5Z SGN BGOSUB ?TAB ?????ZZZ
)??ñó LN IF ?E9?FAST 5Q SGN B
GOSUB ?TAB ´????QUIT)??ñô LN IF
?E9?FAST 5Q SGN BGOSUB ?TAB +??
FOR ?E9?FAST 5E SGN BGOSUB ?TAB
A??LN ?E9?FAST 5O SGN BGOSUB ?
TAB R??PI?E9?FAST 5H SGN BGOSUB
?TAB COS ??PI?E9?FAST 5C SGN B
GOSUB ?TAB OR ??PI?E9?FAST 5B
SGN BGOSUB ?TAB REM ??PI?TAN LN
??5= FAST 5- SGN ??LN PRINT !?ó?
START)RETURN ?ñõ LN IF ?LN ??LN
1?5= FAST 5- SGN ??LN PRINT !?C?
OVER? )6?ñö LN IF ?Eõ?FAST LN
RND?LN ??SGN LN >?69?E9?FAST 5N
SGN BGOSUB ?TAB ?????NO)??ñò LN
IF ?E9?FAST 5Y SGN BGOSUB ?TAB ?
????YES)??ñó LN IF ?E9?FAST 5N
SGN BGOSUB ?TAB º?TAN E9?FAST 5Y
SGN BGOSUB ?ASN .????LN ??5=
FAST 5- SGN ??LN PRINT !?P?OKAY.
..)I?ñ÷ LN IF ?LN ??LN ??LN ??
LN ???RUN ?LN ??5= FAST 5- SGN ?
?LN PRINT !ET?FAST 5ö SGN B
GOSUB ?TAB CLS ??PAUSE ?CITY)
INPUT ?ñô LN IF ?ET?FAST 5÷ SGN
BGOSUB ?TAB 0??<?DUNGEON)£?ñ÷
LN IF ?ET?FAST 5ö SGN BGOSUB ?
ASN INKEY$?IF INKEY$??S?NOT HERE
)K?ñ! LN IF ?TAN LN ??5= FAST 5-
SGN ??LN PRINT !???DIR?)??ñô
LN IF ?LN ??LN 1?5= FAST 5- SGN
??LN PRINT !???>)??ññ LN IF ?Eõ?
FAST LN RND?LN ??SGN LN >?69?E9?
FAST 5W SGN BGOSUB ?TAB M??D?NOR
TH)8?ñõ LN IF ?E9?FAST 5S SGN B
GOSUB ?TAB SGN ??COS ?SOUTH)??ñõ
LN IF ?E9?FAST 5A SGN BGOSUB ?
TAB LOAD ??NEW ?WEST)LLIST ?ñô
LN IF ?E9?FAST 5D SGN BGOSUB ?
TAB $??ô?EAST) ?ñô LN IF ?E9?
FAST 5W SGN BGOSUB ?TAB 2????E9?
FAST 5S SGN BGOSUB ?TAB J????E9?
FAST 5A SGN BGOSUB ?TAB RND????E
9?FAST 5D SGN BGOSUB ?TAB ?????
LN 1?E9?FAST 5 SGN BGOSUB ?TAB
????????CANCEL)??ñö LN IF ?TAN
LN ??5= FAST 5- SGN ??LN PRINT !
?<?NOT HERE)"?ñ! LN IF ?TAN 5ñ 6
INKEY$?E+?FAST 5ò SGN BFOR
GOSUB ?FAST E+?FAST 5ò SGN ;SGN
7GOSUB ?õ?6÷?5ñ 6??E;?FAST 5ò
SGN BFOR GOSUB ?FAST E;?FAST 5ò
SGN ;SGN 7GOSUB ?L?6N?LN ??ET?
FAST 5ñ SGN BGOSUB ?TAB ô?5ó
FAST E$?SGN ;6??ET?FAST 5ò SGN B
GOSUB ?TAB /?5" 6??ET?FAST 5ó
SGN BGOSUB ?TAB G?5£ 6??ET?FAST
5ô SGN BGOSUB ?TAB RND?5$ 6??ET?
FAST 5õ SGN BGOSUB ?TAB ??5: 6??
ET?FAST 5ö SGN BGOSUB ?TAB ??5?
FAST E)?SGN ;6??ET?FAST 5÷ SGN B
GOSUB ?TAB ²?5) 6??Eõ?FAST E+?
SGN BGOSUB ?TAB E?EL?FAST E;?
SGN BGOSUB ?TAB E?5ñ FAST E)?
SGN ;6??LN 0?E??FAST 5ñ SGN ;6??
EL?76L?GOSUB ?N?BGOSUB ?IF
SCROLL ?EINKEY$?FAST 5ñ SGN ;6
INKEY$?Eõ?76õ?GOSUB ?÷?BGOSUB ?
IF TAB ?E)?FAST 5ñ SGN ;6)?E)?
FAST 5ñ SGN BGOSUB ?PAUSE ÷?5 6
)?E$?FAST 5ñ SGN ;6$?E$?FAST 5÷
SGN BGOSUB ?PAUSE B?5 6$?TAN 5?
?GOSUB ?ñ?LN ??5( FAST 5) SGN
LN )?LN ??5ñ 6??5??LN SAVE ?LN ?
????µ¶· µ²±ôµ¶ò ò ñ )??ñ( LN ??5
??LN ??LN P?5ò 6??5??LN SAVE ?
LN ???-?µ¶µ µ²´ñµ¶ ò ñ )¶?ñ(
LN ??5??LN ??LN P?5ó 6??5??LN
SAVE ?LN ???ASN ?·ô ñò¶ö ·ô¶öñ
ò)U?ñ( LN ??5??LN ??LN P?5ô 6??5
??LN SAVE ?LN ???RETURN ?³ ó³
ó ³ ³ó ó)INPUT ?ñ( LN ??5??LN ?
?LN P?5õ 6??5??LN SAVE ?LN ???M?
ô ·ò¶öñ ·ô öñò¶)6?ñ( LN ??5??
LN ??LN P?5ö 6??5??LN SAVE ?LN ?
???? ³ó³ó ³ ó ó³)??ñ( LN ??5
??LN ??LN P?5÷ 6??5??LN SAVE ?
LN ???,? ·ô¶öñò·ô ñò¶ö)º?ñ(
LN ??5??LN ??LN P?5! 6??5??LN
SAVE ?LN ???EXP ? ³ ³ó ó³ ó³
ó)Y?ñ( LN ??5??LN ??LN P?5ù 6??5
??LN SAVE ?LN ???ò? ·ô öñò¶ô ·ò
¶öñ)PAUSE ?ñ( LN ??5??LN ??LN P?
5ú 6??5??LN SAVE ?LN ???Q? ³ ó
ó³ ³ó³ó )A?ñ( LN ??5??LN ??LN
P?5" 6??5??LN SAVE ?LN ?????··
ñôôôôò ò )??ñ( LN ??5??LN ??
LN P?5£ 6??5??LN SAVE ?LN ???2?
± · õ ± ¹ ):?ñ( LN ??5??LN
??LN P?5$ 6??5??LN SAVE ?LN ???
ABS ?úùúùùúùúúùúùùúùú)TAB ?ñ(
LN ??5??LN ??LN P?5: 6??5??LN
SAVE ?LN ???ö? öôôö öò ö ôöòöò)
PLOT ?ñ( LN ??5??LN ??LN P?5? 6?
?5??LN SAVE ?LN ???U? µù µ±²õµ::
õòñòñ)E?ñ( LN ??5??LN ??LN P?5(
6??5??LN SAVE ?LN ????? µú µ±²õµ
::õòñòñ)??ñ( LN ??5??LN ??LN P?5
) 6??5??LN SAVE ?LN ???6?· ô ùú
ùú ùú )>?ñ( LN ??5??LN ??LN P
?TAN 5ñ FAST 5( SGN 7GOSUB ?5?67
?5( FAST E??FAST 5ñ SGN BFOR
GOSUB ?SGN LN )?FAST E5?SGN ;
GOSUB ???DùFAST Eõ?FAST 5??LN
SAVE ?E5???LN ??5??LN ??LN ??
SGN LN >?SGN FOR LN ??E5?765?
GOSUB ?7?BGOSUB ?IF VAL ?TAN Eù?
FAST 55 FAST EINKEY$?FAST 5ñ
SGN BFOR GOSUB ?SGN LN )?FAST 5ô
SGN LN )?FAST 55 ??LPRINT SGN ;
FAST ??FAST 5ô ??LPRINT SGN ;
FAST ??FAST E??FAST 5ñ SGN BFOR
GOSUB ?SGN LN )?FAST 5ñ ??
LPRINT SGN ;FAST ??SGN ;6H?5(
FAST E??FAST 5ñ SGN BFOR GOSUB ?
SGN LN )?FAST 5ñ SGN ;6??5ñ
FAST 5ô SGN 7GOSUB ???6??EH?
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN FOR ?EH?FAST 5ñ SGN
;FAST E??FAST 5ñ SGN ;GOSUB ???D
ùSTR$ LN ??FOR SGN SGN FOR ?EH?
FAST 5ò SGN ;FAST E??FAST 5ò
SGN ;GOSUB ???DùSTR$ LN ??FOR
SGN SGN FOR ?EH?FAST 5ó SGN ;
FAST E??FAST 5ó SGN ;GOSUB ???Dù
STR$ LN ??FOR SGN SGN FOR ?EH?
FAST 55 SGN ;6H?E??FAST 5ô SGN ;
6??E??76??GOSUB ???BGOSUB ?IF 7?
TAN 5ò FAST 5= SGN 7GOSUB ???6??
Eù?FAST 55 FAST E??SGN LN )?SGN
;6H?5- FAST 52 SGN 7GOSUB ???6??
EH?FAST E??FAST 55 ??LPRINT SGN
;FAST ??SGN BFOR GOSUB ?FAST EH?
FAST E??SGN ;?E??76??GOSUB ???B
GOSUB ?IF ??E??76??GOSUB ???B
GOSUB ?IF ??5= FAST 5- SGN ??LN
PRINT !?LPRINT ? )**?ñù
LN IF ?TAN 5> FAST 5- SGN ??LN
PRINT !?ó?CREATING)CLS ?ñ! LN
IF ?5< FAST 5- SGN ??LN PRINT !?
8?WORLD...)0?ñ! LN IF ?5 6)?5X?
GOSUB ?ñ?LN ??5""òLN ??5 FAST 5
+ SGN 7GOSUB ?+?6*?E)?FAST 5
SGN BGOSUB ?TAB ??5= FAST 5-
SGN ??LN PRINT !???ñ)??ññ LN IF
?E)?FAST 5ñ SGN BGOSUB ?TAB 7?5=
FAST 5- SGN ??LN PRINT !?,?ò);?
ññ LN IF ?E)?FAST 5ò SGN BGOSUB
?TAB ACS ?5= FAST 5- SGN ??LN
PRINT !?TAB ?·)AT ?ññ LN IF ?E)?
FAST 5ó SGN BGOSUB ?TAB NEXT ?5=
FAST 5- SGN ??LN PRINT !?REM ?ô
)DIM ?ññ LN IF ?E)?FAST 5ñ SGN ;
6)?E)?FAST 5ó SGN BGOSUB ?PAUSE
<?5 6)?5 FAST 53 SGN 7GOSUB ?;
?6.?E+?FAST 54 SGN LN )?FAST E;?
FAST 5ñ ??LPRINT SGN ;FAST ??
SGN ;6õ?5ñ 6??E+?FAST 5 SGN B
GOSUB ?TAB ???¹?E;?FAST 5 SGN B
GOSUB ?TAB ???¹?Eõ?FAST 54 SGN B
FOR GOSUB ?GOSUB ?X?DùSTR$ LN ??
FOR SGN 6??Eõ?FAST 5ñ SGN BFOR
GOSUB ?GOSUB ?X?DùSTR$ LN ??FOR
SGN 6??E??FAST 5õ SGN BGOSUB ?
PAUSE ASN ?Eõ?FAST 5ò SGN BFOR
GOSUB ?GOSUB ?X?DùSTR$ LN ??FOR
SGN 6??E??FAST 5õ SGN BGOSUB ?
PAUSE THEN ?E??6??5ARNDLN ??
FAST 5?ñSGN LN CLEAR ?6??5ARND
LN ??FAST 5?ñSGN LN CLEAR ?6??E?
?FAST 5M SGN BGOSUB ?PAUSE )??
TO ?E??FAST 5? SGN BGOSUB ?
PAUSE 9?5ô 6??E??FAST 5; SGN B
GOSUB ?PAUSE T?5ò 6??E??FAST 5R
SGN BGOSUB ?PAUSE ??5ó 6??E??
FAST 5? SGN BGOSUB ?PAUSE ??5õ 6
??E??FAST 5? SGN BGOSUB ?PAUSE ?
?5ö 6??E??FAST 5? SGN BGOSUB ?
PAUSE ¹?5÷ 6??Eõ?GOSUB ?X?Dù
FAST E??SGN FOR LN ??E;?76;?
GOSUB ?.?BGOSUB ?IF 7?E+?76+?
GOSUB ?*?BGOSUB ?IF ??5= FAST 5-
SGN ??LN PRINT !?ABS ?DONE.)LN
?ñõ LN IF ?LN ??TAN E??6??E??
FAST 5? SGN BGOSUB ?PAUSE RAND ?
E??6???¹?TAN ! ! :? ô
õ - ú 4 õ ) ) ÷
USR ? $ $ GOSUB ñ "? ö
ö ö ?? N?( ? õ õ 3 3 õ
õ õ ; ? ó? REM M
CODER II COPYRIGHT 1983
D C THRELFALL COMPILER AT 1730
0 PROG AT 20500
10 REM ****TILES**SLR/2013****
20 SAVE "TILES16"
30 LET L=USR 20500