ZX81 Listing for etmc.p


ZX81 program listing for **E.T.**SLR/1985-2012**

**E.T.**SLR/1985-2012** (etmc.p)

A compiled version of my E.T. game using MCODER II. Use A and Z to move up or down, and N and M to move left or right. Instructions for E.T. are available off my old ZX81 website.

Loosely based on the Atari 2600 E.T. game, this is my single board game for the ZX81.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 26339
VARS  : 27132
E-LINE: 27133
STKBOT: 27133
STKEND: 27133


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??  ????ZY 
   2 REM
30241 :<LN ATN ?5´ó6DIM ?5M 6
GOSUB ?5  FAST 5+ SGN 7GOSUB ?
LET ?6NEXT ?ELET ?FAST 5  SGN ??
LN PRINT !??? )??ññ LN IF ?ELET
?FAST 53 SGN ??LN PRINT !??? )??
ññ LN IF ?5  FAST ELET ?SGN ??
LN PRINT !?¶?          )??ñú LN
IF ?5+ FAST ELET ?SGN ??LN
PRINT !?D?          )3?ñú LN IF
?5ó FAST 5õ SGN ??LN PRINT !?
VAL P²)TAB ?ñó LN IF ?5ô FAST
5õ SGN ??LN PRINT !?LPRINT ?òóñ)
THEN ?ñó LN IF ?5õ FAST 5" SGN
??LN PRINT !?CLEAR P²)IF ?ñó 
LN IF ?5ö FAST 5" SGN ??LN
PRINT !?;?òóñ)-?ñó LN IF ?5! 
FAST 5ô SGN ??LN PRINT !?P?±P²)M
?ñó LN IF ?5ù FAST 5ô SGN ??LN
PRINT !???òóñ)??ñó LN IF ?5$ 
FAST 5õ SGN ??LN PRINT !???±P²)?
?ñó LN IF ?5: FAST 5õ SGN ??LN
PRINT !?¹?òóñ)¶?ñó LN IF ?5) 
FAST 5ó SGN ??LN PRINT !?9P²)6
?ñó LN IF ?5> FAST 5ó SGN ??LN
PRINT !?AT ?òóñ)Y?ñó LN IF ?5> 
FAST 5ù SGN ??LN PRINT !?<>?±P²)
AND ?ñó LN IF ?5< FAST 5ù SGN ?
?LN PRINT !?RAND ?òóñ)PLOT ?ñó 
LN IF ?LN .?ELET ?76LET ?GOSUB ?
NEXT ?BGOSUB ?IF S?5ô FAST 5! 
SGN 7GOSUB ?LET ?6NEXT ?5£ FAST
5; SGN ??LN PRINT !?W?¸¸¸¸¸¸)Q?ñ
ö LN IF ?5ñ FAST 5; SGN ??LN
PRINT !??? ENRG:)??ñö LN IF ?5ò 
FAST 5; SGN ??LN PRINT !??? >   
<)??ñö LN IF ?5ó FAST 5; SGN ??
LN PRINT !?;?      )<?ñö LN IF ?
ELET ?FAST 5; SGN ??LN PRINT !?S
?!    !)M?ñö LN IF ?5ù FAST 5; 
SGN ??LN PRINT !?NOT ?!!!!!!)
SGN ?ñö LN IF ?5ú FAST 5; SGN ??
LN PRINT !?PLOT ?¸   TE)LIST ?ñö
 LN IF ?5" FAST 5; SGN ??LN
PRINT !?+?¸   LP)??ñö LN IF ?LN
.?ELET ?76LET ?GOSUB ?NEXT ?B
GOSUB ?IF A?5? FAST 51 SGN ??LN
PRINT !???³)PI?ññ LN IF ?5( 
FAST 50 SGN ??LN PRINT !???± ²)?
?ñó LN IF ?5) FAST 50 SGN ??LN
PRINT !??? H )??ñó LN IF ?5> 
FAST 50 SGN ??LN PRINT !?*?   )=
?ñó LN IF ?LN .?5+ FAST 5  SGN ?
?LN PRINT !?PEEK ?PRESS ENTER TO
 BEGIN GAME PLAY**)N?ñ4 LN IF ?5
  FAST 5  SGN ??LN PRINT !?GOTO
?)GOTO ?ñ  LN IF ?LN .?54?LN =
RNDLN ??LN RND?LN ??LN N??$?)$?ñ
  LN ??LN X?LN 2?TAB 6??SAVE ?5+
 FAST 5  SGN ??LN PRINT !???    
                            )M?ñ
LN IF ?5  FAST 5  SGN ??LN
PRINT !???)??ñ  LN IF ?LN .?5ñ 
FAST 5) SGN ??LN PRINT !?º?÷K´)·
?ñó LN IF ?LN .?LN Y?5ñ FAST 5) 
SGN ??LN PRINT !?G ô)D?ñó LN
IF ?5ò FAST 5) SGN ??LN PRINT !?
COS K´)VAL ?ñó LN IF ?LN .?LN
Y?5ñ FAST 5" SGN 7GOSUB ?LET ?6
NEXT ?ELET ?FAST 5ò SGN ;FAST 5)
 SGN ??LN PRINT !? ?÷K´)CLEAR
ó LN IF ?ELET ?FAST 5ñ SGN ;
FAST 5) SGN ??LN PRINT !?6?· ô)3
?ñó LN IF ?ELET ?FAST 5) SGN ??
LN PRINT !?Y?   )V?ñó LN IF ?LN
.?LN Y?ELET ?76LET ?GOSUB ?NEXT
?BGOSUB ?IF SCROLL ?LN Y?LN Y?5£
 FAST 5) SGN ??LN PRINT !???   )
??ñó LN IF ?5$ FAST 5) SGN ??LN
PRINT !?<?   )(?ñó LN IF ?5> 
FAST 51 SGN ??LN PRINT !?H?K)G
ñ LN IF ?LN .?5> 6PRINT ?51 6
RAND ?5  6CLEAR ?EPRINT ?6ñ?E
RAND ?6õ?5  6ù?5  6$?LN ARND
FAST 5**ùSGN LN CLEAR ?FAST 5! 
SGN ;6)?LN ARNDFAST 5COPY ?SGN
LN CLEAR ?FAST 5: SGN ;6GOSUB ?E
PRINT ?FAST ERAND ?SGN ??LN
PRINT !?0?K).?ññ LN IF ?LN .?Eñ?
FAST EPRINT ?SGN BGOSUB ?ASN ??E
ñ?FAST Eõ?SGN ??LN PRINT !??? )?
?ññ LN IF ?LN .?Eõ?FAST ERAND ?
SGN BGOSUB ?ASN Eõ?SGN ??LN
PRINT !??? )??ññ LN IF ?LN .?E
PRINT ?6ñ?ERAND ?6õ?LN Y?5+?LN
SAVE ?LN ??LN RND?LN ??5+?LN ??
LN ??5+?LN SAVE ?5+?LN H?LN ??
LN N??V?A)U?ññ LN ??LN X?LN 2?
TAB >=?EPRINT ?FAST 5ñ SGN BFOR
GOSUB ?6PRINT ?LN ??5+?LN SAVE ?
5+?LN H?LN ??LN N??PRINT ?Z)
POKE ?ññ LN ??LN X?LN 2?TAB <?E
PRINT ?FAST 5ñ SGN ;6PRINT ?LN ?
?5+?LN SAVE ?5+?LN H?LN ??LN N??
G?N)F?ññ LN ??LN X?LN 2?TAB ??E
RAND ?FAST 5ñ SGN BFOR GOSUB ?6
RAND ?LN ??5+?LN SAVE ?5+?LN H?
LN ??LN N????M)??ññ LN ??LN X?
LN 2?TAB ´?ERAND ?FAST 5ñ SGN ;6
RAND ?LN ??5+?LN SAVE ?5+?LN H?
LN ??LN N??1?E)0?ññ LN ??LN X?
LN 2?TAB S?5>=£LN ??6;?EPRINT ?
FAST ERAND ?SGN ??LN PRINT !5:
RND ñFAST 5?RND)?SGN ;?E1?FAST 5
  SGN BGOSUB ?TAB PLOT ????E1?
FAST 5K SGN BGOSUB ?TAB ÷????E1?
FAST 5* SGN BGOSUB ?TAB /????E1?
FAST Eõ?FAST ?8?P)7?ññ LN ??SGN
LN >?SGN BGOSUB ?TAB V?LN ??E1?
FAST Eõ?FAST ???H)??ññ LN ??SGN
LN >?SGN BGOSUB ?TAB ??LN ú?Eñ?6
PRINT ?Eõ?6RAND ?E1?FAST Eõ?
FAST ?
22709 ?ññ LN ??SGN LN >?SGN B
GOSUB ?ASN ;?EDIM ?FAST 5ñ SGN B
FOR GOSUB ?6DIM ?5ò FAST 5. SGN
??LN PRINT !EDIM ?LN INPUT ?E
DIM ?FAST 5? SGN BGOSUB ?ASN
ASN ?IF ASN ??AT ? )""?ññ LN IF
?EPRINT ?FAST E)?FAST 5ñ SGN B
FOR GOSUB ?SGN BGOSUB ?TAB SAVE
?ERAND ?FAST EGOSUB ?FAST 5ñ 
SGN ;SGN BGOSUB ?TAB SAVE ??ù?Eù
?FAST 5ò SGN BGOSUB ?ASN ù??C?E)
?FAST EGOSUB ?SGN ??LN PRINT !?0
?ú!ú);?ñó LN IF ?LN .?EPRINT ?
FAST E)?SGN BGOSUB ?TAB ??ERAND
?FAST 5/ SGN BGOSUB ?TAB ??Eù?
FAST 5  SGN BGOSUB ?TAB ??5ñ 6ù?
ERAND ?FAST EGOSUB ?SGN BGOSUB ?
TAB ¸?EPRINT ?FAST 5= SGN B
GOSUB ?TAB ¸?Eù?FAST 5ñ SGN B
GOSUB ?TAB ¸?5ò 6ù?EDIM ?FAST
 SGN BGOSUB ?TAB õ?EPRINT ?FAST
ERAND ?SGN ??LN PRINT !?B?-)A?ññ
 LN IF ?5+ FAST 5  SGN ??LN
PRINT !? STEP ?NO ENERGY...YOU D
IED************)""?ñ4 LN IF ?5  
FAST 5  SGN ??LN PRINT !?RAND ?)
RAND ?ñ  LN IF ?LN .?EDIM ?FAST
5  SGN BGOSUB ?TAB 0?5>=£LN ??6;
?ECLEAR ?FAST 5  SGN BGOSUB ?
PAUSE H?LN ??LN ARNDFAST 5(??5õ 
FAST 5< SGN ??LN PRINT !???*)??ñ
ñ LN IF ?LN .?LN ARNDFAST 5(³?5"
 FAST 5+ SGN ??LN PRINT !???*)
23041 LN IF ?LN .?LN ARNDFAST 5(I
?5£ FAST 5÷ SGN ??LN PRINT !?6?*
)5?ññ LN IF ?LN .?LN ARNDFAST 5(
OR ?5( FAST 5£ SGN ??LN PRINT !
?LN ?*)ATN ?ññ LN IF ?LN .?LN A
RNDFAST 5(ô?5> FAST 5- SGN ??LN
PRINT !?SAVE ?*)RUN ?ññ LN IF ?
LN .?E1?FAST Eõ?FAST ?(?*)??ññ 
LN ??SGN LN >?SGN BGOSUB ?TAB
INKEY$?EDIM ?FAST 5?óSGN BGOSUB
?ASN INKEY$?IF INKEY$?EDIM ?
FAST 5ú SGN ;6DIM ??"?LN ARND
FAST 5?>SGN LN CLEAR ?65?5ô 
FAST 5! SGN 7GOSUB ?LET ?6NEXT ?
ELET ?FAST 5ô SGN BGOSUB ?PAUSE
-?ELET ?FAST 5ñ SGN BFOR GOSUB ?
FAST 51 SGN ??LN PRINT !?º? )¹?ñ
ñ LN IF ?LN .?ELET ?FAST 51 SGN
??LN PRINT !?B?K)A?ññ LN IF ?LN
.?51 69?ELET ?76LET ?GOSUB ?
NEXT ?BGOSUB ?IF ??E5?FAST 5ñ 
SGN BGOSUB ?TAB ??5÷ FAST 5. 
SGN ??LN PRINT !?DIM ?-)CONT ?ññ
 LN IF ?5! FAST 5. SGN ??LN
PRINT !?ó?/)ò?ññ LN IF ?LN .?E5?
FAST 5ò SGN BGOSUB ?TAB U?5! 
FAST 5. SGN ??LN PRINT !?I?X)H?ñ
ñ LN IF ?LN .?E5?FAST 5ó SGN B
GOSUB ?TAB ??5! FAST 5. SGN ??
LN PRINT !???0)??ññ LN IF ?LN .?
E5?FAST 5ô SGN BGOSUB ?ASN ??IF
???IF ?E$?FAST 5  SGN BGOSUB ?
TAB 8?5! FAST 5. SGN ??LN PRINT
!?/?¶)*?ññ LN IF ?LN .?E$?FAST 5
ñ SGN BGOSUB ?TAB INT ?5! FAST 5
SGN ??LN PRINT !???º)TAB ?ññ 
LN IF ?LN .?E$?FAST 5ò SGN B
GOSUB ?TAB IF ?5! FAST 5. SGN ??
LN PRINT !?INPUT ?ö)GOSUB ?ññ 
LN IF ?LN .?EDIM ?FAST 5ñ SGN B
FOR GOSUB ?6DIM ?LN ??LN RND?LN
??LN N??;?N)/?ññ LN ??LN X?LN 2?
TAB L?50 69?LN ??LN RND?LN ??LN
N??INKEY$?A)RND?ññ LN ??LN X?LN
2?TAB ???C?5ò FAST 5. SGN ??LN
PRINT !EDIM ?LN INPUT ?EDIM ?
FAST 5? SGN BGOSUB ?ASN º?IF º??
ññ LN IF ?LN .?E9?FAST 50 SGN B
GOSUB ?TAB P?5! FAST 51 SGN ??
LN PRINT !?D? )C?ññ LN IF ?LN .?
5! FAST E9?SGN ??LN PRINT !?LEN
?K)VAL ?ññ LN IF ?LN .?E9?FAST 5
SGN BGOSUB ?TAB 9?E5?FAST 5ñ 
SGN BGOSUB ?TAB 9?5÷ FAST 5. 
SGN ??LN PRINT !?COPY ?*)RETURN
?ññ LN IF ?5! FAST 5. SGN ??LN
PRINT !?;?T)/?ññ LN IF ?LN .??
IF ?E5?FAST 5ñ SGN BGOSUB ?TAB ?
?E9?FAST 50 SGN BGOSUB ?TAB ??5´
ó6DIM ?E5?FAST 5ò SGN BGOSUB ?
ASN ???´?EDIM ?FAST 5? SGN B
GOSUB ?PAUSE ?????5  6DIM ??´?E
DIM ?FAST 5? SGN BFOR GOSUB ?6
DIM ?E5?FAST 5ó SGN BGOSUB ?TAB
J?EDIM ?FAST 5?óSGN BGOSUB ?ASN
J?IF J?EDIM ?FAST 5= SGN ;6DIM ?
5÷ FAST 5. SGN ??LN PRINT !?TAB
?   )Z?ñó LN IF ?5! FAST 5. SGN
??LN PRINT !? THEN ?   )<=?ñó 
LN IF ?LN .?E9?FAST 50 SGN B
GOSUB ?TAB ù?E5?FAST 5ó SGN B
GOSUB ?PAUSE ù????TAN E$?FAST
 SGN BGOSUB ?TAB G?ECLEAR ?FAST
5  SGN BGOSUB ?TAB G?5ñ 6CLEAR ?
E$?FAST 5ó SGN BGOSUB ?ASN Y?IF
Y?TAN 5ú FAST 5, SGN ??LN PRINT
!???·ôTI¸)??ñõ LN IF ?5" FAST 5,
 SGN ??LN PRINT !???òñME¸)??ñõ 
LN IF ?LN .?ECLEAR ?FAST 5ñ SGN
BGOSUB ?TAB C?5ú FAST 5. SGN ??
LN PRINT !?0?õ).?ññ LN IF ?LN .?
ECLEAR ?FAST 5ñ SGN ;6CLEAR ?E
CLEAR ?FAST 5õ SGN BGOSUB ?TAB
TO ?5ú FAST 5. SGN ??LN PRINT !
?PEEK ?ö)ABS ?ññ LN IF ?LN .?E
CLEAR ?FAST 5ú SGN BGOSUB ?TAB ú
?5ú FAST 5. SGN ??LN PRINT !?
RETURN ?³)CLEAR ?ññ LN IF ?LN .?
ECLEAR ?FAST 5? SGN BGOSUB ?TAB
??5ú FAST 5. SGN ??LN PRINT !?D?
ô)C?ññ LN IF ?5" FAST 5. SGN ??
LN PRINT !???ó)PI?ññ LN IF ?LN .
?ECLEAR ?FAST 5= SGN BGOSUB ?
TAB ??5" FAST 5. SGN ??LN PRINT
!???¶)??ññ LN IF ?LN .?ECLEAR ?
FAST 5; SGN BGOSUB ?TAB 9?5" 
FAST 5. SGN ??LN PRINT !?;?õ)/
ñ LN IF ?LN .?ECLEAR ?FAST 52 
SGN BGOSUB ?TAB SGN ?5" FAST 5, 
SGN ??LN PRINT !?VAL ?µñ)??ñò 
LN IF ?LN .?ECLEAR ?FAST 57 SGN
BGOSUB ?TAB UNPLOT ?5" FAST 5, 
SGN ??LN PRINT !?LIST ?ö)LOAD
ñ LN IF ?LN .?ECLEAR ?FAST 5C 
SGN BGOSUB ?TAB B?5" FAST 5, 
SGN ??LN PRINT !?.?ó),?ññ LN IF
?LN .?ECLEAR ?FAST 5H SGN B
GOSUB ?TAB ??5" FAST 5, SGN ??
LN PRINT !???ò)??ññ LN IF ?5ú 
FAST 5, SGN ??LN PRINT !???³)??ñ
ñ LN IF ?LN .?ECLEAR ?FAST 5M 
SGN BGOSUB ?TAB *?5ú FAST 5, 
SGN ??LN PRINT !?"?¶)º?ññ LN IF
?LN .?ECLEAR ?FAST 5R SGN B
GOSUB ?TAB TAB ?5ú FAST 5, SGN ?
?LN PRINT !?Q?µ)P?ññ LN IF ?LN .
?ECLEAR ?FAST 5W SGN BGOSUB ?
TAB ??5ú FAST 5, SGN ??LN PRINT
!?FAST ?õ¸µTE) STEP ?ñõ LN IF ?5
FAST 5, SGN ??LN PRINT !?ó?µ õ
LP)RETURN ?ñõ LN IF ?LN .?E
CLEAR ?FAST 5W SGN BGOSUB ?TAB ?
?EPRINT ?FAST E)?FAST 5ñ SGN B
FOR GOSUB ?SGN BGOSUB ?TAB ??E
RAND ?FAST EGOSUB ?FAST 5ñ SGN ;
SGN BGOSUB ?TAB ?????ECLEAR ?
FAST 5W SGN BGOSUB ?TAB ??5  6
CLEAR ?TAN E$?FAST 5ó SGN B
GOSUB ?ASN ??IF ??E$?FAST 5ñ 
SGN ;6$?E$?FAST 5ñ SGN BGOSUB ?
TAB TAB ?5ú FAST 5, SGN ??LN
PRINT !?0?õ).?ññ LN IF ?5" FAST
5, SGN ??LN PRINT !?Q?µ)P?ññ LN
IF ?LN .?E$?FAST 5ò SGN BGOSUB ?
TAB ÷?5ú FAST 5. SGN ??LN PRINT
!?LPRINT ?¸) STEP ?ññ LN IF ?5" 
FAST 5. SGN ??LN PRINT !?CLS ? )
IF ?ññ LN IF ?LN .?E$?FAST 5ó 
SGN BGOSUB ?TAB ??5ú FAST 50 
SGN ??LN PRINT !?A?µ)9?ññ LN IF
?5" FAST 50 SGN ??LN PRINT !?RND
?õ)Z?ññ LN IF ?LN .?TAN 5ñ FAST
EGOSUB ?SGN ??LN PRINT !???÷ ´)?
?ñó LN IF ?LN .?LN Y?5ñ FAST E
GOSUB ?SGN ??LN PRINT !?²?· ô)??
ñó LN IF ?5ò FAST EGOSUB ?SGN ??
LN PRINT !?2?÷ ´).?ñó LN IF ?LN
.?LN Y?5ñ FAST E)?FAST 5ó SGN B
FOR GOSUB ?SGN 7GOSUB ?LET ?6
NEXT ?ELET ?FAST 5ò SGN ;FAST E
GOSUB ?SGN ??LN PRINT !?<>?÷)>=?
ññ LN IF ?ELET ?FAST 5ò SGN ;
FAST EGOSUB ?FAST 5ò SGN ;SGN ??
LN PRINT !?ó?´)ò?ññ LN IF ?ELET
?FAST 5ñ SGN ;FAST EGOSUB ?SGN ?
?LN PRINT !?9?· ô)6?ñó LN IF ?E
LET ?FAST EGOSUB ?SGN ??LN
PRINT !?INKEY$?   )Y?ñó LN IF ?
LN .?LN Y?ELET ?76LET ?GOSUB ?
NEXT ?BGOSUB ?IF LEN ?E)?FAST
 SGN BFOR GOSUB ?6LET ?5ñ FAST E
)?FAST 5ó SGN BFOR GOSUB ?SGN 7
GOSUB ?D?6F?ELET ?FAST EGOSUB ?
SGN ??LN PRINT !?0 ô);?ñó LN
IF ?ELET ?FAST 5ñ SGN ;FAST E
GOSUB ?SGN ??LN PRINT !?YK´)V?
ñó LN IF ?ELET ?FAST 5ò SGN ;
FAST EGOSUB ?SGN ??LN PRINT !?
STEP ?   )<>?ñó LN IF ?LN .?LN
Y?ELET ?FAST 5ñ SGN BFOR GOSUB ?
6LET ?ED?76D?GOSUB ?F?BGOSUB ?
IF ¹?5ñ FAST EGOSUB ?SGN ??LN
PRINT !?6?÷K´)3?ñó LN IF ?5ò 
FAST EGOSUB ?SGN ??LN PRINT !?Y?
   )V?ñó LN IF ?LN .?LN Y?5ñ 
FAST EGOSUB ?SGN ??LN PRINT !???
   )??ñó LN IF ?LN .?LN Y?5+ 
FAST 5  SGN ??LN PRINT !?3?YOU G
OT E.T. HOME...GAME OVER***)??ñ4
 LN IF ?5  FAST 5  SGN ??LN
PRINT !5>=£LN ??6;?5ñ FAST 5
CONT óSGN 7GOSUB ?H?6J?EH?76H?
GOSUB ?J?BGOSUB ?IF EXP ?TAN
TAN         õò  +     ) >   -   
W   >   -   ò   ó   <   ??      
K   ô   0   ) ) DIM óDIM ó  ó? 
REM       MCODER II         COPY
RIGHT 1983   D C THRELFALL COMPI
LER AT 17300 PROG AT 20500
  10 REM **E.T.**SLR/1985-2012**
  20 LET L=USR 20500
  30 PAUSE 4E4
  40 RUN
 100 SAVE "ETMC"
 110 RUN