ZX81 Listing for pd2.p


ZX81 program listing for *POLE DODGE 2*SLR/2012*

*POLE DODGE 2*SLR/2012* (pd2.p)

How high can you score flying around the incoming poles.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 27707
VARS  : 28500
E-LINE: 28501
STKBOT: 28501
STKEND: 28501


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

   0 REM MCII
30403 ?/INKEY$?INKEY$?CALL INKEY$
??INKEY$?  ??INKEY$PI?8PI?
INPUT PI?ERR MSGS CALL LN Vò84
IF INT £FAST STR$ ACS ?C!Y-LN õ
PILN (INKEY$)(BLN UNPLOT RNDK;)
CONT óLN UNPLOT RNDK=)HOME  LN
UNPLOT RNDK>2úLN UNPLOT RNDK)/=
LN òINKEY$)CONT óLN òINKEY$)
HOME  LN òINKEY$LN òINKEY$
LN òINKEY$SGN LPRINT TAN FAST B
GOSUB DELETE LPRINT TAN Y0B
GOSUB DELETE SóW/RAND ;?õPI?J
LINE ?J?7TAN RND)5 FAST GOSUB
UNDRAW /RNDù7FAST ;FOR 5CHR$ ò
GOSUB PISTOP AT FOR GOSUB K
LPRINT ñQòù6:RNDCLEAR QT5CLEAR Q
TAN LN VòñCOPY RETURN JFAST
GOSUB PILPRINT COS //LN VòG4IF
LN Vò?RETURN COPY CSAVE ñCOPY
RETURN JFAST GOSUB PILPRINT C
INPUT JERR MSGS 8COS 9EDIT LN X÷
ASN DRNDTAN ACS UNPLOT 6ORNDEO
RND?NEW ?PCOS LN CALL INKEY$C
NEXT TAN YF( AND GOTO PICHAR Yñ
ACS CKòYôACS DKòACS ÷PRINT LN
INT INKEY$÷ACS ?KòINPUT ?CHAR )2
£UKRND<IF VAL INKEY$LET J4LET
KRETURN !SòINPUT ?/QY*( AND
GOTO PI?NEW 3DEF PROC VAL VAL
VAL JACS (ACS (ACS (POP LINE DD
AT CHAR ùAT CHAR ùGOSUB UNDRAW
£RNDù76:RNDAT Y/(MURNDY5)MTRND
TAN STR$ FAST VAL RETURN
8218 RNDACS AUTO CõLN ( /QE:RND
LN DO PI/CRETURN RNDABS JPIRND
ACS AUTO CõLN ( /*E:RNDPRINT
LET E:RND?76:RND5TRNDPAT LPRINT
SGN TAN 7PRINT 6:RNDCLEAR QT5UU
RNDXMURNDRETURN òATN PUSH PILET
TAN U5RNDRETURN  CöXM5RND/AE£RND
ñSAVE òùQ?FAST LN CALL INKEY$C
CLS LPRINT RETURN CASN
RETURN ZC:RETURN D4÷ACS 0F?O4
CLS ?/INKEY$LN PUSH !/ABS ?LCOS
,LN õPI<"/PRINT RETURN CALL Sù
RETURN ""ACS R AND FPINEW Z5)ñ
CHAR ôRETURN 5K£RETURN ñCô
RETURN *SôJLN õPIACS õPI7/PRINT
NEW ZLN õPIJ?!PIINT º?MCIF LN O
CALL VAL UNDRAW PI)  STR$ FOR 7D
FOR D?+?0FOR KPLOT FOR FOR J?3
LINE ?3?OC/FOR JACS 0ACS 1?+?0
IF ùCALL ?+DEF PROC ?0CHAR STOP
;STOP /<>LPRINT AT ACS ?TAB (
INKEY$TAN ERR MSGS ?*>=(INKEY$
FOR ?CCHAR ACS ?TAB (INKEY$TAN
GOSUB OFFMRNDONICLEAR ?Rö GOSUB
DELETE /GOSUB DELETE /READ
END PROC GOSUB DELETE Kñ76MRND
ACS WERR MSGS EDIT TAN LN   E-
RND7PRINT LN -DPOKE LN -DPOKE
LN SCHAR LN INPUT DEF PROC INT ?
LN RAUTO LN <>AUTO TAN LN LEN
AUTO YCODE LN RUN DEF PROC LN *
EDIT /$LN RAUTO 5  LN >ERR MSGS
óLN NEXT AUTO FAST LN LEN AUTO
LPRINT LN >ERR MSGS LN A
ERR MSGS LN LLIST !)CLEAR CALL ñ
LN IF DEF PROC E?RNDLN INPUT
DEF PROC )RUN CALL ñô LN IF
DEF PROC E?RNDLN INPUT DEF PROC
LN .CHAR LN .CHAR YRUN LN RUN
DEF PROC Y?LN RUN DEF PROC LN
LET DEF PROC RETURN YTAB DRND5
LIST CALL FAST LN EúE?RNDDIM LN
POKE DEF PROC 4CLS INT ?
30455  
30386 DER II ENDAT YTAN ?BDPOKE 6
?RNDGOSUB OFF0RND<5?RNDLN OFF
DPOKE 5  6?RNDE?RND6?RNDLN A
DEF PROC WMõEND PROC 5?RNDFAST
LN 7DPOKE LPRINT FAST 7776-RNDU*
RNDM5RNDLN -DPOKE RETURN PAUSE
ATN NEXT ERR MSGS RETURN RAND
ATN CHR$ UNDRAW RETURN IF ATN ,
EDIT RETURN THEN CREM RETURN
DIM ATN JDEF PROC RETURN GOTO
ATN ?DPOKE RETURN GOSUB ATN >
DPOKE RETURN FOR ATN PAUSE
UNDRAW RETURN NEXT ATN 2PROTECT
RETURN SLOW ATN ""AUTO RETURN
POKE ATN VAL UNDRAW RETURN FAST
ATN LAUTO RETURN INPUT ATN ¶
PROTECT RETURN PLOT ATN DATA
EDIT RETURN UNPLOT ATN ³EDIT
RETURN LET ATN 2 RETURN CLS ATN
KUNDRAW RETURN STOP ASN £UNDRAW
RETURN PRINT ATN LET DPOKE
RETURN LPRINT ATN CHR$ DPOKE
RETURN NEW ATN òDPOKE RETURN
COPY ATN UNPLOT ERR MSGS RETURN
REM CPROTECT RETURN SCROLL ATN P
UNDRAW RETURN RETURN ATN $
ERR MSGS RETURN CLEAR ATN A
DEF PROC RETURN  4;E-RND-DPOKE
RETURN
8202 2DEF PROC TAB QERR MSGS LN
£UNDRAW LN LEN AUTO YSLN RUN
DEF PROC ?DRNDLN HTRACE 5=RND?S
UNDRAW 5PUSH !?SUNDRAW 5?ó?S
UNDRAW SCROLL RETURN ?4SGN LN
RUN DEF PROC 5/DPOKE LN SUNDRAW
/LEN ñRETURN RETURN GOSUB POP
ACS 1**?POKE DEF PROC UNTIL 7
RESTORE STR$ FOR FAST 67RNDRND
LN .CHAR LN INPUT DEF PROC JLN
RUN DEF PROC LPRINT LN BREAK
DPOKE ..FOR SGN LN OFFDPOKE
GOSUB OFF?RNDLN OFFDPOKE FAST
GOSUB OFF?RNDBGOSUB DELETE
LPRINT **6?RND?SCROLL CHAR ?7?7
TAN RESTORE 7UNTIL 7TAN FAST AT
E0RND7LN NOSTALGIC DPOKE FOR B
GOSUB PISQR E?RNDGOSUB DELETE **
FOR 7/GOSUB Y?PRINT LN -DPOKE
LN DO PROTECT LN BREAK DPOKE
FOR LN NOSTALGIC DPOKE FOR LET ?
UUNDRAW YLN /DIM FAST SCROLL
RETURN
10249 PRINT LN RUN DEF PROC
LET LPRINT TAN VAL FAST E?RND
PRINT ?FAST 76?RNDLN POKE
DEF PROC RETURN D4-Y
52727 LN INPUT DEF PROC JLN RUN
DEF PROC LET A ?LN INPUT
DEF PROC /òLPRINT LET LPRINT AT
JTAN 5CLEAR ACS LN XUNDRAW 5ñ
EXP LN XUNDRAW LN LET DPOKE 5
CLEAR ACS LN XUNDRAW 5ñ:?X
UNDRAW LN -DPOKE RETURN
8198 ERROR LN -DPOKE RETURN
INKEY$CZRETURN
51890 "CYRETURN AT C?RETURN CHR$
ASN >=ERROR RETURN TAB ASN GOTO
ERROR RETURN ,ASN OERROR PRINT E
-RND7LET ñTERROR VAL ñ  VAL ñM
TRACE VAL ?CHAR UNDRAW 5INPUT
DEF PROC LN SUNDRAW /RESEQ 5RND
TRACE LN SUNDRAW /óLN LOOP
ERROR 5IF DEF PROC LN SUNDRAW /
CHAR Y?LN BDPOKE E?RNDFAST LN X
UNDRAW ñCOPY COPY LN TRACE  ó
PRINT LN RUN DEF PROC LET
RETURN "CõLN BDPOKE /INPUT
LPRINT VAL GOSUB OFF?RNDLN OFF
DPOKE Y)LN UUNDRAW YñLPRINT ?U
UNDRAW LN IUNDRAW LN SQR UNDRAW
5CALL EDIT LN XUNDRAW 5PRINT !
LN SUNDRAW LN -DPOKE RETURN ,C>
RETURN ;ASN CLS DPOKE RETURN +
ASN CLS DPOKE 5.CHAR LN SUNDRAW
JTAN 5XERROR LN SUNDRAW ?CLS
DPOKE 5ñRNDACS AUTO TAB :"JLN
RUN DEF PROC UTRNDRETURN )S
UNDRAW :(Y/5URND-CHAR ?PRINT !
LN ERR MSGS UNDRAW Y?LN BDPOKE 5
RUN DEF PROC LN SUNDRAW /JLN H
TRACE 5RUN ERROR LN SUNDRAW /8?
NEW 3DEF PROC 5ñRNDACS AUTO C:5S
RND-ACS COPY LEN WUSR ?!?òùUTRND
CHR$ UNPLOT .CHAR /RY
50167 LN ABS 5IF DEF PROC LN S
UNDRAW ?.ERROR LN NOSTALGIC
DPOKE STR$ LN NOSTALGIC DPOKE
STR$ AT SGN TAN RETURN RNDABS
CONT ERR MSGS ñWRNDòLN LINE
CALL RETURN 0SúRETURN RNDLN -
DPOKE ó/INPUT RETURN (M÷
END PROC CôRETURN $4òóòúACS
COPY òLN ³CHAR A ?DDGOSUB
UNDRAW ?RNDùCHAR U÷END PROC
RETURN $C!RETURN (4òJTAN ?TAN
TAN RND9ñWRNDJMöEND PROC úY
ACS ?4KACS LIST ACS RNDFAST
END PROC OASN CONT ERR MSGS
LPRINT ?FFAST LN SCROLL CHAR
LPRINT óACS ?CNEXT J?6ùEND PROC
UöEND PROC LN DPEEK CHAR RETURN
ñ4"Y5LN UUNDRAW 5SAVE CHAR LN S
UNDRAW UöEND PROC 5õEND PROC
ERROR ôS**?TAN EùEND PROC )M 
GOSUB DELETE GOSUB OFF?RNDGOSUB
DELETE SQR INT ³FAST LN
NOSTALGIC DPOKE ?NLPRINT ""
GOSUB OFFñEND PROC LN OFFDPOKE )
  LN OFFDPOKE E?RNDGOSUB OFFñ
END PROC ;6ñEND PROC ñ  ?COS :
LN -DPOKE LN SCHAR RETURN ñASN
RESEQ RETURN  4úLN DPOKE ACOPY
FAST LN -DPOKE RETURN =TAB CONT
ERR MSGS LN HTRACE LPRINT ?
RETURN COPY 4£5SGN FOR LN X
UNDRAW 5OFFDPOKE ?SUNDRAW Y6?U
UNDRAW FAST 5NOSTALGIC TRACE LN
SUNDRAW LN -DPOKE LN LINE CALL
RETURN (46LPRINT LN ** 5STR$
VAL LN XUNDRAW 5DUP DEF PROC LN
SUNDRAW LN -DPOKE LN 3 5AT SGN
LN XUNDRAW 5?DEF PROC ?SUNDRAW
LN -DPOKE LN 3 LPRINT Y5LN U
UNDRAW 5?TRACE ?SUNDRAW I+FAST
LN -DPOKE RETURN (CRAND RETURN "
LN LOOP ERROR /END WHEN
RETURN INKEY$4!5RNDTRACE LN S
UNDRAW /USER RETURN CHR$ 4"LN
ERR MSGS UNDRAW 5UTRACE LN S
UNDRAW /DELETE LN ABS /EDIT LN
SCHAR LN -DPOKE FAST LN LINE
CALL RETURN (4NLN -DPOKE LN H
TRACE E-RNDDATA LOOP LN XUNDRAW
/"LN -DPOKE RETURN TO TAB CONT
ERR MSGS LN OUNDRAW 5AUTO TRACE
LN SUNDRAW LPRINT Y5LN UUNDRAW 5
WHILE TRACE ?SUNDRAW LPRINT Y5
LN UUNDRAW 5HCHAR ?SUNDRAW 5
LINE TRACE LN SUNDRAW LN LINE
CALL RETURN )CùLPRINT X""LN -
DPOKE ?5 LN -DPOKE /FOR ?ññ /ù
LN POKE DEF PROC ñ  GCOS £)ù
END PROC >TAN B.GOSUB DELETE
ERR MSGS EDIT LIST INT ºSTR$ LN
NOSTALGIC DPOKE FOR SGN ;FOR
TAN EñEND PROC 6õEND PROC TAN ?L
COS EõEND PROC FOR GOSUB KGOSUB
DO õEND PROC TAN FAST
END PROC GOSUB OFFñEND PROC B
GOSUB DELETE FAST AT LPRINT LN
NOSTALGIC DPOKE VAL FAST LN ?
DEF PROC LPRINT AT ?7?TAN FOR ö!
?RETURN  CñACS  DRAW ?FOR 5  
ACS T3Kñ;FOR DFOR (PRINT TAN J
PRINT LN ERR MSGS UNDRAW LN
LINE CALL RETURN + AND RNDDRAW
RETURN ;ABS RNDDRAW YFAST LN B
DPOKE LN -DPOKE PRINT LN
ERR MSGS UNDRAW LET RETURN +Cô
RETURN -47AT LINE ?RETURN  4ô
PRINT FAST /PEEK FAST 5ERR MSGS
EDIT LN XUNDRAW LN NEXT TRACE Y
FAST 5PUSH NOSTALGIC LN UUNDRAW
/ZPRINT VAL /0RETURN /C(RETURN *
TAB CONT ERR MSGS LN VDRAW 5)
TRACE LN SUNDRAW /BLN VDRAW 5
CLEAR DEF PROC /NEXT YLPRINT LN
BDPOKE LET RETURN  COS RETURN +C
)LN VDRAW 5BFOR LN XUNDRAW 5
GOSUB DELETE LN XUNDRAW /SCROLL
LN VDRAW Y;LN BDPOKE /<>YSGN ?B
DPOKE RETURN )4USR LN -DPOKE /
INT RETURN PEEK 4?LN ERR MSGS
UNDRAW 5A ?XUNDRAW RETURN USR 4>
LN ERR MSGS UNDRAW 5PUSH DRAW ?S
UNDRAW ñ?DRAW VAL FAST TAN
NOSTALGIC PUSH TAN RETURN CODE 4
G5õEND PROC YELN UUNDRAW YFAST
LN BDPOKE ICOPY LN 5 YSGN LN B
DPOKE 5>DRAW /USR EõEND PROC
GOSUB DO õEND PROC JGOSUB
DELETE LINE ?COS ,?TAN RETURN
RND4õ5ARND/VRETURN ABS 4)LN
ERR MSGS UNDRAW 5ACS ?LN X
UNDRAW YCODE 5?UNDRAW ?UUNDRAW
RETURN INT ASN ERR MSGS UNDRAW
RETURN LEN 4,LN -DPOKE LN SCHAR
LN -DPOKE Y5LN UUNDRAW 5>=DRAW /
º77LN NOSTALGIC DPOKE FOR TAN
RETURN SGN 4+LN ERR MSGS UNDRAW
5LIST DRAW ?SUNDRAW ?PCOS ACS ?5
ñ TAB ?UNDRAW TAN RETURN SQR
TAB CONT ERR MSGS LN ERR MSGS
UNDRAW 5úUNDRAW ?SUNDRAW JXACS ?
INT ¹?ELSE A )RND ö!GOSUB
DELETE Kñ;ZACS GOSUB
CLR STACK ·GOSUB CLR STACK (
LIST CLR STACK LINE TAN LN H
TRACE LN -DPOKE PRINT YFAST LN B
DPOKE LN HTRACE YSGN LN BDPOKE
LET TAN LN -DPOKE RETURN -PRINT
ATN -DPOKE RETURN (C-RETURN RNDK
$RETURN AUSR ?UNDRAW >=µUNDRAW
LET ATN ELSE UNDRAW TAN LN
TRACE DRAW /PLOT LN HTRACE /LET
5?UNDRAW /CHAR ?JLINE ?J?7TAN
LN SCHAR RETURN  ASN >DEF PROC Y
E/PLN DO PROTECT Y5/I)(BLN A
DPOKE LN $ERR MSGS UõEND PROC
DEF PROC £E?RND6?RNDöôLN BDPOKE
(CLS $4PLOT LPRINT GOSUB UNDRAW
?RNDTAN 5Eú/ó5"RNDYLN LN BDPOKE
?LN BDPOKE ??BDPOKE LN IUNDRAW
LN SQR UNDRAW 5FOR ?/GOSUB
RETURN ,TAB CONT ERR MSGS TAN
LN LINE CALL RETURN
10245 TRACE /!YE5ORNDLN UUNDRAW Y
65MRND?UUNDRAW LN -DPOKE LN S
CHAR FAST FAST LN -DPOKE LN I
UNDRAW Y7LN BDPOKE 5GOSUB DO LN
XUNDRAW LPRINT LN XUNDRAW Y677
LN UUNDRAW LPRINT GOSUB OFF?RND?
OFFDPOKE LN -DPOKE LN SCHAR
FAST FAST YELN UUNDRAW 576LN X
UNDRAW LPRINT LN XUNDRAW 77Y
GOSUB LN BDPOKE YOFFLN UUNDRAW Y
B5GOSUB DELETE LN UUNDRAW YIF
LPRINT LN NOSTALGIC DPOKE FOR ?U
UNDRAW 5  /?LN -DPOKE RETURN  
LN )TRACE LET RETURN AABS CONT
ERR MSGS RETURN 0 AND CONT
ERR MSGS CHR$ 0ö DEF PROC ù/ TO
FAST E-RND)õ ;6-RNDLPRINT TAN
LN -DPOKE LN SCHAR RETURN ñC1
PRINT FAST 5*EDIT LN SUNDRAW
LPRINT LET RETURN  TAB EXIT Y
FOR LN BDPOKE LN SUNDRAW Y5LN U
UNDRAW LN -DPOKE 5VPROTECT ?S
UNDRAW GOSUB UNDRAW ñEND PROC
VAL FAST LN òEDIT 6ñEND PROC
FAST LN PAUSE PROTECT RETURN
10249 KPRINT LN $EDIT /LIST SGN
GOSUB DELETE FAST AT LPRINT LN ³
TRACE AT GOSUB CALL ñEND PROC
FAST LN òEDIT ñ3 LN ?DEF PROC
LPRINT TAN FAST LN LET DEF PROC
LPRINT RETURN ?""J?FY
48672 £RNDñSAVE òùYL?TAN ?7Y
48672 /PAUSE LN òEDIT FAST FAST
LN PAUSE PROTECT RETURN
10257 C!RETURN 0SLET RETURN AK
GOSUB LN $EDIT /CONT 5  SGN ,
RETURN -C(RETURN LC?CHR$ 0DFAST
DDAT ùö DEF PROC ù</CONT SGN ,
RETURN -PRINT LN NEW PROTECT
LET ""??UNDRAW Y.PRINT LN I
UNDRAW LN SQR UNDRAW 5UNDRAW
DPOKE LN XUNDRAW YYLN BDPOKE
LET LN BDPOKE YM5KRNDLN UUNDRAW
5,RND?SUNDRAW Y4/**?PCOS ?NCOS R
TAN ?PCòRTAN ?NCOS RTAN E-RND7(C
PLOT RETURN INKEY$ASN ERR MSGS
AUTO RETURN CHR$ ASN ERR MSGS
AUTO RETURN "ASN ERR MSGS AUTO 7
LN IUNDRAW RETURN OR 4ú5?EDIT
LN SUNDRAW YABS /CHAR RETURN
AND 4õ5·EDIT /LIST PRINT YB5
GOSUB DELETE LN UUNDRAW LET
RETURN =4ôYTAB /GRETURN <>4ôY
ASN /8RETURN >C+RETURN <4÷YASN
LN 5AUTO /<RETURN >=4ú5CóLN X
UNDRAW YPAUSE RETURN <=TAB
CONT ERR MSGS YIF LN 5AUTO LN -
DPOKE RETURN AND ASN ,EDIT TAN
LN BDPOKE EúRND7LN BREAK DPOKE
FOR LN NOSTALGIC DPOKE FOR ?X
UNDRAW LN XAUTO 6õEND PROC 6÷
END PROC TAN EõEND PROC QCOPY 7
TAN 5NOSTALGIC TRACE LN SUNDRAW
LN 3 LN -DPOKE PRINT 5NAUTO LN S
UNDRAW LN 3 5XAUTO LN SUNDRAW 52
AUTO LN SUNDRAW LET RETURN =4ôY
TAB /ARETURN <>4ôYASN /2RETURN >
4÷YASN LN 5AUTO /!RETURN <C<
RETURN >=4ôY AND RETURN <=TAB
CONT ERR MSGS 5CóLN XUNDRAW Y
ABS ?+AUTO E÷END PROC GOSUB
UNDRAW ñEND PROC úWOY""RETURN  
COS 7ó/POKE 5RAUTO ?SUNDRAW LN
SCROLL ò5VRNDACS QTAN 5LEN AUTO
?SUNDRAW 5VRNDACS PLOT ?÷ò5ò LN
**ù""FAST LN 2DEF PROC SGN ?
DATA ú5ò LN **ù""LN 2DEF PROC
COS LN 2DEF PROC COS LOOP DATA E
£RND/SCROLL óóóVAL óóóóVAL LN
EXP AUTO 5ó LN **ùAT LN 2ù7Y
28963 7AT ?7?7QREM 7?7?7TAN 77
AUTO 7ERROR ù7U£RND1""U$RND0TAN
LN -DPOKE LN SCHAR Y5LN UUNDRAW
YGOSUB LN BDPOKE YOFF5ñEND PROC
LN UUNDRAW 5OFFDPOKE LN SUNDRAW
LN HTRACE 5UNTIL DEF PROC ?S
UNDRAW 7D7FAST FAST AT
END PROC LN COS :AT LN DUP
DEF PROC GOSUB DO ñEND PROC TAN
EñEND PROC DATA LOOP <Q /óEñ
END PROC ?LCOS GOSUB KTAN FAST
LN ERR MSGS UNDRAW 5GOSUB
UNDRAW LN XUNDRAW LPRINT LN X
UNDRAW 5Dù?XUNDRAW LN DPOKE 5
NOSTALGIC DPOKE LN SUNDRAW 5FOR
SGN ?XUNDRAW EôRND9QCOPY FQCOPY
FQ 6ùEND PROC Y5E?RNDLN UUNDRAW
I:UõEND PROC LINE LN XUNDRAW 5
ATN DEF PROC ?SUNDRAW £JM5RNDöô?
7(UNPLOT $4RUN 54 6?RNDE0RNDñ
HOME  ù6ñEND PROC 6õEND PROC
TAN RND?:RND?)RND?1RND?4RND
FOR ?7RNDù?  ù?ú??:REM
30241 ::LN ATN DEF PROC LN
RESTORE LN ?DELETE LN DPEEK DO E
TRESTORE FAST 5  SGN BGOSUB
DELETE TAB QEND PROC LN FOR
CURSOR ETRESTORE FAST 5ó SGN B
GOSUB DELETE ASN DRAW END PROC
IF DRAW END PROC ?6END PROC EX
RESTORE FAST 5ñ SGN BFOR GOSUB
DELETE 6XRESTORE EXRESTORE FAST
5  SGN BGOSUB DELETE PAUSE
CLR STACK END PROC ?3END PROC 5ñ
 FAST 51 SGN CALL EDIT LN PRINT
!??END PROC    )?END PROC ñó LN
IF DEF PROC 5õ FAST 5ö SGN CALL
EDIT LN PRINT !?DEND PROC **** G
AME OVER ****)-END PROC ñ< LN
IF DEF PROC LN .CHAR 5÷ FAST 5ó 
SGN CALL EDIT LN PRINT !? THEN
END PROC PRESS ENTER TO PLAY AGA
IN)VAL END PROC ñ; LN IF
DEF PROC 5M LN =RNDLN NOSTALGIC
TRACE LN RNDTRACE LN LINE TRACE
LN NAUTO ?UNPLOT END PROC )
UNPLOT END PROC ñ  LN LINE
TRACE LN XAUTO LN 2AUTO TAB )?
SCROLL END PROC LN NOSTALGIC
TRACE LN RNDTRACE LN LINE TRACE
LN NAUTO ?5.)4ññ LN LINE TRACE
LN XAUTO LN 2AUTO TAB Q?SCROLL
END PROC LN NOSTALGIC TRACE LN
RNDTRACE LN LINE TRACE LN NAUTO
?ERROR Z)DPOKE ññ LN LINE TRACE
LN XAUTO LN 2AUTO TAB OFF?
SCROLL END PROC ?0END PROC LN
LN XERROR LN XERROR LN XERROR
LN XERROR 5÷ LN RUN ERROR ?¸** P
OLE DODGE 2 **)
20737 LN IF DEF PROC LN XERROR
LN XERROR LN XERROR 5õ LN RUN
ERROR ?TBY STEVEN REID (C)2012)7
ñ- LN IF DEF PROC LN XERROR LN X
ERROR LN XERROR LN XERROR LN X
ERROR ?NEXT  USE Z FOR LEFT AND 
. FOR RIGHT)USR ñ3 LN IF
DEF PROC LN XERROR LN XERROR LN
XERROR LN XERROR LN XERROR ?F
DELETE    PRESS ANY KEY TO START
....):DELETE ñ1 LN IF DEF PROC
LN .CHAR 5M LN =RNDLN NOSTALGIC
TRACE LN RNDTRACE LN LINE TRACE
LN NAUTO ?PROTECT DELETE )
PROTECT DELETE ñ  LN LINE TRACE
LN XAUTO LN 2AUTO TAB USER
DELETE ?RDELETE 5M LN =RND5  6
INKEY$RESTORE 5ó 6XRESTORE TAN 5
ú 6DPOKE RESTORE 5TRACE RESTORE
GOSUB OFFñEND PROC LN OFFDPOKE 5
ú LN UNTIL DEF PROC 5EDIT
RESTORE GOSUB OFFñEND PROC LN
OFFDPOKE 5ú LN UNTIL DEF PROC 5 
 6TRESTORE 5ô 6RESTORE 5  6EXIT
RESTORE 5ñ 6INDENT RESTORE LN
5= FAST 5  SGN CALL EDIT LN
PRINT !?FAST DELETE úúúúúúúúúúúú
úúúúúúúúúúúúúúúúúúúú)VAL DELETE
ñ4 LN IF DEF PROC 5ñ FAST 5  
SGN CALL EDIT LN PRINT !?õDO SCO
RE: )RETURN DELETE ñ÷ LN IF
DEF PROC EINKEY$RESTORE LN
INPUT DEF PROC LN .CHAR 5ñ FAST
EXRESTORE SGN 7GOSUB DO DATA
RESTORE 6READ RESTORE 5ñ FAST 54
 FAST 5ó FAST EDATA RESTORE SGN
LN )TRACE SGN BFOR GOSUB DELETE
SGN CALL EDIT LN PRINT !?UNDRAW
DO ó÷ñ) DO ñó LN IF DEF PROC E
DATA RESTORE 76DATA RESTORE
GOSUB OFFREAD RESTORE BGOSUB
DELETE IF BDO TAN ETRESTORE
FAST 5  SGN BGOSUB DELETE TAB ?
DO LN /RESEQ ETRESTORE FAST 5  
SGN BGOSUB DELETE PAUSE ¸DO LN L
OFFERESTORE FAST 5ñ SGN BFOR
GOSUB DELETE 6RESTORE ERESTORE
FAST 5  SGN BGOSUB DELETE PAUSE
ADO TAN 5ñ FAST EINDENT RESTORE
SGN 7GOSUB DO DATA RESTORE 6
READ RESTORE EDATA RESTORE
GOSUB UNDRAW TRACE RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5  SGN BGOSUB DELETE TAB
LPRINT DO ETRESTORE FAST 5  SGN
BGOSUB DELETE TAB LPRINT DO LN ³
INDENT EDATA RESTORE GOSUB
UNDRAW TRACE RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5ñ 
SGN BGOSUB DELETE TAB ELOOP 5< 
FAST EDATA RESTORE GOSUB UNDRAW
EDIT RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5ñ 
SGN ;SGN CALL EDIT LN PRINT !?2
LOOP ô)1LOOP ññ LN IF DEF PROC
LN .CHAR EDATA RESTORE GOSUB
UNDRAW TRACE RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5ò 
SGN BGOSUB DELETE TAB ?LOOP 5< 
FAST EDATA RESTORE GOSUB UNDRAW
EDIT RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5ñ 
SGN ;SGN CALL EDIT LN PRINT !?
LINE LOOP õ)DPEEK LOOP ññ LN IF
DEF PROC LN .CHAR EDATA RESTORE
GOSUB UNDRAW TRACE RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5ó SGN BGOSUB DELETE TAB
CONT LOOP 5> FAST EDATA RESTORE
GOSUB UNDRAW EDIT RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5ñ SGN ;SGN CALL EDIT LN
PRINT !?KLOOP õ)JLOOP ññ LN IF
DEF PROC 5< FAST EDATA RESTORE
GOSUB UNDRAW EDIT RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5ñ SGN ;SGN CALL EDIT LN
PRINT !?>=LOOP õ)<=LOOP ññ LN
IF DEF PROC LN .CHAR EDATA
RESTORE GOSUB UNDRAW TRACE
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5ô SGN B
GOSUB DELETE TAB ?EXIT 5) FAST E
DATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?4EXIT µõ)2EXIT ñò LN IF
DEF PROC 5> FAST EDATA RESTORE
GOSUB UNDRAW EDIT RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
SGN CALL EDIT LN PRINT !?CHAR
EXIT µõ)DPOKE EXIT ñò LN IF
DEF PROC 5< FAST EDATA RESTORE
GOSUB UNDRAW EDIT RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
SGN CALL EDIT LN PRINT !??EXIT µ
õ)ELSE EXIT ñò LN IF DEF PROC
LN .CHAR EDATA RESTORE GOSUB
UNDRAW TRACE RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5õ 
SGN BGOSUB DELETE TAB NUNTIL 5( 
FAST EDATA RESTORE GOSUB UNDRAW
EDIT RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN
CALL EDIT LN PRINT !?MEXIT  õ)K
EXIT ñò LN IF DEF PROC 5) FAST E
DATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !? OR EXIT  õ)NOT EXIT ñò 
LN IF DEF PROC 5> FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !? UNTIL  õ)RETURN EXIT ñò
 LN IF DEF PROC 5< FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?BUNTIL  õ)9UNTIL ñò LN
IF DEF PROC LN .CHAR EDATA
RESTORE GOSUB UNDRAW TRACE
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5ö SGN B
GOSUB DELETE TAB <WHILE 5? FAST
EDATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?DUP UNTIL   )PUSH UNTIL
ñò LN IF DEF PROC 5( FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?>UNTIL   )(UNTIL ñò LN
IF DEF PROC 5) FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?TUNTIL   )RUNTIL ñò LN
IF DEF PROC 5> FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !? STEP UNTIL   ) THEN
UNTIL ñò LN IF DEF PROC 5< FAST
EDATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?÷WHILE   )õWHILE ñò LN
IF DEF PROC LN .CHAR EDATA
RESTORE GOSUB UNDRAW TRACE
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5÷ SGN B
GOSUB DELETE TAB NEXT WHILE 5? 
FAST EDATA RESTORE GOSUB UNDRAW
EDIT RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN
CALL EDIT LN PRINT !?UNDRAW
WHILE   )TRACE WHILE ñò LN IF
DEF PROC 5( FAST EDATA RESTORE
GOSUB UNDRAW EDIT RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
SGN CALL EDIT LN PRINT !??WHILE
  )?WHILE ñò LN IF DEF PROC 5) 
FAST EDATA RESTORE GOSUB UNDRAW
EDIT RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN SGN
CALL EDIT LN PRINT !?;WHILE   )*
WHILE ñò LN IF DEF PROC 5> FAST
EDATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?""WHILE   )YWHILE ñò LN
IF DEF PROC 5< FAST EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN CALL EDIT LN
PRINT !?SCROLL WHILE   )FAST
WHILE ñò LN IF DEF PROC LN .
CHAR EDATA RESTORE GOSUB UNDRAW
TRACE RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5  
SGN BGOSUB DELETE PAUSE LWHEN E
DATA RESTORE GOSUB UNDRAW TRACE
RESTORE DùFAST EDATA RESTORE
GOSUB UNDRAW TRACE RESTORE Dù
STR$ LN NOSTALGIC DPOKE FOR SGN
FAST 5ñ SGN ;SGN FOR LN OFF
DPOKE EDATA RESTORE GOSUB
UNDRAW TRACE RESTORE DùSTR$ LN
NOSTALGIC DPOKE FOR SGN FAST 5÷ 
SGN BGOSUB DELETE PAUSE AUTO
WHEN LN )WHEN EDATA RESTORE 76
DATA RESTORE GOSUB OFFREAD
RESTORE BGOSUB DELETE IF QDO E
INDENT RESTORE FAST 5õ SGN B
GOSUB DELETE ASN ºWHEN IF ºWHEN
LN ARNDFAST 5 ?SGN BGOSUB
DELETE PAUSE ºWHEN EINDENT
RESTORE FAST 5ñ SGN ;6INDENT
RESTORE 5ô 6RESTORE TAN EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST EDPOKE
RESTORE FAST 5ñ SGN ;SGN BGOSUB
DELETE CóPAUSE OR WHEN EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST EDPOKE
RESTORE FAST 5ó SGN ;SGN BGOSUB
DELETE IF OR WHEN 5ñ 6TRESTORE
EDATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5ñ SGN ;FAST
EDPOKE RESTORE FAST 5ñ SGN ;SGN
BGOSUB DELETE CóPAUSE HINDENT E
DATA RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5ñ SGN ;FAST
EDPOKE RESTORE FAST 5ó SGN ;SGN
BGOSUB DELETE IF HINDENT 5ñ 6T
RESTORE ETRESTORE FAST 5  SGN B
GOSUB DELETE TAB CHAR INDENT E
INKEY$RESTORE FAST 5ú SGN ;6
INKEY$RESTORE EDATA RESTORE
GOSUB UNDRAW TRACE RESTORE Dù
FAST 5  SGN FOR LN OFFDPOKE 5ñ 
FAST 5  SGN CALL EDIT LN PRINT !
??INDENT SCORE: )PUSH INDENT ñ÷ 
LN IF DEF PROC EINKEY$RESTORE
LN INPUT DEF PROC LN .CHAR TAN E
DATA RESTORE GOSUB UNDRAW TRACE
RESTORE DùFAST 5ñ SGN FOR LN OFF
DPOKE EDATA RESTORE GOSUB
UNDRAW EDIT RESTORE DùFAST LN A
RNDFAST 5¸!SGN LN CLEAR
DEF PROC FAST 5ò SGN LN )TRACE
FAST 5ñ SGN ;SGN FOR LN OFF
DPOKE 5ñ FAST EINDENT RESTORE
SGN 7GOSUB DO USER RESTORE 6ON
RESTORE EUSER RESTORE FAST E
DATA RESTORE SGN BGOSUB DELETE
TAB THEN INDENT ?÷RESEQ EDATA
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST EUSER
RESTORE GOSUB UNDRAW EDIT
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN SGN BGOSUB DELETE
TAB ÷RESEQ ?+INDENT EUSER
RESTORE 76USER RESTORE GOSUB OFF
ONRESTORE BGOSUB DELETE IF LN
INDENT EEXIT RESTORE FAST 5  
SGN BGOSUB DELETE TAB CLR STACK
RESEQ 5$ FAST EDPOKE RESTORE
FAST 5ñ SGN ;SGN CALL EDIT LN
PRINT !?ZRESEQ ³³³)WRESEQ ñó LN
IF DEF PROC 5: FAST EDPOKE
RESTORE FAST 5ñ SGN ;SGN CALL
EDIT LN PRINT !?USER RESEQ ·óô)
RESTORE RESEQ ñó LN IF DEF PROC
EEXIT RESTORE FAST 5ñ LN ?
UNDRAW SGN BGOSUB DELETE TAB Z
RESEQ 5$ FAST EDPOKE RESTORE
FAST 5ñ SGN ;SGN CALL EDIT LN
PRINT !?=RESEQ ·³ö))RESEQ ñó LN
IF DEF PROC 5: FAST EDPOKE
RESTORE FAST 5ñ SGN ;SGN CALL
EDIT LN PRINT !?QRESEQ ñ÷ô)N
RESEQ ñó LN IF DEF PROC EEXIT
RESTORE FAST 5ò LN ?UNDRAW SGN B
GOSUB DELETE TAB -OFF5$ FAST E
DPOKE RESTORE FAST 5ñ SGN ;SGN
CALL EDIT LN PRINT !?REM RESEQ  
·ñ )NEW RESEQ ñô LN IF DEF PROC
5: FAST EDPOKE RESTORE FAST 5ñ 
SGN ;SGN CALL EDIT LN PRINT !?$
OFF·´ñ )ùOFFñô LN IF DEF PROC E
EXIT RESTORE FAST 5ñ SGN BGOSUB
DELETE TAB POP OFF5$ FAST E
DPOKE RESTORE FAST 5ñ SGN ;SGN
CALL EDIT LN PRINT !?XOFF¶³ô)U
OFFñó LN IF DEF PROC 5: FAST E
DPOKE RESTORE FAST 5ñ SGN ;SGN
CALL EDIT LN PRINT !?READ OFF·´ò
)CURSOR OFFñó LN IF DEF PROC E
EXIT RESTORE FAST 5ò SGN BGOSUB
DELETE TAB KOFF5$ FAST EDPOKE
RESTORE SGN CALL EDIT LN PRINT !
?ºOFF òô )¶OFFñô LN IF DEF PROC
5: FAST EDPOKE RESTORE SGN CALL
EDIT LN PRINT !?BOFF ò÷ô)7OFFñô 
LN IF DEF PROC TAN ETRESTORE
FAST 5ñ SGN BGOSUB DELETE TAB
CLS OFF5$ FAST EDPOKE RESTORE
SGN CALL EDIT LN PRINT !?USR OFF
 ±¶ô )INT OFFñõ LN IF DEF PROC 5
FAST EDPOKE RESTORE SGN CALL
EDIT LN PRINT !?PAUSE OFF ¶´ö )
GOSUB OFFñõ LN IF DEF PROC ET
RESTORE FAST 5ò SGN BGOSUB
DELETE TAB DPOKE CURSOR 5$ FAST
EDPOKE RESTORE SGN CALL EDIT LN
PRINT !?2CURSOR  ³µ¶ );CURSOR ñõ
 LN IF DEF PROC 5: FAST EDPOKE
RESTORE SGN CALL EDIT LN PRINT !
?WCURSOR  ´¶¶ )RCURSOR ñõ LN IF
DEF PROC LN NOSTALGIC TRACE LN
RNDTRACE LN LINE TRACE LN NAUTO
?EXIT CURSOR Q)LOOP CURSOR ññ 
LN LINE TRACE LN XAUTO LN 2AUTO
TAB ?CURSOR 5>=£LN PUSH DRAW 6
DATA RESTORE ETRESTORE 6BREAK
RESTORE 5ó 6TRESTORE 5ñ FAST E
INDENT RESTORE SGN 7GOSUB DO
USER RESTORE 6ONRESTORE EUSER
RESTORE GOSUB UNDRAW TRACE
RESTORE DùSTR$ LN NOSTALGIC
DPOKE FOR SGN FAST 5  SGN B
GOSUB DELETE PAUSE GCURSOR E
BREAK RESTORE 6TRESTORE EUSER
RESTORE 76USER RESTORE GOSUB OFF
ONRESTORE BGOSUB DELETE IF £
CURSOR ETRESTORE FAST 5ó SGN B
GOSUB DELETE TAB ATN CURSOR TAN
ETRESTORE FAST 5ñ SGN BGOSUB
DELETE TAB <>CURSOR ?SLOW
CURSOR 5ñ 6TRESTORE TAN 5ò 6T
RESTORE TAN 5PUSH RESTORE LN
SAVE CHAR LN NOSTALGIC TRACE LN
RNDTRACE LN LINE TRACE 5PUSH
RESTORE LN ?TRACE LN NOSTALGIC
TRACE 5PUSH RESTORE LN SAVE
CHAR 5PUSH RESTORE LN HCHAR LN
LINE TRACE LN NAUTO ?;DATA Z)/
DATA ññ LN LINE TRACE LN XAUTO
LN 2AUTO TAB IDATA ?*DATA LN
NOSTALGIC TRACE 5PUSH RESTORE
LN SAVE CHAR 5PUSH RESTORE LN H
CHAR LN LINE TRACE LN NAUTO ?
CHAR DATA .)ERROR DATA ññ LN
LINE TRACE LN XAUTO LN 2AUTO
TAB CURSOR DATA ?NEW DATA EEXIT
RESTORE FAST 5  SGN BGOSUB
DELETE ASN ?DATA IF ?DATA EEXIT
RESTORE FAST 5ñ SGN ;6EXIT
RESTORE EEXIT RESTORE FAST 5  
SGN BGOSUB DELETE PAUSE -DATA E
EXIT RESTORE FAST 5ñ SGN BFOR
GOSUB DELETE 6EXIT RESTORE TAN E
DPOKE RESTORE FAST 5  SGN B
GOSUB DELETE PAUSE VAL DATA E
EXIT RESTORE FAST 5ò LN ?UNDRAW
SGN BGOSUB DELETE TAB VAL DATA E
DPOKE RESTORE FAST 5ñ SGN BFOR
GOSUB DELETE 6DPOKE RESTORE E
EXIT RESTORE FAST 5ò LN ?UNDRAW
SGN BGOSUB DELETE PAUSE FAST
DATA EEXIT RESTORE FAST 5ñ SGN B
FOR GOSUB DELETE 6EXIT RESTORE
TAN EDPOKE RESTORE FAST 5. SGN B
GOSUB DELETE ASN )RESTORE IF )
RESTORE EEXIT RESTORE FAST 5ò 
SGN BGOSUB DELETE TAB )RESTORE E
DPOKE RESTORE FAST 5ñ SGN ;6
DPOKE RESTORE EEXIT RESTORE
FAST 5ò SGN BGOSUB DELETE ASN I
RESTORE IF IRESTORE EEXIT
RESTORE FAST 5ñ SGN ;6EXIT
RESTORE TAN TAN TAN         ò   
ó   END PROC    ò   T?  SGN ?  ó
       ò   ó ó ó ó ñ   DIM ?  Y 
óWHEN  REM       MCODER II      
   COPYRIGHT 1983   D C THRELFAL
L COMPILER AT 17300 PROG AT 2050
0
  10 REM *POLE DODGE 2*SLR/2012*
  20 REM **RUN ML
  30 LET L=USR 20500
  40 STOP
  50 SAVE "PD2"
  60 RUN
  70 REM **BASIC**
  80 REM
  90 REM **PRINT START**
 100 GOSUB 500
 110 REM **MAIN LOOP**
 120 REM ****REFRESH
 130 GOSUB 600
 140 REM ****PRINT SCREEN
 150 GOSUB 1000
 160 REM ****MOVE SHIP
 170 IF DEATH=0 THEN GOSUB 2000
 180 IF DEATH<3 THEN GOTO 150
 190 REM ****DEAL WITH DEATH
 200 LET LIFE=LIFE-1
 210 IF LIFE>0 THEN GOTO 130
 220 PRINT AT 1,29;"   ";AT 5,6;
"**** GAME OVER ****"
 230 PRINT AT 7,3;"PRESS ENTER T
O PLAY AGAIN";
 240 PAUSE 50
 250 IF INKEY$="" THEN GOTO 240
 260 IF INKEY$="." THEN GOTO 240
 270 IF INKEY$="Z" THEN GOTO 240
 490 GOTO 100
 500 REM **PRINT START**
 505 CLS
 510 PRINT ,,,,TAB 7;"** POLE DO
DGE 2 **",,,TAB 5;"BY STEVEN REI
D (C)2012",,,,," USE Z FOR LEFT 
AND . FOR RIGHT",,,,,"   PRESS A
NY KEY TO START...."
 520 PAUSE 50
 530 IF INKEY$="" THEN GOTO 520
 540 PAUSE 50
 550 REM **SETUP**
 560 LET S=0
 570 LET LIFE=3
 580 RETURN
 600 REM **REFRESH**
 610 LET X=10
 620 DIM P(10)
 630 DIM D(10)
 640 LET DEATH=0
 650 LET W=4
 660 LET C=0
 670 LET N=1
 700 CLS
 710 PRINT AT 20,0;"úúúúúúúúúúúú
úúúúúúúúúúúúúúúúúúúú";
 720 PRINT AT 1,0;"SCORE: ";S
 730 FOR L=1 TO LIFE
 740 PRINT AT 1,32-3*L;"ó÷ñ";
 750 NEXT L
 990 RETURN
1000 REM **PRINT SCREEN**
1010 IF DEATH=0 THEN GOSUB 1500
1020 IF DEATH>0 THEN GOSUB 1600
1030 LET W=W-1
1040 IF W>0 THEN RETURN
1100 REM **PRINT POLES**
1110 FOR L=1 TO N
1120 IF P(L)=0 AND DEATH=0 THEN
GOSUB 1400
1130 IF P(L)=1 THEN PRINT AT 19,
D(L)+1;"ô"
1140 IF P(L)=2 THEN PRINT AT 19,
D(L)+1;"õ"
1150 IF P(L)=3 THEN PRINT AT 18,
D(L)+1;"õ";AT 19,D(L)+1;"õ"
1160 IF P(L)=4 THEN PRINT AT 17,
D(L);"µõ";AT 18,D(L);"µõ";AT 19,
D(L);"µõ"
1170 IF P(L)=5 THEN PRINT AT 16,
D(L);" õ";AT 17,D(L);" õ";AT 18,
D(L);" õ";AT 19,D(L);" õ"
1180 IF P(L)=6 THEN PRINT AT 15,
D(L);"  ";AT 16,D(L);"  ";AT 17,
D(L);"  ";AT 18,D(L);"  ";AT 19,
D(L);"  "
1190 IF P(L)=7 THEN PRINT AT 15,
D(L);"  ";AT 16,D(L);"  ";AT 17,
D(L);"  ";AT 18,D(L);"  ";AT 19,
D(L);"  "
1200 IF P(L)>0 THEN LET P(L)=P(L
)+1
1210 IF P(L)>7 THEN GOSUB 1300
1220 NEXT L
1230 IF N<5 AND RND>32000 THEN
LET N=N+1
1240 LET W=4
1250 RETURN
1300 REM **CHECK**
1310 IF D(L)>=X+1 AND D(L)<=X+3
THEN LET DEATH=1
1320 IF D(L)+1>=X+1 AND D(L)+1<=
X+3 THEN LET DEATH=1
1330 IF DEATH=0 THEN LET S=S+10
1340 LET P(L)=0
1350 PRINT AT 1,0;"SCORE: ";S
1390 RETURN
1400 REM **SET POLE**
1410 LET P(L)=1
1420 LET D(L)=RND/2184*2+1
1430 FOR J=1 TO N
1440 IF J=L THEN GOTO 1460
1450 IF D(L)=D(J) THEN GOTO 1420
1460 NEXT J
1500 REM **PRINT SHIP
1510 IF C=0 THEN PRINT AT 13,X+1
;"³³³";AT 14,X+1;"·óô";
1520 IF C=-1 THEN PRINT AT 13,X+
1;"·³ö";AT 14,X+1;"ñ÷ô";
1530 IF C=-2 THEN PRINT AT 13,X+
1;" ·ñ ";AT 14,X+1;"·´ñ ";
1540 IF C=1 THEN PRINT AT 13,X+1
;"¶³ô";AT 14,X+1;"·´ò";
1550 IF C=2 THEN PRINT AT 13,X;"
 òô ";AT 14,X;" ò÷ô";
1560 RETURN
1600 IF DEATH=1 THEN PRINT AT 13
,X;" ±¶ô ";AT 14,X;" ¶´ö ";
1610 IF DEATH=2 THEN PRINT AT 13
,X;" ³µ¶ ";AT 14,X;" ´¶¶ ";
1615 IF INKEY$="Q" THEN LET L=
USR 3292
1620 LET DEATH2=DEATH
1630 LET DEATH=3
1640 FOR J=1 TO N
1650 IF P(J)>0 THEN LET DEATH=DE
ATH2
1660 NEXT J
1670 IF DEATH=3 THEN RETURN
1700 IF DEATH=1 THEN GOTO 1730
1710 LET DEATH=1
1720 RETURN
1730 LET DEATH=2
1990 RETURN
2010 LET I$=INKEY$
2020 IF I$="Z" THEN GOTO 2200
2030 IF I$="." THEN GOTO 2400
2040 IF C<0 THEN LET C=C+1
2050 IF C>0 THEN LET C=C-1
2060 RETURN
2200 REM ****LEFT
2210 IF X>0 AND C=-2 THEN LET X=
X-1
2220 IF C>-2 THEN LET C=C-1
2230 RETURN
2400 REM ****RIGHT
2410 IF X<27 AND C=2 THEN LET X=
X+1
2420 IF C<2 THEN LET C=C+1
2430 RETURN
2990 RETURN