start tok64 d64-s1Ki15 0 POKE53272,27 1000 REM ***************************** 1010 REM ** trollkarlens quest ** ** ** 1020 REM ** exempel p] [ventyrsspel ** 1030 REM ** ** 1040 REM ** av p]hl mehlin ** 1050 REM ** ** 1060 REM ***************************** 1070 : 1080 GOSUB2450 1090 : 1100 REM *** rumsbeskrivning *** 1110 hj$="Du klarar dig utm[rkt p] egen hand. 1120 ONtrGOSUB1420,1440,1460,1490,1510,1530,1550,1570,1640,1660,1680 1130 IFtr=6ANDko(4)THENf=3:GOTO2360 1140 PRINT"{clear}"rb$:IFcc=.THEN1150 1141 PRINT"{blue}Detta [r rum"tr"{left}. Du kan g]: 1142 FORi=1TO6:IFkr(i,tr)<>.THENPRINTCHR$(ASC(vr$(i,1))+32)MID$(vr$(i,1),2)" "; 1143 IFkr(i,tr)<.THENPRINT"mot en s[ker d{pound}d.":GOTO1145 1144 IFkr(i,tr)>.THENPRINT"till rum"kr(i,tr)"{left}. 1145 NEXT:PRINT"{white} 1150 hi=.:FORf=1TO4:IFko(f)<>trTHEN1180 1160 IFNOThiTHENPRINT"{down}Du kan se":hi=-1 1170 PRINTmb$(f)". 1180 NEXT 1190 : 1200 REM *** inputrutin *** 1210 ONRND(.)*4+1GOTO1211,1212,1213,1214 1211 PRINT"Vad vill Ni, Herre?":GOTO1215 1212 PRINT"Ge Ert kommando, Herre":GOTO1215 1213 PRINT"Vad vill Ni g{pound}ra i den h[r situationen?":GOTO1215 1214 PRINT"Och nu d]? 1215 tx$="":INPUT"?>{left*2}";tx$:IFtx$=""THEN1215 1216 IFtx$="fuska"THENcc=-1:GOTO1140 1230 GOSUB1350 1240 IFa$="g]"THENa$=b$ 1250 n=.:FORf=1TO17 1260 IFa$=vr$(f,1)ORa$=vr$(f,2)THENn=f:GOTO1290 1270 NEXT 1280 PRINT"Jag [r ledsen Herre, men jag f{pound}rst]r{space*4}inte vad Ni s[ger.":GOTO1210 1290 IFn<7THEN1720 1300 IFn=7THENPRINThj$:GOTO1210 1310 IFn=8THEN1140 1320 ONn-8GOTO1800,1860,1920,2000,2060,2130,2230,2300,2400 1330 : 1340 REM *** tv] ord *** 1350 a$="":b$="" 1360 FORf=1TOLEN(tx$):IFMID$(tx$,f,1)<>" "THENNEXT:f=. 1370 IFf=.THENa$=tx$:RETURN 1380 a$=LEFT$(tx$,f-1):b$=MID$(tx$,f+1) 1390 RETURN 1400 : 1410 REM *** rumsdata *** 1420 rb$="Du st]r framf{pound}r Trollkarlens slott. En{space*2}smal grusv[g leder " 1422 rb$=rb$+"s{pound}der till ett{space*7}skogsomr]de. 1430 RETURN 1440 rb$="Du befinner dig i en stor r{pound}d ladug]rd. Tv] d{pound}rrar leder " 1442 rb$=rb$+"s{pound}der och {pound}ster. 1450 RETURN 1460 rb$="Du befinner dig i en skogsgl[nta. Tre{space*3}stigar leder norr, " 1462 rb$=rb$+"v[ster och {pound}ster. 1470 hj$="Marken [r ganska mjuk. 1480 RETURN 1490 rb$="Du famlar dig fram genom en kolsvart{space*4}underjordisk g]ng. 1500 RETURN 1510 rb$="Du befinner dig i ett stort slottsrum,{space*2}med en enorm gl[nsande " 1512 rb$=rb$+"guldd{pound}rr. En{space*5}spricka i v[ggen leder v[ster. 1520 RETURN 1530 rb$="Du befinner dig i Trollkarlens hemliga{space*2}rum. I ett h{pound}rn sitter " 1532 rb$=rb$+"den vackra{space*7}Prinsessan fastbunden, men mellan dig{space*3}och " 1534 rb$=rb$+"henne st]r Trollkarlen! 1540 RETURN 1550 rb$="Du befinner dig p] en jordkulle. {sh -}t norrligger en stor sl[tt och ]t" 1552 rb$=rb$+" v[ster{space*6}ligger ett skogsomr]de. 1560 RETURN 1570 rb$="Du vandrar omkring p] en stor sl[tt. 1580 hj$="{sh +}r det inte lite kallt? 1590 IFn=2ANDko(8)=.THENko(8)=1:GOTO1630 1600 IFn=1ANDko(8)=1THENko(8)=2:GOTO1630 1610 IFn=4ANDko(8)=2THENko(8)=.:tr=11:GOTO1110 1620 ko(8)=. 1630 RETURN 1640 rb$="Du befinner dig p] stranden av en liten sj{pound}. En n[stan helt " 1642 rb$=rb$+"igenvuxen stig ledernorr. 1650 RETURN 1660 rb$="Du befinner dig i toppen av en stor{space*5}bj{pound}rk. 1670 RETURN 1680 rb$="Du st]r vid kanten av en djup ravin. {sh -}t norr ligger en stor sl[tt, " 1682 rb$=rb$+"och ]t v[sterligger en jordkulle. 1690 RETURN 1700 : 1710 REM *** g] *** 1720 f=kr(n,tr) 1730 IFf=.THENPRINT"Du kan inte g] "vr$(n,1)" !":GOTO1210 1740 IFSGN(f)=-1THEN2360 1750 tr=f:PRINT"Du g]r "vr$(n,1)"{.*3} 1760 FORf=1TO1000:NEXT 1770 GOTO1110 1780 : 1790 REM *** ta *** 1800 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 1810 FORf=1TO4:IFLEFT$(b$,LEN(kb$(f)))=kb$(f)ANDko(f)=trTHEN1832 1820 NEXT 1830 PRINT"Tyv[rr [r det ganska om{pound}jligt{.*3}":GOTO1210 1832 PRINT"Er {pound}nskan [r min lag{.*3}":ko(f)=.:GOTO1210 1840 : 1850 REM *** sl[pp *** 1860 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 1870 FORf=1TO4:IFLEFT$(b$,LEN(kb$(f)))=kb$(f)ANDko(f)=.THEN1892 1880 NEXT 1890 PRINT"Du b[r inte p] "b$"{.*3}":GOTO1210 1892 PRINT"Er {pound}nskan [r min lag{.*3}":ko(f)=tr:GOTO1210 1900 : 1910 REM *** unders{pound}k *** 1920 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 1930 FORf=1TO4:IFLEFT$(b$,LEN(kb$(f)))=kb$(f)AND(ko(f)=.ORko(f)=tr)THEN1972 1940 NEXT 1950 FORf=1TO3:IFLEFT$(b$,LEN(ks$(f)))=ks$(f)ANDks(f)=trTHEN1974 1960 NEXT 1970 PRINT"Du ser inget s[rskilt.":GOTO1210 1972 PRINT"Du kan se "lb$(f):GOTO1210 1974 PRINT"Du kan se "ls$(f):GOTO1210 1980 : 1990 REM *** d{pound}da *** 2000 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 2010 IFLEFT$(b$,9)<>"trollkarl"THENPRINT"Var inte l{pound}jlig!":GOTO1210 2020 IFtr<>6THENPRINT"Var inte l{pound}jlig!":GOTO1210 2030 f=4:GOTO2360 2040 : 2050 REM *** bind *** 2060 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 2061 IFLEFT$(b$,LEN(kb$(1)))<>kb$(1)ORko(1)<>.THENPRINT"Bind vad]?":GOTO1210 2070 IFtr<>3THENPRINT"Vad vill Ni binda repstegen runt?":GOTO1210 2080 IFko(6)=.THENPRINT"Du kan inte g{pound}ra det [n!":GOTO1210 2090 PRINT"Du binder repstegen runt en bj{pound}rk och{space*3}sl[nger ner andra "; 2092 PRINT"[nden genom den {pound}ppna tr[luckan. 2100 kr(6,3)=4:ko(1)=-1:GOTO1210 2110 : 2120 REM *** {pound}ppna *** 2130 IFLEFT$(b$,LEN(ks$(2)))=ks$(2)ANDtr=5THEN2180 2132 IFb$=""THENPRINT"Kan Ni specifiera Er?":GOTO1210 2140 IFLEFT$(b$,LEN(ks$(3)))<>ks$(3)THENPRINT"{cm -}ppna vad]?":GOTO1210 2150 IFtr<>3ORko(5)=.THENPRINT"Vilken lucka?":GOTO1210 2160 IFko(6)THENPRINT"Den [r redan {pound}ppen!":GOTO1210 2170 PRINT"Er {pound}nskan [r min lag{.*3}":ko(6)=1:kr(6,3)=-1:GOTO1210 2180 IFko(3)<>.THENPRINT"Du har ingen nyckel{.*3}":GOTO1210 2190 IFko(7)THENPRINT"Den [r redan {pound}ppen!":GOTO1210 2200 PRINT"Er {pound}nskan [r min lag{.*3}":ko(7)=1:kr(4,5)=6:GOTO1210 2210 : 2220 REM *** inventera *** 2230 hi=.:FORf=1TO4:IFko(f)<>.THEN2260 2240 IFNOThiTHENPRINT"{down}Du b[r p]":hi=-1 2250 PRINTmb$(f)". 2260 NEXT:IFNOThiTHENPRINT"Du b[r inte p] n]got. 2270 GOTO1210 2280 : 2290 REM *** gr[v *** 2300 IFko(2)THENPRINT"Med h[nderna{?*3}":GOTO1210 2310 IFko(5)THENPRINT"Det har du redan gjort!":GOTO1210 2320 IFtr<>3THENPRINT"H[r{?*3}":GOTO1210 2330 PRINT"Du gr[ver ett h]l i marken. Efter en{space*4}liten stund st{pound}ter "; 2332 PRINT"du p] en tr[lucka.":ko(5)=1:ks(3)=3:GOTO1210 2340 : 2350 REM *** vinst/f{pound}rlust *** 2360 IFf<>-1THEN2370 2362 PRINT"Du g]r ner genom den {pound}ppna luckan, men{space*2}tappar f[stet och faller "; 2364 PRINT"mot en s[ker{space*3}d{pound}d{.*3}":GOTO2400 2370 IFf<>-2THEN2380 2372 PRINT"Du faller ner i sj{pound}n, som [r v[ldigt{space*4}djup, och drunknar{.*3}":GOTO2400 2380 IFf<>3THEN2390 2382 PRINT"Innan du ens hunnit kliva in i rummer,{space*2}sv[nger Trollkarlen p] "; 2384 PRINT"sin trollstav ochf{pound}rvandlar dig till en stenri{d*3}are{.*3}":GOTO2400 2390 PRINT"Gratulerar, du har lyckats befria{space*7}Prinsessan och d{pound}da "; 2392 PRINT"den ondskefulle{space*5}Trollkarlen{!*3} 2400 INPUT"{down}Vill Ni spela igen (j/n)";a$ 2410 IFLEFT$(a$,1)<>"j"THENEND 2420 RUN 2430 : 2440 REM *** initering *** 2450 POKE53280,14:POKE53281,14:PRINT"{ct n}{white}{clear}Trollkarlens Quest 2460 PRINT"@{sh space}Svenska Hemdator Hacking, 1986 2470 PRINT"@ Softwolves Software/Mr.P. 1991 2560 DIMkr(6,11),ko(8),ks(3),kb$(4),mb$(4),lb$(4),ks$(3),ls$(3),vr$(17,2) 2570 FORf=1TO17:READvr$(f,1),vr$(f,2):NEXT 2580 FORf=1TO11:FORn=1TO6:READkr(n,f):NEXT:NEXT 2590 FORf=1TO4:READko(f),kb$(f),mb$(f),lb$(f):NEXT 2600 FORf=1TO3:READks(f),ks$(f),ls$(f):NEXT 2620 tr=3 2630 RETURN 2640 : 2650 REM *** data *** 2660 DATAnorr,n,s{pound}der,s,v[ster,v 2670 DATA{pound}ster,{pound},upp,u,ner,ned 2680 DATAhj[lp,h,titta,t,tag,ta 2690 DATAsl[pp,sl,unders{pound}k,un 2700 DATAd{pound}da,anfall,bind,knyt 2710 DATA{pound}ppna,{pound},inventera,i 2720 DATAgr[v,g,sluta,stanna 2730 DATA,3,,,, 2740 DATA,9,,3,, 2750 DATA1,,2,7,10, 2760 DATA,,,5,3, 2770 DATA,,4,,, 2780 DATA,,5,,, 2790 DATA8,,3,,,3 2800 DATA8,8,8,8,, 2810 DATA2,-2,,,, 2820 DATA,,,,,3 2830 DATA8,,7,,, 2840 DATA10,repstege,"En repstege 2842 DATA"en l]ng repstege med tr[-{space*5}pinnar. 2850 DATA2,spade,"En spade 2852 DATA"en liten spade med tr[skaft. 2860 DATA11,nyckel,"En nyckel 2862 DATA"en skinande magisk guldnyckel. 2870 DATA9,sv[rd,"Ett sv[rd 2872 DATA"ett skinande magiskt guld-{space*4}sv[rd. 2880 DATA9,sj{pound} 2882 DATA"en liten sj{pound} med mjuka sand-{space*2}str[nder. 2890 DATA5,d{pound}rr 2892 DATA"en enorm gyllene guldd{pound}rr med silverhandtag. 2900 DATA-1,lucka 2902 DATA"en halvrutten tr[lucka med{space*4}rostiga j[rnhantag. stop tok64 (bastext 1.0)