This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
Adventure
|
Publisher/Developer:
Eugene Atari Computer Enthusiasts (Atari User Group library) |
|
|
-
Entry name:Adventure
-
Category:Games
-
Publisher/Developer:Eugene Atari Computer Enthusiasts
Listing 1
10REM
11REM
20PRINT""
30DIMINVENTORY$(20)
31DIMNODE$(8)
32DIMFILE$(10)
33DIMPRINT$(50)
34DIMINPUT$(50)
35DIMTEMP$(52)
100GOSUB30500
200NODE$="INIT"
300INVENTORY=ADR(INVENTORY$)-1
310FORN=1TO20
320POKEINVENTORY+N,0
330NEXTN
340EOF=0
360TRAP380
365OPEN#1,4,0,"D:INIT":CLOSE#1:TRAP0:GOTO390
380PRINT"ISDATADISKIN";
383INPUTINPUT$
386IFINPUT$(1,1)<>"Y"THENPRINT"PUTDATADISKIN":GOTO360
390REM
900PRINT""
901PRINT""
902PRINT""
903PRINT""
904PRINT""
1000REMPRINTDESCRIPTIONFIRST/////
1005CLOSE#1
1010GOSUB3000
2000REMGETACTIONS/////
2005CLOSE#1
2010INPUTINPUT$
2015PRINT
2020IFLEN(INPUT$)=50THENPRINT"SAYITWITHFEWERWORDS":GOTO2010
2030IFLEN(INPUT$)<2THEN2010
2040IFINPUT$(1,1)="\"THEN3200
2043TEMP$=""
2046TEMP$(2)=INPUT$
2050TEMP$(LEN(TEMP$)+1)=""
2060LETINPUT$=TEMP$
2065FORN=1TOLEN(INPUT$)
2067TEMP$=INPUT$(N,N)
2070IFTEMP$="."ORTEMP$=","THENLETINPUT$(N,N)=""
2080IFTEMP$<>"?"THEN2120
2090PRINT"IDON'TANSWERQUESTIONS"
2100POP
2110GOTO2010
2120NEXTN
2500REMTAKEACTION/////
2510TRAP4200
2520FILE$="D:"
2530FILE$(3)=NODE$
2540OPEN#1,4,0,FILE$
2550TRAP0
2560GOSUB4400
2570IFFOUNDTHEN2640
2580CLOSE#1
2590OPEN#1,4,0,"D:DEFAULT"
2600GOSUB4400
2610IFFOUNDTHEN2640
2620GOSUB4600
2630GOTO2660
2640REMREMFOUNDAMATCH/////
2650GOSUB4800
2660CLOSE#1
2670TRAP0
2680GOTO2000
3000REMPRINTDESCRIPTION/////
3005IFNODE$="END"THEN9200
3010TRAP3090
3020FILE$="D:"
3030FILE$(3)=NODE$
3040OPEN#1,4,0,FILE$
3050INPUT#1,PRINT$
3060IFPRINT$="*"THEN3090
3070PRINTPRINT$
3080GOTO3050
3090TRAP0
3100CLOSE#1
3110RETURN
3200REMWORKSPECIALACTIONS\/////
3205TRAP3380
3210LETINPUT$=INPUT$(2)
3220IFINPUT$(1,3)="NEW"THEN3400
3225IFINPUT$(1,4)="GOTO"THEN7600
3228IFINPUT$(1,4)="LIST"THEN8000
3230IFINPUT$(1,5)="PRINT"THEN3800
3240IFINPUT$(1,6)="CHANGE"THEN3600
3250IFINPUT$(1,6)="EXTEND"THEN4000
3380TRAP0
3390GOTO2000
3400REMWORKNEW/////
3405TRAP3460
3410IFLEN(INPUT$)<4THEN3460
3415LETINPUT$=INPUT$(4)
3420IFLEN(INPUT$)=0THEN3460
3425IFINPUT$(1,1)=""THENLETINPUT$=INPUT$(2):GOTO3425
3430GOTO3480
3460PRINT"FILENAME";
3470INPUTINPUT$
3473IFLEN(INPUT$)<9THEN3480
3476PRINT"FILENAMECANONLYHAVE8LETTERS"
3478GOTO3460
3480TRAP0
3490CLOSE#1
3500FILE$="D:"
3505FILE$(3)=INPUT$
3510OPEN#1,8,0,FILE$
3520PRINT"FILEDESCRIPTION:"
3530FLAGEND=0
3540GOSUB5000
3545PRINT"WORDS/PHRASES"
3550FLAGEND=1
3560GOSUB5000
3565PRINT"ACTIONS"
3570FLAGEND=0
3580GOSUB5000
3590IFEOFTHENEOF=0:CLOSE#1:GOTO2000
3595GOTO3545
3600REMWORKCHANGE/////
3605TRAP3660
3610IFLEN(INPUT$)<7THENLETINPUT$=NODE$:GOTO3680
3615LETINPUT$=INPUT$(7)
3620IFLEN(INPUT$)=0THEN3660
3625IFINPUT$(1,1)=""THENLETINPUT$=INPUT$(2):GOTO3625
3630GOTO3680
3660PRINT"FILENAME";
3670INPUTINPUT$
3673IFLEN(INPUT$)<9THEN3680
3676PRINT"FILENAMECANONLYHAVE8LETTERS"
3678GOTO3660
3680TRAP0
3690CLOSE#1
3700FILE$="D:"
3705FILE$(3)=INPUT$
3710OPEN#1,4,0,FILE$
3715OPEN#2,8,0,"D:TEMP"
3720INPUT#1,TEMP$
3725IFTEMP$="**"THEN3790
3730PRINTTEMP$
3740INPUTINPUT$
3745IFINPUT$=""THENPRINT#2;TEMP$:GOTO3720
3750IFINPUT$="-"THEN3720
3755REMASSUMENEWLINE
3760PRINT#2;INPUT$
3770GOTO3740
3790PRINT#2;"**"
3792CLOSE#1:CLOSE#2:GOSUB5200
3795GOTO2000
3800REMWORKPRINT/////
3805TRAP3860
3810IFLEN(INPUT$)<6THENLETINPUT$=NODE$:GOTO3880
3815LETINPUT$=INPUT$(6)
3820IFLEN(INPUT$)=0THEN3860
3825IFINPUT$(1,1)=""THENLETINPUT$=INPUT$(2):GOTO3825
3830GOTO3880
3860PRINT"FILENAME";
3870INPUTINPUT$
3873IFLEN(INPUT$)<9THEN3880
3876PRINT"FILENAMECANONLYHAVE8LETTERS"
3878GOTO3860
3880TRAP0
3890CLOSE#1
3895PRINTINPUT$:LPRINTINPUT$
3900FILE$="D:"
3905FILE$(3)=INPUT$
3910OPEN#1,4,0,FILE$
3920TRAP3970
3930INPUT#1,INPUT$
3940PRINTINPUT$
3950LPRINTINPUT$
3960IFINPUT$<>"**"THEN3930
3970TRAP0
3980CLOSE#1
3990GOTO2000
4000REMWORKEXTEND/////
4005TRAP4060
4010IFLEN(INPUT$)<7THENLETINPUT$=NODE$:GOTO4080
4015LETINPUT$=INPUT$(7)
4020IFLEN(INPUT$)=0THEN4060
4025IFINPUT$(1,1)=""THENLETINPUT$=INPUT$(2):GOTO4025
4030GOTO4080
4060PRINT"FILENAME";
4070INPUTINPUT$
4073IFLEN(INPUT$)<9THEN4080
4076PRINT"FILENAMECANONLYHAVE8LETTERS"
4078GOTO4060
4080TRAP0
4090CLOSE#1
4100FILE$="D:"
4105FILE$(3)=INPUT$
4110OPEN#2,4,0,FILE$
4115OPEN#1,8,0,"D:TEMP"
4120INPUT#2,TEMP$
4125IFTEMP$="**"THEN4140
4130PRINT#1;TEMP$
4135GOTO4120
4140FLAGEND=1
4142PRINT"WORDS/PHRASES"
4143GOSUB5000
4145FLAGEND=0
4150PRINT"ACTIONS"
4155GOSUB5000
4160IFEOFTHENEOF=0:CLOSE#1:CLOSE#2:GOSUB5200:GOTO2000
4170GOTO4140
4200REMNEEDNEWNODE/////
4210PRINT"YOUMUSTDEFINENODE";NODE$
4220LETINPUT$=NODE$
4230GOTO3480
4400REMFINDAMATCH/////
4410FOUND=0
4420GOSUB5400
4430IFEOFTHENCLOSE#1:GOTO4590
4440INPUT#1,TEMP$
4445IFTEMP$="**"THENCLOSE#1:RETURN
4450IFTEMP$="*"THEN4420
4455IFTEMP$="/ANY/"THEN4580
4460LETPRINT$="":LETPRINT$(2)=TEMP$
4465TEMP$=PRINT$:TEMP$(LEN(TEMP$)+1)=""
4470IFLEN(TEMP$)>LEN(INPUT$)THEN4440
4480FORN=1TOLEN(INPUT$)-LEN(TEMP$)+1
4490IFINPUT$(N,N+LEN(TEMP$)-1)=TEMP$THENPOP:GOTO4580
4500NEXTN
4510GOTO4440
4580FOUND=1
4590TRAP0:RETURN
4600REMRANDOMRESPONSE/////
4610GOTOINT(RND(0)*5)*10+4620
4620PRINT"HUH?":RETURN
4630PRINT"WHAT?":RETURN
4640PRINT"IDON'TUNDERSTAND":RETURN
4650PRINT"YOUCAN'TDOTHAT":RETURN
4660GOSUB4400
4670PRINT"WOULDYOUPUTTHATANOTHERWAY"
4680RETURN
4800REMDOACTIONS/////
4810GOSUB5400
4815IFEOFTHENEOF=0:CLOSE#1:RETURN
4820INPUT#1,INPUT$
4830IFINPUT$="*"THENRETURN
4840TEMP$=INPUT$(1,1)
4845IFLEN(INPUT$)=1THENLETINPUT$="":GOTO4860
4850LETINPUT$=INPUT$(2)
4860IFTEMP$="P"THENPRINTINPUT$:GOTO4820
4870IFTEMP$="G"THENNODE$=INPUT$:CLOSE#1:GOTO3000
4880IFTEMP$="Q"THENGOTO5600
4890IFTEMP$="D"THENGOTO5800
4900IFTEMP$="I"THENGOSUB6000
4910IFTEMP$="M"THENGOSUB6200:GOTO2000
4920IFTEMP$="T"THENGOSUB6400
4930IFTEMP$="W"THENFORN=1TOVAL(INPUT$):NEXTN:GOTO4820
4940IFTEMP$="R"THENGOSUB7200
4950IFTEMP$="Y"THENIFCONDITIONTHEN4840
4960IFTEMP$="N"THENIFNOTCONDITIONTHEN4840
4970IFTEMP$="L"THENGOSUB7400:TEMP$="":IFFOUNDTHENPOKEINVENTORY+N,0
4980IFTEMP$="S"THENGOSUB7800
4990GOTO4820
5000REMGETINPUTFORFILE/////
5020IFNOTFLAGENDANDEOFTHENPRINT"FILECLOSED":RETURN
5030INPUTINPUT$
5040IFFLAGENDANDINPUT$=""THENEOF=1:PRINT#1;"**":CLOSE#1:RETURN
5050PRINT#1;INPUT$
5060INPUTINPUT$
5070IFINPUT$=""THENPRINT#1;"*":RETURN
5080GOTO5050
5200REMMOVETEMPTOFILE/////
5210CLOSE#1:CLOSE#2
5220TRAP5280
5230OPEN#1,4,0,"D:TEMP"
5240OPEN#2,8,0,FILE$
5250INPUT#1,PRINT$
5260PRINT#2;PRINT$
5270IFPRINT$<>"**"THEN5250
5280PRINT#2;"**"
5290CLOSE#1
5300CLOSE#2
5310TRAP0
5320RETURN
5400REMSKIPABLOCK/////
5402EOF=0
5405TRAP5440
5410INPUT#1,TEMP$
5420IFTEMP$="*"THENRETURN
5430GOTO5410
5440TRAP0
5450EOF=1
5460CLOSE#1
5470CLOSE#2
5480RETURN
5600REMQUIT/////
5610CLOSE#1
5620CLOSE#2
5630TRAP0
5640PRINT"DOYOUWANTTOPLAYAGAIN";
5650INPUTINPUT$
5660IFINPUT$(1,1)="Y"THENRUN
5670PRINT"":END
5800REMDIE/////
5810PRINT""
5820POKE84,10:POKE752,1
5825PRINT""
5827PRINT""
5829PRINT""
5831PRINT""
5833PRINT""
5835PRINT""
5837PRINT""
5839PRINT""
5841PRINT
5850FORN=1TO500:NEXTN
5860POKE752,0
5890GOTO5600
6000REMPRINTINVENTORY/////
6010FLAG=0
6015N=0
6020TRAP6090
6030RESTORE
6040PRINT"YOUHAVE:"
6050READTEMP$
6060N=N+1
6070IFPEEK(INVENTORY+N)=1THENFLAG=1:PRINTTEMP$
6080GOTO6050
6090IFNOTFLAGTHENPRINT"NOTHING"
6100TRAP0
6105TEMP$=""
6110RETURN
6200REMFIGHTMONSTER/////
6205TRAP0
6210N=VAL(INPUT$)
6213TEMP$=""
6215IFN<(100*RND(0))THENRETURN
6220PRINT"THEREISAMONSTERHERE!"
6221PRINT"YOUCANSEETHATYOUMUSTKILLIT"
6222PRINT"ORITWILLKILLYOU."
6225HTK=10:MHTK=6
6230PRINT"WHATAREYOUGOINGTODO?"
6233HIT=0:DAM=0
6235INPUTINPUT$
6236PRINT
6240TEMP$="":TEMP$(2)=INPUT$
6245TEMP$(LEN(TEMP$)+1)=""
6250LETINPUT$=TEMP$
6255CLOSE#1
6260OPEN#1,4,0,"D:MONSTER"
6265GOSUB4400
6270IFNOTFOUNDTHENPRINT"THATHASNOEFFECTONIT.":GOTO6325
6275GOSUB5400
6280IFEOFTHEN6325
6285INPUT#1,INPUT$
6290IFINPUT$="*"THEN6325
6300TEMP$=INPUT$(1,1)
6302IFLEN(INPUT$)<2THENLETINPUT$="":GOTO6310
6305LETINPUT$=INPUT$(2)
6310IFTEMP$="W"THENGOSUB6800:IFNOTFOUNDTHENGOTO6325
6312IFTEMP$="L"THENGOSUB7400:TEMP$="":IFFOUNDTHENPOKEINVENTORY+N,0
6315IFTEMP$="H"THENHIT=HIT+VAL(INPUT$)
6320IFTEMP$="D"THENDAM=DAM+VAL(INPUT$)
6322GOTO6285
6325REMTAKEBATTLEACTIONS/////
6330TRAP0
6335CLOSE#1
6340IF(100*RND(0))<HITTHENPRINT"YOUWOUNDTHEMONSTER":MHTK=MHTK-DAM
6345IFMHTK<1THENPRINT"ANDYOUHAVEKILLEDHIM!":LETINPUT$="75":GOTO6400
6350IFRND(0)<0.5THENPRINT"THEMONSTERBITESYOU":HTK=HTK-5*RND(0)
6355IFHTK<0THENFORW=1TO200:NEXTW:GOTO5800
6380GOTO6230
6400REMFOUNDTREASURE/////
6410N=VAL(INPUT$)
6415TEMP$=""
6420IFN<(100*RND(0))THENRETURN
6440GOSUB7000
6450N=INT(N*RND(0))+1
6460IFPEEK(INVENTORY+N)=1THENRETURN
6470RESTORE
6480FORNN=1TON
6490READTEMP$
6500NEXTNN
6510PRINT"YOUFINDANDKEEPA";
6520POKEINVENTORY+N,1
6530PRINTTEMP$
6540TEMP$="":RETURN
6600REMDATAFORINVENTORY/////
6610DATASWORD
6615DATAKEY
6620DATAROPE
6625DATAPOTION
6630DATAWORM
6800REMISINPUT$ININVENTORY/////
6810FOUND=0
6820TRAP6870
6830RESTORE
6840READTEMP$
6850IFTEMP$=INPUT$THENTRAP0:FOUND=1:RETURN
6860GOTO6840
6870TRAP0:RETURN
7000REMNUMBERININVENTORY?(=N)/////
7010TRAP7070
7020N=0
7030RESTORE
7040READTEMP$
7050N=N+1
7060GOTO7040
7070TRAP0
7080RETURN
7200REMREQUIREITEM/////
7210TEMP$=""
7220CONDITION=0
7230GOSUB7400
7240IFNOTFOUNDTHENRETURN
7245IFPEEK(INVENTORY+N)=0THENPRINT"BUTYOUDON'THAVEA";INPUT$:GOTO7260
7250CONDITION=1
7260TEMP$=""
7270RETURN
7400REMFINDITEMANDITEMNUMBER/////
7410N=0
7420FOUND=0
7430TRAP7490
7440RESTORE
7450READTEMP$
7460N=N+1
7470IFTEMP$=INPUT$THENFOUND=1:GOTO7490
7480GOTO7450
7490TRAP0:RETURN
7600REMWORKGOTO/////
7610NODE$=INPUT$(6)
7620GOTO1000
7800REMMAKESOUND/////
7805LETSOUND=VAL(INPUT$)
7810IFSOUND<>1THEN7820
7813REMEXPLOTION/////
7814FORN=200TO0STEP-10
7815SOUND0,100,0,N/13.333
7816SOUND1,30,4,N/13.333
7817SOUND2,230-N,8,N/13.333
7818FORNN=202TONSTEP-10
7819NEXTNN:NEXTN
7820IFSOUND<>2THEN7830:REMFALL///
7821FORN=0TO200
7822SOUND0,N,10,15
7823NEXTN
7824SOUND0,0,0,0
7830REMCHIRPUP/////
7831IFSOUND<>3THENGOTO7840
7832FORN=30TO15STEP-1
7833SOUND0,N,10,15
7834NEXTN
7835SOUND0,0,0,0
7840REMCHIRPDOWN/////
7841IFSOUND<>4THEN7850
7842FORN=15TO45
7843SOUNDO,N,14,8
7844NEXTN
7845FORN=1TO30:NEXTN
7846SOUND0,0,0,0
7850REMPOPPING/////
7851IFSOUND<>5THEN7990
7854FORN=1TO30
7855SOUND0,100,0,8
7856SOUND1,30,4,8
7857SOUND2,200,8,8
7859SOUND0,0,0,0
7860SOUND1,0,0,0
7861SOUND2,0,0,0
7862FORNN=1TO1+RND(0)*5:NEXTNN
7863NEXTN
7990TEMP$="":RETURN
8000REMWORKLIST/////
8010TRAP8190
8020CLOSE#1
8030IFLEN(INPUT$)<5THENLETINPUT$=NODE$:GOTO8050
8035LETINPUT$=INPUT$(5)
8040IFINPUT$(1,1)=""THENLETINPUT$=INPUT$(2):GOTO8040
8050PRINT"THISISFILE";INPUT$
8060FILE$="D:"
8070FILE$(3)=INPUT$
8080OPEN#1,4,0,FILE$
8090INPUT#1,INPUT$
8100PRINTINPUT$
8110IFINPUT$="**"THEN8190
8120IFINPUT$<>"*"THEN8090
8130PRINT:PRINT"PRESSRETURNTOCONTINUE";:INPUTTEMP$
8140GOTO8090
8190CLOSE#1
8192TRAP0
8194TEMP$=""
9196GOTO2000
9200GRAPHICS2+16
9202PRINT#6:PRINT#6
9204PRINT#6;""
9210PRINT#6;""
9220PRINT#6;"YOUHAVEMADE"
9230PRINT#6;"ITOUT!"
9232PRINT#6;""
9233PRINT#6;""
9234PRINT#6;""
9240GOTO9240
30500IFPEEK(1536)=1THENPOKE766,PEEK(106)+1:RETURN
30505P=PEEK(106):DIMF$(20):F$="D:ADVENTUR.FNT"
30510A=P*256:C=255-PEEK(A):POKEA,C:IFPEEK(A)=CTHENPOKEA,255-C:P=P+1:GOTO30510
30520P=P-5:IFP<PEEK(106)THENPOKE106,P:GRAPHICS0
30530P=P+1:A=P*256
30540IFPEEK(756)<>PTHEN30600
30550I=LEN(F$):J=A-I-1
30560FORT=ITO1STEP-1
30570C=ASC(F$(T)):IFPEEK(J+T)<>CTHEN30600
30580IFC=ASC(":")THEN30700
30590NEXTT:GOTO30700
30600TRAP30610:OPEN#1,4,0,F$:GOTO30630
30610IFPEEK(195)=130ANDF$(1,1)="D"THENPRINT"PUTTAPEWITH";F$;"INTOCASSETTE.":F$(1,1)="C":GOTO30600
30620PRINT"CAN'TFIND";F$;".":END
30630TRAP30650:PRINT"LOADING";F$:C=ASC("X"):POKE752,1
30640FORI=0TO1023:GET#1,J:POKEA+I,J:PRINTCHR$(C);"";:C=107-C:NEXTI:CLOSE#1:GOTO30660
30650GRAPHICS0:PRINT"CAN'TLOADCOMPLETEFONT.":POKEA-1,0:END
30660I=LEN(F$):J=A-I-1
30670FORT=ITO1STEP-1
30680C=ASC(F$(T)):POKEJ+T,C:IFC=ASC(":")THEN30700
30690NEXTT
30695POKE1536,1
30700POKE756,P:RETURN
References
Listing downloads
Downloads
Copyright holder
