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$??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ù?  ù?ú??:
REM
30241 ::LN ATN ?LN ??LN ??LN ??ET
?FAST 5  SGN BGOSUB ?TAB Q?LN
FOR ?ET?FAST 5ó SGN BGOSUB ?ASN
??IF ???6?EX?FAST 5ñ SGN BFOR
GOSUB ?6X?EX?FAST 5  SGN BGOSUB
?PAUSE ???3?5ñ FAST 51 SGN ??LN
PRINT !???   )??ñó LN IF ?5õ 
FAST 5ö SGN ??LN PRINT !?D?**** 
GAME OVER ****)-?ñ< LN IF ?LN .?
5÷ FAST 5ó SGN ??LN PRINT !?
THEN ?PRESS ENTER TO PLAY AGAIN
)VAL ?ñ; LN IF ?5M LN =RNDLN ??
LN RND?LN ??LN N??UNPLOT ?)
UNPLOT ?ñ  LN ??LN X?LN 2?TAB )?
?SCROLL ?LN ??LN RND?LN ??LN N??
5?.)4?ññ LN ??LN X?LN 2?TAB Q??
SCROLL ?LN ??LN RND?LN ??LN N???
?Z)??ññ LN ??LN X?LN 2?TAB ???
SCROLL ??0?LN LN X?LN X?LN X?
LN X?5÷ LN RUN ??¸?** POLE DODGE
 2 **)
20737 LN IF ?LN X?LN X?LN X?5õ 
LN RUN ??T?BY STEVEN REID (C)201
2)7?ñ- LN IF ?LN X?LN X?LN X?LN
X?LN X??NEXT ? USE Z FOR LEFT AN
D . FOR RIGHT)USR ?ñ3 LN IF ?LN
X?LN X?LN X?LN X?LN X??F?   PRES
S ANY KEY TO START....):?ñ1 LN
IF ?LN .?5M LN =RNDLN ??LN RND?
LN ??LN N????)??ñ  LN ??LN X?LN
2?TAB ???R?5M LN =RND5  6INKEY$?
5ó 6X?TAN 5ú 6??5??GOSUB ?ñ?LN ?
?5ú LN ??5??GOSUB ?ñ?LN ??5ú LN
??5  6T?5ô 6??5  6??5ñ 6??LN Eú5
FAST 5  SGN ??LN PRINT !?FAST
?úúúúúúúúúúúúúúúúúúúúúúúúúúúúúúú
ú)VAL ?ñ4 LN IF ?5ñ FAST 5  SGN
??LN PRINT !?õ?SCORE: )RETURN
÷ LN IF ?EINKEY$?LN INPUT ?LN .?
5ñ FAST EX?SGN 7GOSUB ???6??5ñ 
FAST 54 FAST 5ó FAST E??SGN LN )
?SGN BFOR GOSUB ?SGN ??LN PRINT
!???ó÷ñ)??ñó LN IF ?E??76??
GOSUB ???BGOSUB ?IF B?TAN ET?
FAST 5  SGN BGOSUB ?TAB ??LN /?E
T?FAST 5  SGN BGOSUB ?PAUSE ¸?
LN L?E??FAST 5ñ SGN BFOR GOSUB ?
6??E??FAST 5  SGN BGOSUB ?PAUSE
A?TAN 5ñ FAST E??SGN 7GOSUB ???6
??E??GOSUB ???DùSTR$ LN ??FOR
SGN FAST 5  SGN BGOSUB ?TAB
LPRINT ?ET?FAST 5  SGN BGOSUB ?
TAB LPRINT ?LN ³?E??GOSUB ???Dù
STR$ LN ??FOR SGN FAST 5ñ SGN B
GOSUB ?TAB E?5< FAST E??GOSUB ??
?DùSTR$ LN ??FOR SGN FAST 5ñ 
SGN ;SGN ??LN PRINT !?2?ô)1?ññ 
LN IF ?LN .?E??GOSUB ???DùSTR$
LN ??FOR SGN FAST 5ò SGN BGOSUB
?TAB ??5< FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN FAST 5ñ SGN ;
SGN ??LN PRINT !???õ)??ññ LN IF
?LN .?E??GOSUB ???DùSTR$ LN ??
FOR SGN FAST 5ó SGN BGOSUB ?TAB
CONT ?5> FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN FAST 5ñ SGN ;
SGN ??LN PRINT !?K?õ)J?ññ LN IF
?5< FAST E??GOSUB ???DùSTR$ LN ?
?FOR SGN FAST 5ñ SGN ;SGN ??LN
PRINT !?>=?õ)<=?ññ LN IF ?LN .?E
??GOSUB ???DùSTR$ LN ??FOR SGN
FAST 5ô SGN BGOSUB ?TAB ??5) 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !?4?µõ)2?
ñò LN IF ?5> FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN SGN ??LN
PRINT !???µõ)??ñò LN IF ?5< 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !???µõ)??
ñò LN IF ?LN .?E??GOSUB ???Dù
STR$ LN ??FOR SGN FAST 5õ SGN B
GOSUB ?TAB N?5( FAST E??GOSUB ??
?DùSTR$ LN ??FOR SGN SGN ??LN
PRINT !?M? õ)K?ñò LN IF ?5) 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !? OR ? õ
)NOT ?ñò LN IF ?5> FAST E??
GOSUB ???DùSTR$ LN ??FOR SGN
SGN ??LN PRINT !? ? õ)RETURN ?ñò
 LN IF ?5< FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN SGN ??LN
PRINT !?B? õ)9?ñò LN IF ?LN .?E?
?GOSUB ???DùSTR$ LN ??FOR SGN
FAST 5ö SGN BGOSUB ?TAB <?5? 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !???  )??
ñò LN IF ?5( FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN SGN ??LN
PRINT !?>?  )(?ñò LN IF ?5) 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !?T?  )R?
ñò LN IF ?5> FAST E??GOSUB ???Dù
STR$ LN ??FOR SGN SGN ??LN
PRINT !? STEP ?  ) THEN ?ñò LN
IF ?5< FAST E??GOSUB ???DùSTR$
LN ??FOR SGN SGN ??LN PRINT !?÷?
  )õ?ñò LN IF ?LN .?E??GOSUB ???
STR$ LN ??FOR SGN FAST 5÷ SGN
BGOSUB ?TAB NEXT ?5? FAST E??
GOSUB ???DùSTR$ LN ??FOR SGN
SGN ??LN PRINT !???  )??ñò LN
IF ?5( FAST E??GOSUB ???DùSTR$
LN ??FOR SGN SGN ??LN PRINT !???
  )??ñò LN IF ?5) FAST E??GOSUB
???DùSTR$ LN ??FOR SGN SGN ??LN
PRINT !?;?  )*?ñò LN IF ?5> 
FAST E??GOSUB ???DùSTR$ LN ??
FOR SGN SGN ??LN PRINT !?""?  )Y
?ñò LN IF ?5< FAST E??GOSUB ???D
ùSTR$ LN ??FOR SGN SGN ??LN
PRINT !?SCROLL ?  )FAST ?ñò LN
IF ?LN .?E??GOSUB ???DùSTR$ LN ?
?FOR SGN FAST 5  SGN BGOSUB ?
PAUSE L?E??GOSUB ???DùFAST E??
GOSUB ???DùSTR$ LN ??FOR SGN
FAST 5ñ SGN ;SGN FOR LN ??E??
GOSUB ???DùSTR$ LN ??FOR SGN
FAST 5÷ SGN BGOSUB ?PAUSE ??LN )
?E??76??GOSUB ???BGOSUB ?IF Q?E?
?FAST 5õ SGN BGOSUB ?ASN º?IF º?
LN ARNDFAST 5 ?SGN BGOSUB ?
PAUSE º?E??FAST 5ñ SGN ;6??5ô 6?
?TAN E??GOSUB ???DùSTR$ LN ??
FOR SGN FAST E??FAST 5ñ SGN ;
SGN BGOSUB ?CóPAUSE OR ?E??
GOSUB ???DùSTR$ LN ??FOR SGN
FAST E??FAST 5ó SGN ;SGN BGOSUB
?IF OR ?5ñ 6T?E??GOSUB ???Dù
STR$ LN ??FOR SGN FAST 5ñ SGN ;
FAST E??FAST 5ñ SGN ;SGN BGOSUB
?CóPAUSE H?E??GOSUB ???DùSTR$
LN ??FOR SGN FAST 5ñ SGN ;FAST E
??FAST 5ó SGN ;SGN BGOSUB ?IF H?
5ñ 6T?ET?FAST 5  SGN BGOSUB ?
TAB ??EINKEY$?FAST 5ú SGN ;6
INKEY$?E??GOSUB ???DùFAST 5  
SGN FOR LN ??5ñ FAST 5  SGN ??
LN PRINT !???SCORE: )??ñ÷ LN IF
?EINKEY$?LN INPUT ?LN .?TAN E??
GOSUB ???DùFAST 5ñ SGN FOR LN ??
E??GOSUB ???DùFAST LN ARNDFAST 5
¸!SGN LN CLEAR ?FAST 5ò SGN LN )
?FAST 5ñ SGN ;SGN FOR LN ??5ñ 
FAST E??SGN 7GOSUB ???6??E??
FAST E??SGN BGOSUB ?TAB THEN ??
÷?E??GOSUB ???DùSTR$ LN ??FOR
SGN FAST E??GOSUB ???DùSTR$ LN ?
?FOR SGN SGN BGOSUB ?TAB ÷??+?E?
?76??GOSUB ???BGOSUB ?IF LN ?E??
FAST 5  SGN BGOSUB ?TAB ??5$ 
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !?Z?³³³)W?ñó LN IF ?5: 
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !???·óô)??ñó LN IF ?E??
FAST 5ñ LN ??SGN BGOSUB ?TAB Z?5
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !?=?·³ö))?ñó LN IF ?5: 
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !?Q?ñ÷ô)N?ñó LN IF ?E??
FAST 5ò LN ??SGN BGOSUB ?TAB -?5
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !?REM ? ·ñ )NEW ?ñô LN IF
?5: FAST E??FAST 5ñ SGN ;SGN ??
LN PRINT !?$?·´ñ )ù?ñô LN IF ?E?
?FAST 5ñ SGN BGOSUB ?TAB ??5$ 
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !?X?¶³ô)U?ñó LN IF ?5: 
FAST E??FAST 5ñ SGN ;SGN ??LN
PRINT !???·´ò)??ñó LN IF ?E??
FAST 5ò SGN BGOSUB ?TAB K?5$ 
FAST E??SGN ??LN PRINT !?º? òô )
¶?ñô LN IF ?5: FAST E??SGN ??LN
PRINT !?B? ò÷ô)7?ñô LN IF ?TAN E
T?FAST 5ñ SGN BGOSUB ?TAB CLS ?5
FAST E??SGN ??LN PRINT !?USR ?
 ±¶ô )INT ?ñõ LN IF ?5: FAST E??
SGN ??LN PRINT !?PAUSE ? ¶´ö )
GOSUB ?ñõ LN IF ?ET?FAST 5ò SGN
BGOSUB ?TAB ??5$ FAST E??SGN ??
LN PRINT !?2? ³µ¶ );?ñõ LN IF ?5
FAST E??SGN ??LN PRINT !?W? ´¶
¶ )R?ñõ LN IF ?LN ??LN RND?LN ??
LN N????Q)??ññ LN ??LN X?LN 2?
TAB ??5>=£LN ??6??ET?6??5ó 6T?5ñ
 FAST E??SGN 7GOSUB ???6??E??
GOSUB ???DùSTR$ LN ??FOR SGN
FAST 5  SGN BGOSUB ?PAUSE G?E??6
T?E??76??GOSUB ???BGOSUB ?IF £?E
T?FAST 5ó SGN BGOSUB ?TAB ATN ?
TAN ET?FAST 5ñ SGN BGOSUB ?TAB
<>??SLOW ?5ñ 6T?TAN 5ò 6T?TAN 5?
?LN SAVE ?LN ??LN RND?LN ??5??
LN ??LN ??5??LN SAVE ?5??LN H?
LN ??LN N??;?Z)/?ññ LN ??LN X?
LN 2?TAB I??*?LN ??5??LN SAVE ?5
??LN H?LN ??LN N????.)??ññ LN ??
LN X?LN 2?TAB ???NEW ?E??FAST
 SGN BGOSUB ?ASN ??IF ??E??FAST
5ñ SGN ;6??E??FAST 5  SGN B
GOSUB ?PAUSE -?E??FAST 5ñ SGN B
FOR GOSUB ?6??TAN E??FAST 5  
SGN BGOSUB ?PAUSE VAL ?E??FAST 5
ò LN ??SGN BGOSUB ?TAB VAL ?E??
FAST 5ñ SGN BFOR GOSUB ?6??E??
FAST 5ò LN ??SGN BGOSUB ?PAUSE
FAST ?E??FAST 5ñ SGN BFOR GOSUB
?6??TAN E??FAST 5. SGN BGOSUB ?
ASN )?IF )?E??FAST 5ò SGN B
GOSUB ?TAB )?E??FAST 5ñ SGN ;6??
E??FAST 5ò SGN BGOSUB ?ASN I?IF
I?E??FAST 5ñ SGN ;6??TAN TAN
TAN         ò   ó   ?   ò   T?  
SGN ?  ó       ò   ó ó ó ó ñ   
DIM ?  Y ó? REM       MCODER II 
        COPYRIGHT 1983   D C THR
ELFALL COMPILER AT 17300 PROG AT
 20500
  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