ZX81 Listing for tiles.p


ZX81 program listing for **TILES**SLR/2013****

**TILES**SLR/2013**** (tiles.p)

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.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 25357
VARS  : 26150
E-LINE: 26151
STKBOT: 26151
STKEND: 26151


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   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$LN òINKEY$2
ñLN òINKEY$SGN LPRINT TAN FAST B
GOSUB ?LPRINT TAN Y0BGOSUB ?SóW/
RAND ;?õPI?J??J?7TAN 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 J4LET 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 JPIRNDACS ?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
RETURN CASN RETURN ZC:RETURN D
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 67RNDRNDLN .?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 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 XCOPY
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 ?
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$ UNPLOT .?/RY
50167 LN ABS ?5IF ?LN S??.?LN ??
STR$ LN ??STR$ AT SGN TAN
RETURN RNDABS CONT ?ñWRNDòLN ??
RETURN 0SúRETURN RNDLN -?ó/
INPUT RETURN (M÷?CôRETURN $4òóòú
ACS COPY òLN ³?A ?DDGOSUB ??RNDù
?U÷?RETURN $C!RETURN (4òJTAN ?
TAN TAN RND9ñWRNDJMö?úY
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 ??SJM5
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÷??¹? !!!
!¸¸¸¸!!!!¸¸¸¸!!!!           )??ñ
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
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
 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