1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... GROTTAN.BAS 3 REM ! Utg}va 1.3 83-09-25 4 REM ! av (c) Harry Peltoniemi <4122> 7 REM ! Minne 16 Kbytes 9 REM +++++++++++++++++++++++++++++++++ 10 REM 11 REM Screening av 12 REM Allan Varcoe & G|ran Olsson 13 REM 14 IF PEEK(472)=80 THEN ; INP(3) 15 REM +++++++++++++++++++++++++++++++++ 220 REM *** Ta t.ex bort RANDOMIZE f|r 230 REM *** att f} samma grotta hela 240 REM *** tiden (f|r nyb|rjare) 250 RANDOMIZE 260 DIM Q$=1% 270 DEFFNR%(X%)=RND*X%+1% 280 GOSUB 2650 290 REM *** B%=ANTALET RUM 300 REM *** [NDRAS om man t.ex vill ha 310 REM *** st|rre grotta 320 B%=300% : C%=B%/2% : DIM A%(B%+11%) 330 Z%=0% : T%=B% : E%=10% 340 A%=E% : A%(A%)=1% 350 ; CUR(22%,5%)'KVAR ATT FIXA : %' 360 D%=FNR%(7%) : T%=T%-1% 370 IF T%=0% POKE 65008%,255%,255%,255% : ; CHR$(12%) : GOTO 550 380 ; CUR(22%,20%)INT((T%*100)/B%)' ' 390 IF D%=2% D%=-1% 400 IF D%=3% D%=-E% 410 IF D%=4% D%=E% 420 IF D%=5% D%=-C% 430 IF D%=6% D%=C% 440 IF D%=7% 510 450 H%=A%+D% : IF H%<1% OR H%>B% 360 460 K%=A%(H%) 470 IF K%=3% OR K%=4% OR K%>B% 360 480 A%(H%)=1% : IF D%=-C% A%(A%)=3% : A%(H%)=4% 490 IF D%=C% A%(H%)=3% : A%(A%)=4% 500 A%=H% : GOTO 360 510 IF FNR%(3%)<>2% OR A%(A%)<>1% 360 520 Z%=Z%+1% : K%=0% : IF Z%>E% 360 530 Y%=FNR%(E%) : IF A%(Y%+B%)<>0% 530 540 A%(A%)=Y%+B% : A%(Y%+B%)=1% : GOTO 360 550 A%(A%)=B%+11% : A%=E% : G%=0% 560 REM *** F|r fuskare : 570 REM *** Ta bort rem p} denna rad ; CUR(0%,0%)'RUM : 'A%' ' 580 ; CUR(1%,0%)SPACE$(35%) 590 ; CUR(11%,1%)SPACE$(38%) 600 ; CUR(22%,0%)SPACE$(38%) 610 ; CUR(5%,18%)' ' 620 ; CUR(18%,5%)' ' 630 IF A%<>E% 650 640 IF G%=0% ; CUR(1%,0%)'Du ser en blockerad Grottutg}ng' ELSE 2510 650 FOR I%=3% TO 19% 660 ; CUR(I%,4%)''CUR(19%,I%+1%)'' 670 ; CUR(3%,I%+1%)''CUR(I%,21%)''; 680 ; SPACE$(18%) 690 ; CUR(I%,0%)CHR$(23%) : NEXT I% 700 ; SPACE$(39%) 710 ; CUR(13%,13%)'n$' 720 ; CUR(14%,13%)'!!' 730 IF A%>E% IF A%(A%-E%)<>0% ; CUR(3%,10%)CHR$(135%)'Norr 'CHR$(23%) 740 IF A%C% IF A%(A%)=3% ; CUR(18%,5%)'DOWN' 790 ; : IF A%(A%)11% 820 810 ON X% GOSUB 1040,1120,1220,1350,1510,1710,1860,1960,2060,2190,2350 820 GOSUB 920 830 IF V% L%=A%-V%*E% 840 IF J% L%=A%+J% 850 IF A%(A%)=3% AND R% L%=A%-C% : GOTO 870 860 IF A%(A%)=4% AND R% L%=A%+C% 870 IF L%<1% OR L%>B% 820 880 IF A%(L%)=0% 820 890 A%=L% : GOTO 560 900 REM 910 REM *** Utf|r ett drag 920 ; CUR(10%,0%); : GET Q$ 930 N%=N%+1% : REM antal drag 940 J%=0% : V%=0% : R%=0% 950 IF Q$='V' OR Q$='v' J%=-1% : RETURN 960 IF Q$='\' OR Q$='|' J%=1% : RETURN 970 IF Q$='N' OR Q$='n' V%=1% : RETURN 980 IF Q$='S' OR Q$='s' V%=-1% : RETURN 990 IF Q$='U' OR Q$='u' R%=1% : RETURN 1000 IF Q$='D' OR Q$='d' R%=1% : RETURN 1010 N%=N%-1% : GOTO 920 1020 REM 1030 REM *** Skriv ut vad som hittats 1040 ; CUR(4%,23%)CHR$(135%); 1050 ; 'Du ser (iiiii!)' 1060 ; CUR(5%,24%)'EN R]TTA' 1070 ; CUR(7%,25%)'`0' 1080 ; CUR(8%,25%)'j}}t' 1090 ; CUR(9%,24%)'hot' 1100 ; CUR(10%,23%)'`uppp' 1110 RETURN 1120 ; CUR(3%,23%)'DU L[SER P]' 1130 ; CUR(4%,23%)'EN SKYLT' 1140 ; CUR(6%,23%)'KILROY KOOLADE' 1150 ; CUR(7%,23%)'AV H[R' 1160 ; CUR(8%,29%)'AMEN' 1170 ; CUR(10%,28%)'' 1180 ; CUR(11%,27%)'' 1190 ; CUR(12%,28%)'' 1200 ; CUR(13%,28%)'' 1210 RETURN 1220 ; CUR(4%,23%)CHR$(135%); 1230 ; 'Du ser en palm' 1240 ; CUR(6%,28%)'(0' 1250 ; CUR(7%,28%)'p:|?t0' 1260 ; CUR(8%,27%)'&#{t0' 1270 ; CUR(9%,27%)'`#+}' 1280 ; CUR(10%,27%)'>  k' 1290 ; CUR(11%,30%)'' 1300 ; CUR(12%,30%)'' 1310 ; CUR(13%,30%)'' 1320 ; CUR(14%,30%)'' 1330 ; CUR(15%,30%)'' 1340 RETURN 1350 ; CUR(4%,23%)CHR$(135%)'Du ser en' 1360 ; CUR(6%,24%)'`,,,,,,,,,,,0' 1370 ; CUR(7%,24%)'j 8,,,,,d |45' 1380 ; CUR(8%,24%)'jj 5=55' 1390 ; CUR(9%,24%)'jj 5#!5' 1400 ; CUR(10%,24%)'j*0 `% 5' 1410 ; CUR(11%,24%)'j "#####! !!5' 1420 ; CUR(12%,25%)'csssssssss#' 1430 ; CUR(13%,24%)'`%$$$$$$$$$e' 1440 ; CUR(14%,24%)'622222222r224' 1450 ; CUR(15%,23%)'j ,(((((((($$j' 1460 ; CUR(16%,23%)'"#############' 1470 ; CUR(18%,23%)'MEN TYV[RR FINNS' 1480 ; CUR(19%,23%)'DET EJ EL URTAG' 1490 ; CUR(20%,23%)'H[R' 1500 RETURN 1510 ; CUR(4%,23%)CHR$(135%)'Du ser en' 1520 ; CUR(7%,23%)'h}||||}!' 1530 ; CUR(8%,29%)'o}' 1540 ; CUR(9%,30%)'uq7' 1550 ; CUR(10%,33%)'j5' 1560 ; CUR(11%,33%)'"#!' 1570 ; CUR(13%,23%)'RIKTAS MOT DIG' 1580 ; CUR(14%,23%)'OCH AVFYRAS' 1590 ; CUR(15%,23%)'B A N G' 1600 FOR I%=0% TO 50% 1610 FOR I1%=0% TO RND*10% : NEXT I1% 1620 ; CUR(17%,23%)CHR$(7%); 1630 OUT 6%,137% : NEXT I% 1640 IF FNR%(8%)=5% 1690 1650 ; CUR(17%,23%)CHR$(135%)'PUUUHH !!!' 1660 ; CUR(18%,23%)'KULAN MISSADE DIG' 1670 ; CUR(19%,23%)'MED EN H]RSM]N' 1680 RETURN 1690 ; CUR(21%,0%)'Du blev tr{ffad och reser dig inte mera.S} nu {r det slut p} skatt-jakten.'; 1700 END 1710 ; CUR(4%,23%)CHR$(135%)'Du ser ett' 1720 ; CUR(5%,23%)CHR$(135%)'uppk{kat' 1730 ; CUR(7%,32%)'|.' 1740 ; CUR(8%,31%)'j!' 1750 ; CUR(9%,26%)'`|||05p|}t' 1760 ; CUR(10%,25%)'x?o5' 1770 ; CUR(11%,24%)'?k?+? 0m' 1780 ; CUR(12%,23%)'h''` '' 0+7' 1790 ; CUR(13%,26%)'% % 6' 1800 ; CUR(14%,26%)'5 j %' 1810 ; CUR(15%,24%)'0`% 4 *0' 1820 ; CUR(16%,24%)'}p ~0 xu a}' 1830 ; CUR(17%,24%)'k}''' 1840 ; CUR(18%,25%)'+''##+o?!' 1850 RETURN 1860 ; CUR(3%,23%)'DU L[SER P]' 1870 ; CUR(4%,23%)'V[GGEN' 1880 ; CUR(7%,23%)'u&"7j w9 6i *p:' 1890 ; CUR(8%,23%)'7d`ujp 7d e: j' 1900 ; CUR(10%,25%)'ed% ,d' 1910 ; CUR(11%,29%)'f{ <$' 1920 ; CUR(12%,32%)'s5' 1930 ; CUR(15%,23%)'=4 w57 w5' 1940 ; CUR(16%,26%)'-$ -$' 1950 RETURN 1960 ; CUR(4%,23%)CHR$(135%); 1970 ; 'Du ser (u{{{ck!)' 1980 ; CUR(7%,29%)'` 0' 1990 ; CUR(8%,29%)'>m' 2000 ; CUR(9%,28%)'j5' 2010 ; CUR(10%,26%)'p||p' 2020 ; CUR(11%,25%)'x0' 2030 ; CUR(12%,24%)'z0' 2040 ; CUR(13%,24%)'?!+?#o''o''+?!+5' 2050 RETURN 2060 ; CUR(4%,23%)CHR$(135%)'Du ser en' 2070 ; CUR(6%,27%)'8,,07k`,,d' 2080 ; CUR(7%,26%)': `>''c3+m0 e' 2090 ; CUR(8%,26%)'5`7( j5 $k0j' 2100 ; CUR(9%,26%)'+?` j5 0o''' 2110 ; CUR(10%,27%)'5 j5 j' 2120 ; CUR(11%,27%)'5$ n$(j' 2130 ; CUR(12%,27%)'5 j' 2140 ; CUR(13%,27%)'k" !7' 2150 ; CUR(14%,28%)'m2 `0 a>' 2160 ; CUR(15%,29%)'#0% ; 'dagar :'T1% : REM *** Hmmmm !!! 2560 T0=T0-T1%*86400 : T1%=T0/3600 : IF T1%<>0% ; 'timmar :'T1% 2570 T0=T0-T1%*3600 : T1%=T0/60 : IF T1%<>0% ; 'minuter :'T1% 2580 T0=T0-T1%*60 : T1%=T0 : IF T1%<>0% ; 'sekunder :'T1% 2590 ; : ; 'Du har lyckats med att hitta skatten och ta dig tillbaka till grott|ppningen' 2600 ; 'd{r dina fega kompisar har v{ntat p} dig.' : ; 'De r|jer upp g}ngen och befriar dig.' 2610 ; : ; 'Tack vare ditt stora hj{ltemod' 2620 ; 'd{r du ensam har v}gat str|va omkring i den stora hemska grottan,' 2630 ; 's} har nu alla blivit rika och s} levde alla lyckliga i alla sina dagar.' 2640 END 2650 ; CHR$(12%)'Du har blivit utsedd av dina kompisar att g} och leta efter en s{genomspunnen skatt.' 2660 ; 'Denna skall finnas g|md i ett rum i en enorm stor grotta.' : ; 2670 ; 'Ni har hittat grott|ppningen och nu skall du ut och leta efter skatten.' 2680 ; 'Vem vet vad f|r hemska saker som lurar inne i grottan' 2690 ; : ; 'Dina kompisar har blockerat grottans' 2700 ; 'utg}ng s} att du inte kan komma ut om du inte har hittat skatten.' 2710 ; : ; 'Det r{cker med att du hittar skatten och tar dig tillbaka till grottans utg}ng.' 2720 ; 'D} blir du utsl{ppt.' 2730 ; : ; 'Tryck p} RETURN f|r mer '; 2740 GET Q$ : IF Q$<>CHR$(13%) 2740 2750 ; CHR$(12%)'Du styr :' 2760 ; : ; ' N=norr' 2770 ; ' V=v{ster \=|ster' : ; ' S=s|der' 2780 ; : ; : ; ' U=upp}t D=down (ned)' : ; : ; 2790 ; 'Det dyker upp p} sk{rmen }t vilka h}ll du kan g}.' : ; 'Svara d} med vilken rikting.' : ; 2800 ; 'REKOMMENDATION: RITA KARTA !!!' : ; 'ANNARS KANSKE DU INTE HITTAR TILLBAKA.' 2810 ; CUR(20%,0%)'Tryck p} RETURN f|r start '; 2820 GET Q$ : IF Q$<>CHR$(13%) 2820 2830 ; CUR(20%,0%)'V{nta skall bara fixa grottan' 2840 RETURN