start tok64 d64-wPufc5 0 REM"<< INSTRUCTION ADVENTURE >> 1 REM"Author: Sten Holmberg{space*27}(and: Mr.P.) 2 REM"Date:{space*3}880905 3 REM"Name:{space*3}Instruction adventure 10 REM initiering 20 GOSUB 9100:GOSUB 10000 30 GOSUB 9000 100 REM rumsbeskrivningar 110 GOSUB 8000 120 REM rum-h[ndelser 130 IFar<>2THEN200 140 IFf7=1THEN200 150 f7=1:PRINT"Din mamma kommer in i rummet och s[ger:" 160 PRINT"-Jas], du har vaknat nu! Maten [r snart{space*2}klar, det blir k{pound}ttbullar." 200 REM eventuella h[ndelser 210 t=t+1 220 IF t<>15 THEN 270 230 PRINT "A-HA!! Du fick just en suver[n ide till" 240 PRINT "ditt nya adventure. Snabba dig p] att" 250 PRINT "notera den innan du gl{pound}mmer bort den!" 260 f1=7 270 IF f1=0 THEN 320 280 f1=f1-1:IF f1<>0 THEN 320 290 PRINT "EH{.*3} Hur var det nu t[nkte" 300 PRINT "avslutningen p] spelet. Om jag bara" 310 PRINT "kunde minnas{.*3}" 320 REM forts[ttning spec. h[ndelser 400 REM huvudslinga 410 in$="":PRINT:INPUT "Och nu";in$ 420 IF in$="" THEN PRINT "F'l]t, vad sa' du?":GOTO 400 430 GOSUB 600 440 o1=0:o2=0:GOSUB 800 450 IF o1=-1 OR o2=-1 THEN 400 460 IF o1<7 THEN 1000 470 ON o1-6 GOTO 2000,2000,2100,2300,2500,2600,2700,2900,3000,3100,3200,3300 480 ON o1-18 GOTO 5000,5100,5300,3400 490 PRINT "Felaktigt antal verb j[mf{pound}rt med on goto":GOTO 400 600 REM ordsplittringsrutin 610 j=0:FOR i=1 TO at:k=0 620 j=j+1:IF j>LEN(in$) THEN 660 630 IF MID$(in$,j,1)=" "THEN 660 640 IF k=0 THEN k=j 650 GOTO 620 660 IF k=0 THEN 620 670 te$=MID$(in$,k,j-k):in$(i)=LEFT$(te$,ab) 680 IF j>LEN(in$) THEN 700 690 NEXT i:i=i-1 700 ao=i:IF in$(1)="g]" THEN in$(1)=in$(2):in$(2)="":ao=1 710 RETURN 800 REM {pound}vers[ttningsrutin 810 FOR i=1 TO ve 820 IF in$(1)=ve$(i) THEN o1=i:GOTO 840 830 NEXT i:PRINT "Jag kan inte ordet ";in$(1):o1=-1 840 IF ao=1 THEN 880 850 FOR i=1 TO su 860 IF in$(2)=su$(i) THEN o2=i:GOTO 880 870 NEXT i:PRINT "Jag kan inte ordet ";in$(2):o2=-1 880 RETURN 1000 REM f{pound}rflyttningar 1010 n=VAL(MID$(ri$(ar),2*o1-1,2)) 1020 IF n=0 THEN PRINT "Du kan inte g] ]t det h]llet!":GOTO 400 1030 IF n>0 THEN 1100 1040 ON n+tr+1 GOTO 1060,1070 1050 PRINT"?? FEL I SPELET !!":GOTO400 1060 PRINT"G] ut p] balkongen? Man kan ramla ner{space*3}fr]n balkonger!!":GOTO 400 1070 PRINT"G] ut? Det {pound}sregnar ju{.*3}":GOTO 400 1100 REM kolla "hinder" 1110 IF ar=5 AND n=6 AND f2=0 THEN PRINT "K{pound}ksd{pound}rren [r l]st!!":GOTO 200 1120 ar=n:GOTO 100 2000 REM inventera 2010 IF sh=0 THEN PRINT "Du [r tomh[mt!":GOTO 400 2020 PRINT "Du knallar omkring med:" 2030 FOR i=1 TO tg 2040 IF sa(i)=-1 THEN PRINT sa$(i) 2050 NEXT i 2060 GOTO 400 2100 REM ta 2110 IF o2<>22 THEN 2170 2120 te=0:FOR i=1 TO tg 2130 IF sa(i)=ar THEN te=1:GOSUB 2250 2140 NEXT i:IF te=1 THEN 2210 2150 PRINT "Det finns ingenting att ta h[r!" 2160 GOTO 400 2170 IF sa(o2)=-1 THEN PRINT "Du b[r p] den, redan.":GOTO 2160 2180 IF sa(o2)<>ar THEN PRINT "Den saken set jag inte h[r.":GOTO 2160 2190 IF o2>tg THEN PRINT "S]dana saker kan man inte b[ra med sig.":GOTO 2160 2200 i=o2:GOSUB 2250 2210 GOTO 200 2250 PRINT sa$(i);": " 2260 IF sh=mh THEN PRINT "Du kan inte b[ra mer.":GOTO 2290 2270 PRINT "TAGEN.{down}" 2280 sa(i)=-1:sh=sh+1 2290 RETURN 2300 REM l[gg 2310 IF o2<>22 THEN 2370 2320 te=0:FOR i=1 TO tg 2330 IF sa(i)=-1 THEN te=1:GOSUB 2450 2340 NEXT i:IF te=1 THEN 2390 2350 PRINT "Du b[r inte p] n]got!" 2360 GOTO 400 2370 IF sa(o2)<>-1 THEN PRINT "Du b[r inte p] den saken.":GOTO 2360 2380 i=o2:GOSUB 2450 2390 GOTO 200 2450 PRINT sa$(i)": ":PRINT"LAGD{down}" 2460 sa(i)=ar:sh=sh-1 2470 RETURN 2500 REM titta 2510 GOSUB 8000 2520 GOTO 400 2600 REM ligg 2610 IF ar=1 THEN PRINT "Det g{pound}r du redan.":GOTO 400 2620 IF ar<>2 THEN PRINT "Golvet [r f{pound}r h]rt.":GOTO 200 2630 ar=1:GOTO 100 2700 REM skriv 2705 IFo2=21THEN3310 2706 IFo2=22THENPRINT"Vad] allt{?*3}":GOTO2770 2710 IFo2<>23THENPRINT"Skriva vad?":GOTO2770 2720 IFar<>7THENPRINT"Men du har ju inte datorn h[r{.*3}":GOTO2770 2730 IFf5=0THENPRINT"Datorn [r inte p]{.*3}":GOTO2770 2740 IFf6=0THENPRINT"Driven [r inte p]{.*3}":GOTO2770 2750 IFf4=1THEN2780 2760 PRINT"Din mamma kommer in och s[ger: NEJ, [ta f{pound}rst programmera sedan!" 2770 GOTO200 2780 IFf3=0THENPRINT"Du har inte tillr[ckligt med ideer [n!":GOTO2770 2790 IFsa(4)<>-1ANDsa(4)<>arTHENPRINT"Du saknar diskett!":GOTO2770 2800 IFsa(1)<>-1ANDsa(1)<>arTHENPRINT"Du saknar kartskiss!":GOTO2770 2810 IFsa(2)<>-1ANDsa(2)<>arTHENPRINT"Du saknar idepappret!":GOTO2770 2820 IFsa(5)<>-1ANDsa(5)<>arTHENPRINT"Du saknar en bra instruktion!":GOTO2770 2830 PRINT"Du s[tter ig]ng och skriver ditt f{pound}rsta [ventyr. GRATTIS!!" 2840 GOTO5000 2900 REM [t 2910 IFar<>6THENPRINT"Vad d]? Inredningen?":GOTO2940 2920 IFf4=1THENPRINT"Du [r redan m[tt." 2930 PRINT"Du [ter dig m[tt p] din mammas k{pound}ttbul- lars.":f4=1 2940 GOTO200 3000 REM starta 3010 IFar<>7THENPRINT"H[r finns inget att starta.":GOTO3090 3020 IFo2=11THEN3050 3030 IFo2=12THEN3070 3040 PRINT"Det kan du inte!":GOTO3090 3050 IFf5=1THENPRINT"Den [r redan p].":GOTO3090 3060 PRINT"Nu [r datorn p]!":f5=1:GOTO3090 3070 IFf6=1THENPRINT"Den [r redan p].":GOTO3090 3080 PRINT"Nu [r driven p]! Du h{pound}r hur den brummar ig]ng.":f6=1 3090 GOTO200 3100 REM knacka 3110 IF o2<>13 THEN PRINT "Knacka p] vad?":GOTO 3150 3120 IF ar<>5 THEN PRINT "Vilken d{pound}rr?":GOTO 3150 3130 IF f2=1 THEN PRINT "Du beh{pound}ver inte knacka, d{pound}rren [r {pound}ppen.":GOTO 3150 3140 PRINT "Din mamma l]ser upp d{pound}rren s] att du kankomma in i k{pound}ket":f2=1 3150 GOTO 200 3200 REM unders{pound}k 3210 IFsa(o2)=arORsa(o2)=-1THEN3230 3220 PRINT"Ser jag inte till.":GOTO3260 3230 IFo2=5THENPRINT"Det inneh]ller en bra adventureskola!":GOTO3260 3231 IFo2=1THENPRINT"Det [r en karta {pound}ver ett ensligt slott.":GOTO3260 3232 IFo2=2THENPRINT"Det st]r ett par ord p] det.":GOTO3260 3233 IFo2=3THENPRINT"En helt vanlig blyertspenna med n]got{space*3}trubbig udd":GOTO3260 3234 IFo2=4THENPRINT"Du ser texten 'Mitt {sh +}ventyr 01' p] den.":GOTO3260 3235 IFo2=11THENPRINT"Du ser att det [r den nya modellen av{space*3}C64.":GOTO3260 3236 IFo2=12THENPRINT"Det st]r m[rket 1541-II och Commodore p]den.":GOTO3260 3237 IFo2=13THENPRINT"Det st]r 'K{cm -}K' p] d{pound}rren.":GOTO3260 3238 IFo2=14ANDsa(4)<>0THEN3250 3240 IFo2=14THENPRINT"Du hittar en diskett i hennes ficka!":sa(4)=ar:GOTO3260 3250 PRINT"Jag hittar inget s[rskilt." 3260 GOTO200 3300 REM notera 3310 IF o2<>21 THEN PRINT "Notera vad?":GOTO3380 3320 IF f1=0 AND t<15 THEN PRINT"Vilken ide?":GOTO 3380 3330 IF f1=0 AND f3=1 THEN PRINT"Du har redan teckat ner den.":GOTO 3380 3340 IF f1=0 THEN PRINT "Du tycks ha gl{pound}mt den.":GOTO 3380 3350 IF sa(2)<>-1 AND sa(2)<>ar THEN PRINT "Du saknar ide-papperet!":GOTO 3380 3360 IF sa(3)<>-1 THEN PRINT "Du har ingen penna att skriva med!":GOTO 3380 3370 PRINT "Papperet har numera n]gra fler otydliga kr]kf{pound}tter{.*3}":f3=1:f1=0 3380 GOTO 200 3400 REM sov 3410 IFar>2THENPRINT"Golvet [r f{pound}r h]rt att sova p].":GOTO3460 3420 IFar=2THENPRINT"Du l[gger dig i s[ngen.":ar=1 3430 FORi=1TO4:PRINT"Tiden g]r{.*6}":t=t+1 3440 IFt=15THENt=t-1 3450 FORj=1TO600:NEXTj,i:PRINT"Du k[nner dig pigg och utvilad." 3460 GOTO200 5000 END 5100 INPUT"Namn p] spel";te$ 5105 INPUT"Enhet?";en:IFen<1ORen>15THEN5105 5110 IFen=1THENOPEN2,1,1,te$:GOTO5120 5115 OPEN2,en,2,te$+",s,w" 5120 PRINT#2,f1 5130 PRINT#2,f2 5140 PRINT#2,f3 5150 PRINT#2,f4 5160 PRINT#2,f5 5170 PRINT#2,f6 5175 PRINT#1,f7 5180 PRINT#2,ar 5190 PRINT#2,sh 5200 PRINT#2,t 5205 INPUT"Enhet?";en:IFen<1ORen>15THEN5105 5210 FORi=1TOsy:PRINT#2,sa(i):NEXTi 5215 OPEN2,en,2,te$+",s,r" 5220 CLOSE2 5230 GOTO400 5300 INPUT"Namn p] spel";te$ 5305 INPUT"Enhet?";en:IFen<1ORen>15THEN5305 5310 IFen=1THENOPEN2,1,0,te$:GOTO5120 5315 OPEN2,en,2,te$+",s,r" 5320 INPUT#2,f1 5330 INPUT#2,f2 5340 INPUT#2,f3 5350 INPUT#2,f4 5360 INPUT#2,f5 5370 INPUT#2,f6 5375 INPUT#1,f7 5380 INPUT#2,ar 5390 INPUT#2,sh 5400 INPUT#2,t 5410 FORi=1TOsy:INPUT#2,sa(i):NEXTi 5420 CLOSE2 5430 GOTO400 8000 REM rumsbeskrivningar 8010 ON arGOSUB 8020,8030,8040,8050,8060,8070,8080 8011 te=0:te$="":FOR i=1 TO tg 8012 IF sa(i)<>ar THEN 8017 8013 IF te=1 THEN PRINT",";:GOTO 8015 8014 te=1:PRINT"Du ser ";:te$="." 8015 IF POS(.)+LEN(sa$(i))>39 THEN PRINT 8016 PRINT sa$(i); 8017 NEXT:PRINT te$ :RETURN 8020 PRINT"Du ligger och sl{pound}ar i en sk{pound}n och mjuk" 8021 PRINT"s[ng.." 8022 RETURN 8030 PRINT"Du [r i ditt sovrum. h[r [r {yellow}V{sh +}LDIGT{light gray}" 8031 PRINT"ost[dat. HM{.*4} n[, inte idag{.*4}" 8032 RETURN 8040 PRINT"Du [r i hallen. V[sterut ligger ditt" 8041 PRINT"sovrum, {pound}sterut toaletten. Ytterd{pound}rren" 8042 PRINT"finns s{pound}derut medan du kommer in i" 8043 PRINT"vardagsrummet och k{pound}ket om du g]r" 8044 PRINT"norrut." 8045 RETURN 8050 PRINT"Du [r i badrummet." 8051 RETURN 8060 PRINT"Du [r i vardagsrummet. {cm -}sterut ligger" 8061 PRINT"datorrummet och norrut k{pound}ket d[r du" 8062 PRINT"h{pound}r din mamma laga k{pound}ttbullar." 8063 RETURN 8070 PRINT"Du [r i k{pound}ket. H[r luktar det mat! Du" 8071 PRINT"ser din mamma st]ende vid spisen." 8072 RETURN 8080 PRINT"Du [r i datorrummet. Du ser din C-64:a" 8081 PRINT"som du brukar spela INFOCOM-spel p]." 8082 PRINT"till h{pound}ger om den st]r din 1541:a." 8083 RETURN 9000 REM instruktioner 9010 PRINT "{ct n}{light gray}{clear}Hall], programmeraren av f{pound}rsta graden!" 9020 PRINT "Detta [r ditt eldprov. Du ska skriva" 9030 PRINT "ett [ventyr!! Du har inga andra" 9040 PRINT "hj[lpmedel [n din hj[rna!" 9050 PRINT 9060 PRINT "LYCKA TILL!" 9070 PRINT:POKE53280,11:POKE53281,11 9075 PRINT"{down}OBS !! Alla kommandon skrivs med sm]{space*11}bokst[ver!" 9076 PRINT"{down*2}{yellow}IMPROVED BY MR.P. OF S.W.{space*2}- THE STARS.{down}{light gray}" 9080 RETURN 9100 REM {pound}vrig initiering 9110 ve=22:su=23:ru=7:tg=5:sy=14:at=2:ab=6:mh=4:tr=2 9120 DIM ve$(ve),su$(su),ri$(ru),sa(sy),sa$(tg) 9130 FOR i=1 TO ve:READ ve$(i):NEXT i 9140 FOR i=1 TO su:READ su$(i):NEXT i 9150 FOR i=1 TO ru:READ ri$(i):NEXT i 9160 FOR i=1 TO sy:READ sa(i):NEXT i 9170 FOR i=1 TO tg:READ sa$(i):NEXT i 9180 ar=1:sh=1:f1=0:f2=0:f3=0:f4=0:f5=0:f6=0:f7=0 9190 RETURN 9230 REM verb 9231 DATA "n","{pound}","s","v","upp","ner","i","invent","ta","l[gg","titta","ligg" 9232 DATA "skriv","[t","starta","knacka","unders","notera","sluta","spara" 9233 DATA "ladda","sov" 9240 REM substantiv 9241 DATA "kartbl","papper","pennan","disket","datorm","","","","","" 9242 DATA "datorn","diskdr","d{pound}rren","mamma","","","","","","" 9243 DATA "iden","allt","progra" 9250 REM karta 9251 DATA "{0*9}200" 9252 DATA "{0*3}3{0*8}" 9253 DATA "0504-102{0*4}" 9254 DATA "{0*7}3{0*4}" 9255 DATA "060703-2{0*4}" 9256 DATA "{0*5}5{0*6}" 9257 DATA "{0*7}5{0*4}" 9260 REM sakernas placering 9261 DATA 6,2,4,0,-1,0,0,0,0,0 9262 DATA 7,7,7,6 9270 REM sakernas beskrivning 9271 DATA "ett kartblad beskrivande ditt [ventyr" 9272 DATA "ett papper med n]gra spridda ideer" 9273 DATA "en penna" 9274 DATA "en diskett med titeln 'Mitt [ventyr'" 9275 DATA "det senaste numret av 'DatorMagazin'" 10000 PRINT"{ct n}Please wait{.*3}" 10004 GOTO 10006: av harald fragner 26/10-87 10006 IF PEEK(49152)=120 AND PEEK(49180)=192 AND PEEK(49190)=32 THEN 10020 10008 READy:IF y<0 THEN 10016 10012 POKE49152+a,y:s=s-y*(a<178):a=a+1:GOTO 10008 10016 IF s-23434 THEN PRINT"fel i data!":STOP 10020 SYS 49152:REM aktivera svenska tecken 10024 RETURN 10028 REM**** maskinkod **** 10032 DATA120,169,51,133,1,160,0,185 10036 DATA0,208,153,0,240,200,208,247 10040 DATA238,9,192,238,12,192,208,239 10044 DATA169,208,141,9,192,169,240,141 10048 DATA12,192,169,55,133,1,32,45 10052 DATA192,88,76,68,229,173,2,221 10056 DATA9,3,141,2,221,173,0,221 10060 DATA41,252,141,0,221,169,200,141 10064 DATA136,2,169,45,141,24,208,169 10068 DATA8,133,44,32,139,192,169,89 10072 DATA141,24,3,169,192,141,25,3 10076 DATA96,72,138,72,152,72,169,127 10080 DATA141,13,221,32,188,246,32,225 10084 DATA255,32,163,253,32,24,229,160 10088 DATA3,185,48,253,153,20,3,136 10092 DATA16,247,160,25,185,54,253,153 10096 DATA26,3,136,16,247,32,45,192 10100 DATA108,2,160,160,23,185,178,192 10104 DATA153,216,240,153,216,250,73,255 10108 DATA153,216,244,153,216,254,136,16 10112 DATA236,160,23,185,202,192,153,216 10116 DATA248,73,255,153,216,252,136,16 10120 DATA242,96 10124 REM**** nya tecken **** 10128 DATA 66,24,60,102,126,102,102,0 10132 DATA 66,60,102,102,102,102,60,0 10136 DATA 24,36,60,102,126,102,102,0 10140 DATA 36,0,60,6,62,102,62,0 10144 DATA 36,0,60,102,102,102,60,0 10148 DATA 60,36,60,6,62,102,62,0,-1 10200 REM"<< END OF PROGRAM >> stop tok64 (bastext 1.0)