A later attempt at creating an Ultima style game. This version has you eating food and losing health if you run out.
PROG : 16509
D-FILE: 30070
VARS : 30863
E-LINE: 30864
STKBOT: 30864
STKEND: 30864
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¶?N(REM
30241 :2LN ATN ?LN Eú5/?:ñLN ATN
????± GEM QUEST ** FRACTURED WOR
LD ²)E?ñ4 LN IF ?LN .?5ñ FAST 5=
SGN 7GOSUB ?4?66???? )??ññ LN
IF ?5+ LN RUN ??·? )??
ñ" LN IF ?E4?764?GOSUB ?6?B
GOSUB ?IF ???CODE ?´
÷)8?ñ4 LN IF ?
5ù FAST 5- SGN ??LN PRINT !?NEW
? )<>?ñù LN IF ?LN .?5£
RND ñFAST 5$RND)?FAST 5ñ ??
LPRINT SGN ;FAST ??SGN ;68?LN
POKE ?5 6C?5 6G?5õ 6K?5ú 6O?5?
6S?5? 6W?5ñ 6RND?5 6??5COS 6?
?LN SGN ????DONE.)??ñõ LN IF ?
LN .?LN IF ?LN A????E4?6??E4?
FAST 5 SGN BGOSUB ?ASN -?IF -?E
4?FAST 5- SGN ;6??E4?FAST 5+
SGN BGOSUB ?PAUSE N?E4?FAST 5-
SGN BFOR GOSUB ?6??E??6??E??
FAST 5 SGN BGOSUB ?ASN CHR$ ?
IF CHR$ ?E??FAST 54 SGN ;6??E??
FAST 53 SGN BGOSUB ?PAUSE NEXT ?
E??FAST 54 SGN BFOR GOSUB ?6??5ñ
FAST 54 FAST E??SGN LN )?FAST E
????LPRINT SGN ;FAST ??SGN ;6??E
??GOSUB ???DùSTR$ LN ??FOR SGN 6
??TAN E??FAST 5 SGN BGOSUB ?
PAUSE ??E??FAST 5ñ SGN BFOR
GOSUB ?6??E??FAST 5ñ SGN BGOSUB
?ASN ??IF ??ES?FAST 5ñ SGN BFOR
GOSUB ?6S?ES?FAST 5ñ SGN BGOSUB
?ASN ??IF ???)?EK?64?EO?6??E??
FAST 5W SGN BGOSUB ?TAB 4?EK?
FAST 5ñ SGN BFOR GOSUB ?64?E4?
FAST 5 SGN BGOSUB ?ASN R?IF R?5
+ 64?E??FAST 5S SGN BGOSUB ?TAB
SGN ?EK?FAST 5ñ SGN ;64?E4?FAST
5+ SGN BGOSUB ?PAUSE FAST ?5 64
?E??FAST 5A SGN BGOSUB ?TAB ò?EO
?FAST 5ñ SGN BFOR GOSUB ?6??E??
FAST 5 SGN BGOSUB ?ASN ;?IF ;?5
3 6??E??FAST 5D SGN BGOSUB ?TAB
N?EO?FAST 5ñ SGN ;6??E??FAST 53
SGN BGOSUB ?PAUSE ??5 6??LN ??E
??FAST 5ñ SGN BGOSUB ?TAB ???
STOP ?E??FAST 5õ SGN BGOSUB ?
TAB ???STOP ?E4?6K?E??6O?E??
FAST 5W SGN BGOSUB ?TAB ,??:?NOR
TH)¹?ñõ LN IF ?LN .?E??FAST 5W
SGN BGOSUB ?TAB D?TAN E??FAST 5S
SGN BGOSUB ?TAB ACS ??Z?SOUTH)U
?ñõ LN IF ?LN .?E??FAST 5S SGN B
GOSUB ?TAB AND ?TAN E??FAST 5A
SGN BGOSUB ?TAB CLS ??LOAD ?WEST
)FOR ?ñô LN IF ?LN .?E??FAST 5A
SGN BGOSUB ?TAB ú?TAN E??FAST 5D
SGN BGOSUB ?TAB F??3?EAST).?ñô
LN IF ?LN .?E??FAST 5D SGN B
GOSUB ?TAB U?TAN E??FAST 5H SGN
BGOSUB ?TAB ?????HIT)??ñó LN IF
?LN .?E??FAST 5H SGN BGOSUB ?
TAB ???IF ?E??FAST 5Q SGN B
GOSUB ?TAB £?? ?QUIT)??ñô LN IF
?LN .?E??FAST 5Q SGN BGOSUB ?
TAB 1??ñ?E??FAST 5E SGN BGOSUB ?
TAB Z??N?ENTER)I?ñõ LN IF ?LN .?
E??FAST 5E SGN BGOSUB ?TAB SQR ?
?Z??CHR$ ?ZZZ)PEEK ?ñó LN IF ?
LN .?TAN ?GOSUB ?NO MOVE)NEW ?ñ÷
LN IF ?LN .?TAN 5ò FAST 5- SGN
??LN PRINT !???GOLD:)ú?ñõ LN IF
?EW?LN INPUT ??6? )5?ññ LN IF ?5
ó FAST 5- SGN ??LN PRINT !?RND?H
LTH:)V?ñõ LN IF ?ES?LN INPUT ???
? )??ññ LN IF ?5ô FAST 5- SGN ??
LN PRINT !???FOOD:)??ñõ LN IF ?E
??LN INPUT ??´? )³?ññ LN IF ?5ö
FAST 5- SGN ??LN PRINT !?8?WORLD
: )1?ñ÷ LN IF ?ERND?LN INPUT ?5÷
FAST 5- SGN ??LN PRINT !?ASN ?G
EMS: )??ñ÷ LN IF ?E??LN INPUT ?
LN .?LN ???STOP ?>)LLIST ?ññ LN
IF ?LN J?E??FAST 5 SGN BGOSUB ?
PAUSE RETURN ?TAN ?GOTO ?LN ???£
?START)÷?ñõ LN IF ?LN .?LN ???B?
OVER? Y/N)2?ñù LN IF ?LN .?LN
IF ?E??FAST 5N SGN BGOSUB ?TAB ?
????NO)??ñò LN IF ?E??FAST 5Y
SGN BGOSUB ?TAB ?????YES)??ñó
LN IF ?E??FAST 5N SGN BGOSUB ?
TAB ¶?5>=£LN ??64?E??FAST 5Y
SGN BGOSUB ?ASN *??N?LN ???8?OKA
Y...)1?ñ÷ LN IF ?LN .?LN ??LN ??
LN ??LN ???,?LN ??E??FAST 5ö
SGN BGOSUB ?TAB PEEK ??4?E??
FAST 5÷ SGN BGOSUB ?TAB RUN ??
FOR ?DUNGEON)SLOW ?ñ÷ LN IF ?LN
.?E??FAST 5ö SGN BGOSUB ?ASN 3?
IF 3??<?NOT HERE)"?ñ! LN IF ?LN
.?TAN ?B?CITY)7?ñô LN IF ?LN .?
LN ???RND?FOOD OR)T?ñ÷ LN IF ?
LN .?LN ?????HEALTH?)??ñ÷ LN IF
?LN .?LN IF ?5 6??E??FAST 5F
SGN BGOSUB ?TAB ²?5ñ 6??E??FAST
5F SGN BGOSUB ?TAB 7??*?FOOD)<?ñ
ô LN IF ?LN .?E??FAST 5H SGN B
GOSUB ?TAB R?5ò 6??E??FAST 5H
SGN BGOSUB ?TAB AND ??EXP ?HEAL
TH)COS ?ñö LN IF ?LN .?E??FAST 5
SGN BGOSUB ?TAB FOR ??<>?LN ??
?IF ?HOW MANY?)LET ?ñù LN IF ?
LN .?LN ???<?1-9 X10)£?ñ÷ LN IF
?LN .?LN IF ?E??FAST 50 SGN B
FOR GOSUB ?FAST 5ú SGN LN )?6??E
??FAST 5ú SGN BGOSUB ?ASN ??IF ?
??<>?E??FAST 5? SGN BGOSUB ?
PAUSE ???<>?E??LN INPUT ?LN .?
LN ??EW?FAST E??SGN BFOR GOSUB ?
FAST 5 SGN BGOSUB ?ASN ·?IF ·??
ASN ?EW?FAST E??SGN BFOR GOSUB ?
6W?E??FAST 5ñ SGN BGOSUB ?TAB K?
E??FAST E??SGN ;6??E??FAST 5ò
SGN BGOSUB ?TAB ASN ?ES?FAST E??
SGN ;6S??CHR$ ?PURCHASED)LN ?ñù
LN IF ?LN .?TAN ?GOSUB ?NO GOLD)
NEW ?ñ÷ LN IF ?LN .?TAN LN ???ô?
DIR?) ?ñô LN IF ?LN .?LN IF ?E??
FAST 5W SGN BGOSUB ?TAB P??D?NOR
TH)8?ñõ LN IF ?LN .?E??FAST 5S
SGN BGOSUB ?TAB ?????SOUTH)??ñõ
LN IF ?LN .?E??FAST 5A SGN B
GOSUB ?TAB ?????WEST)??ñô LN IF
?LN .?E??FAST 5D SGN BGOSUB ?
TAB ;??$?EAST)¹?ñô LN IF ?LN .?E
??FAST 5W SGN BGOSUB ?TAB E??
NEXT ?E??FAST 5S SGN BGOSUB ?
TAB V??NEXT ?E??FAST 5A SGN B
GOSUB ?TAB ATN ??NEXT ?E??FAST 5
D SGN BGOSUB ?TAB <>??NEXT ??
NEW ?CANCEL) STEP ?ñö LN IF ?LN
.?TAN LN ???ñ?NOT HERE)RAND ?ñ!
LN IF ?LN .?TAN LN ???1?YOU DIED
*)=?ñù LN IF ?LN .?LN ???ñ?5 6?
?5ñ 6??EK?FAST 5ò SGN BFOR
GOSUB ?FAST EK?FAST 5ò SGN ;SGN
7GOSUB ?4?66?5ñ 6??EO?FAST 5ò
SGN BFOR GOSUB ?FAST EO?FAST 5ò
SGN ;SGN 7GOSUB ???6??LN ??E??
FAST 5ñ SGN BGOSUB ?TAB 0?5ó
FAST EC?SGN ;6??E??FAST 5ò SGN B
GOSUB ?TAB K?5" 6??E??FAST 5ó
SGN BGOSUB ?TAB CODE ?5£ 6??E??
FAST 5ô SGN BGOSUB ?TAB **?5$ 6?
?E??FAST 5õ SGN BGOSUB ?TAB
GOTO ?5: 6??E??FAST 5ö SGN B
GOSUB ?TAB ö?5? FAST EG?SGN ;6??
E??FAST 5÷ SGN BGOSUB ?TAB ,?5)
6??E4?FAST EK?SGN BGOSUB ?TAB PI
?E??FAST EO?SGN BGOSUB ?TAB PI?5
ñ FAST EG?SGN ;6??LN S?E??FAST 5
ñ SGN ;6??E??76??GOSUB ???B
GOSUB ?IF ??E??FAST 5ñ SGN ;6??E
4?764?GOSUB ?6?BGOSUB ?IF ??EG?
FAST 5ñ SGN ;6G?EG?FAST 5ñ SGN B
GOSUB ?PAUSE 3?5 6G?EC?FAST 5ñ
SGN ;6C?EC?FAST 5÷ SGN BGOSUB ?
PAUSE Z?5 6C?Eõ?FAST LN RND?LN
??SGN LN >?6??TAN 5?RND6??E??
FAST 5ñ SGN ;6??E??REM SGN B
GOSUB ?TAB C?E??FAST 5ñ SGN ;**
SGN BGOSUB ?TAB C?E??FAST 5ò
SGN ;£ SGN BGOSUB ?TAB C??F??
NOT ?E??FAST 5ó SGN ;6??TAN E8?
FAST 55 FAST E??FAST 5ñ SGN B
FOR 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 ;6??E??FAST E??FAST 5
ñ SGN BFOR GOSUB ?FAST 5- SGN
LN )?SGN ;6??5ñ FAST 5ô SGN 7
GOSUB ? ?6²?E??FAST E???E??FAST
5ñ SGN ;FAST E??FAST 5ñ SGN ;?E?
?FAST 5ò SGN ;FAST E??FAST 5ò
SGN ;?E??FAST 5ó SGN ;FAST E??
FAST 5ó SGN ;?E??FAST 55 SGN ;6?
?E??FAST 5ô SGN ;6??E ?76 ?
GOSUB ?²?BGOSUB ?IF Z?TAN 5"
FAST 5= SGN 7GOSUB ? ?6²?E8?
FAST 55 FAST E ?SGN LN )?SGN ;6?
?5- FAST 52 SGN 7GOSUB ?´?6¶?E??
FAST E´?FAST 55 ??LPRINT SGN ;
FAST ??SGN BFOR GOSUB ?FAST E??
FAST E´?SGN ;?E´?76´?GOSUB ?¶?B
GOSUB ?IF ??E ?76 ?GOSUB ?²?B
GOSUB ?IF ??5= FAST 5- SGN ??LN
PRINT !?<>? )USR ?ñù LN
IF ?5= FAST 5- SGN ??LN PRINT !
TAN 5< FAST 5- SGN ??LN PRINT !?
£?BUILDING)ô?ñ! LN IF ?5= FAST 5
- SGN ??LN PRINT !?A?>)9?ññ LN
IF ?5??GOSUB ?ñ?LN ??5""òLN ??5
FAST 5+ SGN 7GOSUB ?K?6M?5
FAST 53 SGN 7GOSUB ?O?6Q?EK?
FAST 54 SGN LN )?FAST EO?FAST 5ñ
??LPRINT SGN ;FAST ??SGN ;64?5ñ
6??EK?FAST 5 SGN BGOSUB ?TAB -
??VAL ?EO?FAST 5 SGN BGOSUB ?
TAB B??VAL ?E4?FAST 54 SGN BFOR
GOSUB ?GOSUB ???DùSTR$ LN ??FOR
SGN 6¸?E4?FAST 5ñ SGN BFOR
GOSUB ?GOSUB ???DùSTR$ LN ??FOR
SGN 6??E??FAST 5õ SGN BGOSUB ?
PAUSE ö?E4?FAST 5ò SGN BFOR
GOSUB ?GOSUB ???DùSTR$ LN ??FOR
SGN 6??E¸?FAST 5õ SGN BGOSUB ?
PAUSE ,?E??6¸?5ARNDLN ??FAST 5?ñ
SGN LN CLEAR ?6£?5ARNDLN ??FAST
5?ñSGN LN CLEAR ?6(?E(?FAST 5M
SGN BGOSUB ?PAUSE ???IF ?E£?
FAST 5? SGN BGOSUB ?PAUSE ??5ô 6
??E£?FAST 5; SGN BGOSUB ?PAUSE ?
?5ò 6??E£?FAST 5R SGN BGOSUB ?
PAUSE ¹?5ó 6??E£?FAST 5? SGN B
GOSUB ?PAUSE 1?5õ 6??E£?FAST 5?
SGN BGOSUB ?PAUSE L?5ö 6??E£?
FAST 5? SGN BGOSUB ?PAUSE VAL ?5
÷ 6??E4?GOSUB ???DùFAST E??SGN
FOR LN ??EO?76O?GOSUB ?Q?BGOSUB
?IF ??EK?76K?GOSUB ?M?BGOSUB ?
IF ??TAN E¸?6??E(?FAST 5? SGN B
GOSUB ?PAUSE =?E??6???VAL ?TAN
* * ?? = - ó 4 ?
? ñ ? X? ö ö ö
ñ ò? N ñ ö ö ú
FAST ? V? õ õ 3 3 ñ L ò
PRINT ó? REM MCODER II
COPYRIGHT 1983 D C THREL
FALL COMPILER AT 17300 PROG AT 2
0500
10 REM **TILES**
20 CLS
30 CLEAR
40 PRINT "± GEM QUEST ** FRACT
URED WORLD ²"
50 FOR L=1 TO 20
60 PRINT " ";TAB 21;"
";
70 NEXT L
80 PRINT "´
÷";AT 9,22;"
"
81 LET PP=PEEK 16396+256*PEEK
16397+1
82 GOSUB 9000
85 LET Q=0
90 LET Z=0
100 LET X=5
110 LET Y=10
120 LET HP=100
121 LET GL=100
122 LET WL=1
123 LET GM=0
130 LET FD=100
145 GOSUB 3000
146 PRINT "DONE."
150 GOSUB 1100
155 REM M?
160 GOSUB 1000
200 GOTO 150
500 LET LL=L
510 IF L<0 THEN LET LL=L+22
520 IF L>21 THEN LET LL=L-22
530 LET MM=M
540 IF M<0 THEN LET MM=M+32
550 IF M>31 THEN LET MM=M-32
560 LET LOC=1+32*LL+MM
570 LET T1=W(LOC)
580 RETURN
1000 IF FD>0 THEN LET FD=FD-1
1002 IF FD<1 THEN LET HP=HP-1
1003 IF HP<1 THEN GOTO 1810
1005 LET L=X
1006 LET M=Y
1007 IF I=60 THEN LET L=X-1
1008 IF L<0 THEN LET L=21
1010 IF I=56 THEN LET L=X+1
1015 IF L>21 THEN LET L=0
1020 IF I=38 THEN LET M=Y-1
1025 IF M<0 THEN LET M=31
1030 IF I=41 THEN LET M=Y+1
1032 IF M>31 THEN LET M=0
1035 GOSUB 500
1040 IF T1=1 THEN GOTO 1095
1041 IF T1=5 THEN GOTO 1095
1050 LET X=L
1051 LET Y=M
1060 IF I=60 THEN PRINT "NORTH"
1061 IF I=60 THEN RETURN
1062 IF I=56 THEN PRINT "SOUTH"
1063 IF I=56 THEN RETURN
1064 IF I=38 THEN PRINT "WEST"
1065 IF I=38 THEN RETURN
1066 IF I=41 THEN PRINT "EAST"
1067 IF I=41 THEN RETURN
1068 IF I=45 THEN PRINT "HIT"
1069 IF I=45 THEN GOTO 1500
1078 IF I=54 THEN PRINT "QUIT"
1079 IF I=54 THEN GOTO 1200
1080 IF I=42 THEN PRINT "ENTER"
1081 IF I=42 THEN GOTO 1400
1089 PRINT "ZZZ"
1090 RETURN
1095 PRINT "NO MOVE"
1096 RETURN
1100 PRINT AT 2,22;"GOLD:";GL;"
";AT 3,22;"HLTH:";HP;" ";AT 4,22
;"FOOD:";FD;" ";AT 6,22;"WORLD:
";WL;AT 7,22;"GEMS: ";GM
1105 GOSUB 6000
1110 PRINT ">";
1120 GOSUB 2000
1130 IF I>0 THEN RETURN
1140 GOTO 1120
1200 GOSUB 6000
1210 PRINT "START"
1220 GOSUB 6000
1230 PRINT "OVER? Y/N"
1250 GOSUB 1100
1260 IF I=51 THEN PRINT "NO";
1270 IF I=62 THEN PRINT "YES";
1280 IF I=51 THEN LET L=USR 3292
1290 IF I<>62 THEN GOTO 1250
1300 GOSUB 6000
1310 PRINT "OKAY..."
1320 GOSUB 6000
1330 GOSUB 6000
1340 GOSUB 6000
1350 GOSUB 6000
1360 GOTO 82
1400 GOSUB 6000
1420 IF T1=6 THEN GOTO 1460
1430 IF T1=7 THEN PRINT "DUNGEON
"
1440 IF T1<6 THEN PRINT "NOT HER
E"
1450 RETURN
1460 PRINT "CITY"
1461 GOSUB 6000
1462 PRINT "FOOD OR"
1463 GOSUB 6000
1465 PRINT "HEALTH?"
1466 GOSUB 1100
1467 LET E=0
1468 IF I=43 THEN LET E=1
1469 IF I=43 THEN PRINT "FOOD"
1470 IF I=45 THEN LET E=2
1471 IF I=45 THEN PRINT "HEALTH"
1472 IF E=0 THEN GOTO 1650
1473 GOSUB 6000
1474 PRINT "HOW MANY?"
1475 GOSUB 6000
1476 PRINT "1-9 X10"
1477 GOSUB 1100
1478 LET I=(I-28)*10
1479 IF I<10 THEN GOTO 1650
1480 IF I>90 THEN GOTO 1650
1481 PRINT I
1482 GOSUB 6000
1484 IF GL-I<0 THEN GOTO 1489
1485 LET GL=GL-I
1486 IF E=1 THEN LET FD=FD+I
1487 IF E=2 THEN LET HP=HP+I
1496 PRINT "PURCHASED"
1497 RETURN
1498 PRINT "NO GOLD"
1499 RETURN
1500 GOSUB 6000
1510 PRINT "DIR?"
1520 GOSUB 1100
1550 IF I=60 THEN PRINT "NORTH"
1560 IF I=56 THEN PRINT "SOUTH"
1570 IF I=38 THEN PRINT "WEST"
1580 IF I=41 THEN PRINT "EAST"
1590 IF I=60 THEN GOTO 1700
1600 IF I=56 THEN GOTO 1700
1610 IF I=38 THEN GOTO 1700
1620 IF I=41 THEN GOTO 1700
1650 PRINT "CANCEL"
1660 RETURN
1700 GOSUB 6000
1710 PRINT "NOT HERE"
1720 RETURN
1800 GOSUB 6000
1810 PRINT "YOU DIED*"
1820 GOSUB 6000
1830 GOTO 1200
2000 LET I=0
2002 LET X1=1
2005 FOR L=X-2 TO X+2
2010 LET Y1=1
2020 FOR M=Y-2 TO Y+2
2090 GOSUB 500
2120 IF T1=1 THEN LET O=3+Q
2130 IF T1=2 THEN LET O=11
2131 IF T1=3 THEN LET O=12
2132 IF T1=4 THEN LET O=13
2133 IF T1=5 THEN LET O=14
2134 IF T1=6 THEN LET O=15+Z
2135 IF T1=7 THEN LET O=17
2137 IF L=X AND M=Y THEN LET O=1
+Z
2140 GOSUB 5000
2150 LET Y1=Y1+1
2160 NEXT M
2170 LET X1=X1+1
2180 NEXT L
2190 LET Z=Z+1
2200 IF Z>1 THEN LET Z=0
2210 LET Q=Q+1
2220 IF Q>7 THEN LET Q=0
2230 LET I=CODE INKEY$
2240 RETURN
2900 REM **CREATE TILES**
3000 LET T=16509
3010 LET T=T+1
3020 IF PEEK T=234 AND PEEK (T+1
)=216 AND PEEK (T+2)=12 THEN
GOTO 3040
3030 GOTO 3010
3040 LET T=T+3
3050 RETURN
5000 LET MM=PP+33*(X1-1)*4+33+4*
(Y1-1)+1
5010 LET NN=T+(O-1)*22
5020 FOR C=1 TO 4
5030 POKE MM,PEEK NN
5040 POKE MM+1,PEEK (NN+1)
5050 POKE MM+2,PEEK (NN+2)
5060 POKE MM+3,PEEK (NN+3)
5070 LET MM=MM+33
5080 LET NN=NN+4
5090 NEXT C
5100 RETURN
6000 FOR C=11 TO 20
6020 LET MM=PP+33*C
6030 FOR D=22 TO 30
6040 POKE MM+D-33,PEEK (MM+D)
6050 NEXT D
6060 NEXT C
6080 PRINT AT 20,22;" ";
AT 20,22;
6090 RETURN
9000 PRINT AT 19,22;"BUILDING";
AT 20,22;">";
9010 DIM W(704)
9020 FOR X=0 TO 21
9030 FOR Y=0 TO 31
9040 LET L=X*32+Y+1
9050 LET T=1
9060 IF X=0 THEN GOTO 9200
9070 IF Y=0 THEN GOTO 9200
9080 LET N=W(L-32)
9090 LET E=W(L-1)
9100 IF E>5 THEN LET E=W(L-2)
9110 IF N>5 THEN LET N=E
9120 LET R=USR 16550/328
9125 LET S=USR 16550/328
9130 IF S>50 THEN GOTO 9270
9140 IF R>15 THEN LET T=4
9150 IF R>25 THEN LET T=2
9160 IF R>55 THEN LET T=3
9170 IF R>75 THEN LET T=5
9180 IF R>95 THEN LET T=6
9190 IF R>97 THEN LET T=7
9200 LET W(L)=T
9220 NEXT Y
9240 NEXT X
9260 RETURN
9270 LET T=N
9280 IF S>75 THEN LET T=E
9290 GOTO 9200
9299 STOP
9310 REM **£µ¶· µ²±ôµ¶ò ò ñ
9320 REM µ¶µ µ²´ñµ¶ ò ñ
9330 REM ·ô ñò¶ö ·ô¶öñò
9340 REM ³ ó³ó ³ ³ó ó
9350 REM ô ·ò¶öñ ·ô öñò¶
9360 REM ³ó³ó ³ ó ó³
9370 REM ·ô¶öñò·ô ñò¶ö
9380 REM ³ ³ó ó³ ó³ó
9390 REM ·ô öñò¶ô ·ò¶öñ
9400 REM ³ ó ó³ ³ó³ó
9410 REM ·· ñôôôôò ò
9420 REM ± · õ ± ¹
9430 REM úùúùùúùúúùúùùúùú
9440 REM öôôö öò ö ôöòöò
9450 REM µù µ±²õµ::õòñòñ
9460 REM µú µ±²õµ::õòñòñ
9470 REM · ô ùú ùú ùú
9500 SAVE "GQ2016"
9510 RAND USR 20500