100 Q6%=0 110 REM ______________________________ 120 REM + + 130 REM + + 140 REM + ------- RINGEN.BAS ------- + 150 REM + + 160 REM + Tolkieninspirerat action- + 170 REM + spel i grafik med ljud- + 180 REM + effekter. + 190 REM + + 200 REM + Kanske kommer det makal|sa + 210 REM + RINGEN II till n{sta }r + 220 REM + Anders Umeg}rd -88 dy. + 230 REM > Ins{nt av <4396> < 240 REM ! ! 250 REM ! ver 1.0B ! 260 REM """""""""""""""""""""""""""""" 270 POKE 65416,0 280 GOSUB 3530 290 POKE 65409,0 : P%=100 : POKE 65412,0 300 S1%=-10 310 V%=1 320 L%=3 330 ; CHR$(12) 340 A=14 : B=3 : POKE 65409,0 350 IF V%=7 THEN B=B+2 360 OUT 6,0 370 FOR I=0 TO 23 : ; CUR(I,0)CHR$(151); : NEXT I 380 FOR I=15 TO 23 390 ; CUR(I,1)""; 400 NEXT I 410 ; CUR(1,10)"7k j jdj 7#% 7#! jdj" 420 ; CUR(2,10)"5e j j*z 5 7# j*z" 430 ; CUR(3,10)"5j j j j us5 up0 j j" 440 ; CUR(4,9)"######################" 450 ; CUR(A,B)"uu" 460 ; CUR(A-1,B)"=" 470 ; CUR(A-2,B)"w$" 480 B$="" 490 IF INP(56)=250 THEN GOSUB 2980 500 IF INP(56)=248 THEN GOSUB 3100 510 REM 520 IF INP(56)=173 THEN GOSUB 3460 530 IF L%<0 THEN 3530 540 IF B>36 THEN V%=V%+1 : OUT 6,7 : FOR I=1 TO 300 : NEXT I : P%=P%+35 : GOTO 330 550 Q6%=0 560 L=0 570 P=P+1 580 ; CUR(20,1)CHR$(135)"PO[NG :";P%;CHR$(151); 590 IF P>7 THEN P%=P%-1 : P=0 600 ; CUR(19,1)CHR$(135)"N\TNING P] SV[RD :";S1%*2;CHR$(151); 610 ; CUR(21,1)CHR$(135)"GUBBAR KVAR:";L%;CHR$(151) 620 A$="" 630 ON V% GOTO 640,680,930,1210,1500,1780,2090,2490,1780,2530 640 REM // FYLKE // 650 REM spelet tar sin b|rjan 660 IF Q6%=1 THEN 3270 670 GOTO 2960 680 REM // BRI // 690 REM .pilar 700 IF PEEK(65409)=2 THEN 720 710 A1=13 : B1=38 : POKE 65409,2 720 REM 730 ; CUR(A1,B1)",," : ; CUR(A1,B1+2)" " 740 B1=B1-2 750 REM 760 REM 770 IF A$="SKYDD" THEN 850 780 IF B1=(B) THEN 860 790 IF B1=B THEN 860 ELSE 800 800 IF B1=(B-1) THEN 860 810 IF B1=(B-2) THEN 860 820 IF B1=(B-3) THEN 860 830 IF B1-B>0 THEN 870 840 IF (B-B1)<6 AND (B1<21) THEN 860 850 GOTO 870 860 GOSUB 3870 870 REM 880 ; CUR(13,3)" " 890 IF B1<3 THEN ; CUR(A1,B1)" " : B1=38 900 IF Q6%=1 THEN 3270 910 A$="" 920 GOTO 2960 930 REM // SVARTA RYTTARE // 940 IF PEEK(65409)=2 THEN 960 950 A1=14 : B1=33 : POKE 65409,2 960 IF PEEK(65410)=3 THEN 1010 ELSE 970 970 ; CUR(A1,B1)'`5"!' : ; CUR(A1,B1+4)" " 980 ; CUR(A1-1,B1)"#},," : ; CUR(A1-1,B1+5)" " 990 ; CUR(A1-2,B1)"`4~." : ; CUR(A1-2,B1+4)" " 1000 POKE 65410,3 : GOTO 1050 1010 ; CUR(A1-1,B1)"#~|," : ; CUR(A1-1,B1+5)" " 1020 ; CUR(A1-2,B1)"`4~." : ; CUR(A1-2,B1+4)" " 1030 ; CUR(A1,B1)'"!`5' : ; CUR(A1,B1+4)" " 1040 POKE 65410,0 1050 B1=B1-1 1060 IF A$="SKYDD" THEN 1140 1070 IF B1=B+1 THEN ; CHR$(7) : GOTO 3870 1080 IF (B1+2)=B AND (A>15) THEN 3870 1090 IF (B1+1)=B AND (A>15) THEN 3870 1100 IF (B1+3)=B AND (A>15) THEN 3870 1110 IF (B1-1)=B THEN 3870 1120 IF (B1-2)=B THEN 3870 1130 IF (B1+4)=B THEN 3870 1140 IF B1<3 THEN POKE 65409,0 ELSE 1180 1150 ; CUR(A1,B1)" " 1160 ; CUR(A1-1,B1)" " 1170 ; CUR(A1-2,B1)" " 1180 REM 1190 IF Q6%=1 THEN 3270 1200 GOTO 2960 1210 REM // BILL ORMBUNKE // 1220 IF PEEK(65409)=2 THEN 1240 1230 A1=14 : B1=33 : POKE 65409,2 1240 IF PEEK(65410)=3 THEN 1300 ELSE 1250 1250 ; CUR(A1,B1)"z#% " 1260 ; CUR(A1-1,B1)"n " 1270 ; CUR(A1-2,B1)"f5 " 1280 POKE 65410,3 1290 GOTO 1340 1300 ; CUR(A1,B1)"#z " 1310 ; CUR(A1-1,B1)"n " 1320 ; CUR(A1-2,B1)"f5 " 1330 POKE 65410,0 1340 B1=B1-1 1350 IF A$="SKYDD" THEN 1430 1360 IF B=B1 THEN GOSUB 3870 1370 IF B=B1-1 THEN GOSUB 3870 1380 IF B=B1+1 THEN GOSUB 3870 1390 IF B1-B=2 OR (B1-B)=1 THEN GOTO 1400 ELSE 1440 1400 IF B$="F[KTA" THEN B1=B1 : ; CHR$(7); : P%=P%+10 : GOTO 1450 1410 REM 1420 ; CUR(A1-1,B1-1)",," : GOSUB 3870 1430 REM 1440 IF B1<4 THEN 1450 ELSE 1460 1450 ; CUR(A1,B1)" " : ; CUR(A1-1,B1)" " : ; CUR(A1-2,B1)" " : POKE 65409,0 1460 B$="" 1470 IF Q6%=1 THEN 3270 1480 A$="" 1490 GOTO 2960 1500 REM // VARGAR // 1510 IF PEEK(65409)=2 THEN 1530 1520 A1=14 : B1=33 : POKE 65409,2 1530 IF PEEK(65410)=3 THEN 1590 ELSE 1540 1540 ; CUR(A1,B1)" # z " 1550 ; CUR(A1-1,B1)"n||| " 1560 POKE 65410,3 1570 GOTO 1650 1580 REM 1590 ; CUR(A1,B1)" z # " 1600 ; CUR(A1-1,B1)"n||| " 1610 POKE 65410,0 1620 IF A$="SKYDD" THEN 1730 1630 IF (B1-B)>6 THEN 1730 1640 IF (B1-B)>6 THEN 1730 1650 IF (B1-B)>0 AND (B1-B)<6 THEN 1660 ELSE 1730 1660 IF A$="SKYDD" THEN 1730 1670 ; CUR(A1,B1)" " : ; CUR(A1-1,B1)" " 1680 A1=12 : B1=B1 1690 FOR I=B1 TO B STEP -1 1700 ; CUR(A1,I)"nl|| " 1710 FOR J=1 TO 50 : NEXT J : NEXT I 1720 GOSUB 3870 1730 B1=B1-1 1740 IF B1<4 THEN ; CUR(13,B1)" " : ; CUR(A1-1,B1)" " : POKE 65409,0 1750 IF B=B1 XOR B=(B1+1) THEN ; CHR$(7); : P%=P%+25 1760 IF Q6%=1 THEN 3270 1770 GOTO 2960 1780 REM // ORCH // 1790 IF PEEK(65409)=2 THEN 1810 1800 A1=14 : B1=33 : POKE 65409,2 1810 IF PEEK(65410)=3 THEN 1880 ELSE 1820 1820 ; CUR(A1,B1)"z#% " 1830 ; CUR(A1-1,B1)"n " 1840 ; CUR(A1-2,B1)"f! " 1850 FOR J1=(B1-1) TO (B1-4) STEP -1 : ; CUR(A1-1,J1)","; : NEXT J1 1860 POKE 65410,3 1870 ; CUR(A1-3,B1)" " : GOTO 1930 1880 ; CUR(A1,B1)"'z " 1890 ; CUR(A1-1,B1)"n " 1900 ; CUR(A1-2,B1)"f! " 1910 ; CUR(A1-1,B1-3)" " 1920 POKE 65410,0 1930 B1=B1-1 1940 REM -STUCKEN BY SPJUT? 1950 IF A$="SKYDD" THEN 1970 1960 IF (B1-B)>2 AND (B1-B)<6 THEN 2020 1970 IF (B1-B)=1 XOR (B1-B)=2 THEN 1980 ELSE 2000 1980 IF B$="F[KTA" THEN ; CHR$(7); : P%=P%+50 : GOTO 2040 1990 GOTO 2020 2000 IF (B1-B)<1 AND (B1-B)>-3 THEN 2020 2010 GOTO 2030 2020 GOSUB 3870 2030 IF B1<3 THEN 2040 ELSE 2050 2040 ; CUR(A1,B1)" " : ; CUR(A1-1,B1)" " : ; CUR(A1-2,B1-4)" " : ; CUR(A1-3,B1)" " : POKE 65409,0 2050 REM 2060 IF Q6%=1 THEN 3270 2070 REM 2080 GOTO 2960 2090 REM // BALROG // 2100 IF PEEK(65409)=2 THEN 2120 2110 A1=14 : B1=33 : POKE 65409,2 2120 IF PEEK(65410)=3 THEN 2180 ELSE 2130 2130 ; CUR(A1,B1)"z#% " 2140 ; CUR(A1-1,B1)"n= " 2150 ; CUR(A1-2,B1)")& " 2160 POKE 65410,3 2170 GOTO 2220 2180 ; CUR(A1,B1)"#c5 " 2190 ; CUR(A1-1,B1)"n= " 2200 ; CUR(A1-2,B1)")& " 2210 POKE 65410,0 2220 B1=B1-1 2230 IF (B-B1)>0 AND A$="SKYDD" THEN 2360 2240 IF A$="SKYDD" THEN 2290 2250 IF (B1-B)=1 OR (B1-B)=2 THEN 2330 2260 IF A$="SKYDD" THEN 2360 2270 IF (B1-B)<2 AND (B1-B)>-3 THEN 2330 2280 REM 2290 IF A$="SKYDD" THEN 2360 2300 IF B>23 THEN 2360 2310 IF (B1-B)>2 AND (B1-B)<6 THEN ; CUR(A1-1,B1-5)",,,,," ELSE 2360 2320 GOTO 2350 2330 IF B$="F[KTA" THEN P%=P%+75 : ; CHR$(7); : B$="" : GOTO 2370 2340 GOTO 2350 2350 GOSUB 3870 2360 IF B1<4 THEN 2370 ELSE 2390 2370 ; CUR(A1,B1)" " : ; CUR(A1-1,B1)" " : ; CUR(A1-2,B1)" " : POKE 65409,0 2380 IF A$="SKYDD" THEN 2450 2390 IF (B1-B)<-2 THEN 2400 ELSE 2450 2400 IF A$="SKYDD" THEN 2450 2410 FOR I=B1+3 TO B 2420 ; CUR(13,I)" ," : FOR J=1 TO 100 : NEXT J 2430 NEXT I 2440 GOSUB 3870 2450 REM 2460 IF Q6%=1 THEN 3270 2470 A$="" 2480 GOTO 2960 2490 REM // LOTHLORI@N // 2500 IF Q6%=1 THEN 3270 2510 GOTO 2960 2520 REM // ORCH // 2530 REM // GOLLUM // 2540 IF PEEK(65409)=2 THEN 2560 2550 A1=14 : B1=33 : POKE 65409,2 : FOR I=15 TO 22 : ; CUR(I,34)" " : NEXT I 2560 IF PEEK(65410)=3 THEN 2610 ELSE 2570 2570 ; CUR(A1,B1)" z# " 2580 ; CUR(A1-1,B1)' "n6 ' 2590 ; CUR(A1-2,B1)' 0({ 0 ' 2600 POKE 65410,3 : GOTO 2660 2610 ; CUR(A1,B1)' #z ' 2620 ; CUR(A1-1,B1)' (n, ' 2630 ; CUR(A1-2,B1)' ({ ' 2640 POKE 65410,0 2650 ; CUR(0,0)PEEK(65410) 2660 B1=B1-1 2670 IF B1=B+1 THEN 2710 ELSE 2680 2680 IF B1=B+2 THEN 2710 ELSE 2690 2690 IF B1=B-1 THEN 2710 ELSE 2700 2700 IF B1=B THEN 2710 ELSE 2940 2710 FOR I=(B1+6) TO 34 2720 OUT 6,-3 2730 ; CUR(13,I)" f$" : FOR J=1 TO 100 : NEXT J 2740 NEXT I 2750 FOR I=13 TO 22 : ; CUR(I,34)"f$" : ; CUR(I-1,34)" " : FOR J=1 TO 100 : NEXT J 2760 OUT 6,-3 2770 NEXT I 2780 FOR I=22 TO 5 STEP -1 2790 OUT 6,9 2800 ; CUR(I,34)"99" : FOR J=1 TO 100 : NEXT J 2810 NEXT I 2820 FOR I=1 TO 1000 : NEXT I 2830 FOR I=5 TO 22 2840 ; CUR(I,34)" " : FOR J=1 TO 100 : NEXT J : NEXT I 2850 FOR I=1 TO 1000 : NEXT I 2860 ; CHR$(12,7) 2870 IF PEEK(65416)=99 THEN 4150 2880 ; CUR(3,0)"Oj d}! Gandalf gr} gav dig fel ring..." 2890 ; CUR(4,0)"han ger dig en ny ,vi f}r hoppas att den {r r{tt i alla fall." 2900 POKE 65416,99 2910 FOR I=1 TO 1000 : NEXT I 2920 IF INP(56)>128 THEN 2930 ELSE 2920 2930 V%=1 : P%=P%+500 : GOTO 330 2940 GOTO 2960 2950 REM *** SLUT *** 2960 FOR I=0 TO 23 : ; CUR(I,0)CHR$(151); : NEXT I 2970 ; CUR(A-1,B+2)" " : ; CUR(A-2,B+2)" " : ; CUR(A,B+2)" " : GOTO 490 2980 REM * G] -> * 2990 B=B+1 3000 IF PEEK(65408)=1 THEN 3050 ELSE 3010 3010 ; CUR(A-2,B)"w$" : ; CUR(A-2,B-3)" " 3020 ; CUR(A-1,B)"=" : ; CUR(A-1,B-3)" " 3030 ; CUR(A,B-1)CHR$(151);"u9" : ; CUR(A,B-2)" " 3040 POKE 65408,1 : GOTO 3090 3050 ; CUR(A-2,B)"w$" : ; CUR(A-2,B-3)" " 3060 ; CUR(A-1,B)"=" : ; CUR(A-1,B-3)" " 3070 ; CUR(A,B-2)CHR$(151);"`%u" : ; CUR(A,B-3)" " 3080 POKE 65408,0 3090 RETURN 3100 REM * HOPP -> * 3110 IF V%=10 THEN RETURN 3120 IF V%=7 THEN 3140 3130 IF B>28 THEN RETURN 3140 A$="skydd" 3150 Q6%=1 3160 ; CUR(A,B-1)" " 3170 ; CUR(A-1,B)" " 3180 ; CUR(A-2,B)" " 3190 P%=P%-5 3200 R=B+3 3210 U=5 3220 FOR I=1 TO U 3230 A$="SKYDD" 3240 IF L=99 THEN 3260 3250 ON V% GOTO 640,680,930,1210,1500,1780,2090,2490,1780,2530 3260 REM 3270 IF B1<7 THEN 3290 3280 REM 3290 ; CUR(A-2,B+I)" # #%" : ; CUR(A-2,(B+I)-1)" " 3300 ; CUR(A-3,(B+I)-4)CHR$(151)" h =" : ; CUR(A-3,(B+1)-2)" " 3310 ; CUR(A-4,B+I)" w$" : ; CUR(A-4,(B+I)-1)" " 3320 FOR J=1 TO 100 : NEXT J 3330 NEXT I 3340 ; CUR(A-2,B)" " 3350 ; CUR(A-3,(B+I)-1)" " : ; CUR(A-2,B+I)" " 3360 ; CUR(A-4,B+I)" " : B=B+(I+1) 3370 GOTO 3000 3380 RETURN 3390 REM * SKYDDA * 3400 ; CUR(A-1,B+2)"5" 3410 ; CUR(A-2,B+2)"5" 3420 ; CUR(A,B+2)"%" 3430 FOR I=1 TO 100 : NEXT I 3440 A$="SKYDD" 3450 RETURN 3460 REM * F[KTA * 3470 IF PEEK(65412)=12 THEN RETURN 3480 ; CUR(A-1,B+2)"=," 3490 B$="F[KTA" 3500 FOR I=1 TO 100 : NEXT I 3510 S1%=S1%+1 : IF S1%>49 THEN POKE 65412,12 3520 RETURN 3530 ; CHR$(12) : ; CUR(0,10)CHR$(151)"SAGANfOM9RINGEN" 3540 FOR I=31755 TO 31771 3550 POKE I,(PEEK(I) OR 128) 3560 NEXT I 3570 ; CUR(1,10)CHR$(151)"#################" 3580 ; CUR(3,0)"PO[NG :";P% 3590 IF P%>H5% THEN H5%=P% 3600 ; CUR(22,0)"TRYCK RETURN" 3605 ; CUR(13,20)"Au Software" 3610 ; CUR(8,0)"Ta dig tll Domedagsklyftan och " 3620 ; CUR(9,0)"ge ringen till Gollum.P} v{gen finns " 3630 POKE 65416,0 3640 ; CUR(10,0)"div. faror" 3650 ; CUR(15,0)"Styr 'Frodo' med :" 3660 ; CUR(17,0)"z ->  x hopp->  - Sv{rd" 3670 ; CUR(20,0)"UPPERCASE ska vara sl{ckt!!!!!" 3680 ; CUR(5,0)"HIGH :";H5% 3690 DATA 60,100,60,10,60,10,60,100,30,100,30,15,30,15,30,100 3700 DATA 10,100,10,50,10,50,5,30 3710 DATA 45,100,45,13,45,13,45,100 3720 DATA 60,100,60,10,60,10,60,100 3730 DATA 10,100,10,50,10,50,5,100,10,25,5,300 3740 RESTORE 3750 ONERRORGOTO 3860 3760 S1%=0 3770 READ A%,B% 3780 FOR C%=1% TO B% 3790 OUT 6%,0%,6%,121% 3800 FOR D%=1% TO A% 3810 NEXT D% : NEXT C% 3820 OUT 6,9 3830 IF INP(56)>128 THEN 290 3840 GOTO 3750 3850 GOTO 3740 3860 S1%=0 : GOTO 3740 3870 L%=L%-1 3880 FOR U=1 TO 100 : OUT 6,9 : NEXT U 3890 ; CHR$(7) 3900 GOTO 330 3910 RETURN 3920 REM **************************** 3930 REM **************************** 3940 REM ** ** 3950 REM ** Ni som har l{st ** 3960 REM ** trilogin om h{rskar- ** 3970 REM ** ringen vet att Gollum ** 3980 REM ** inte riktigt hoppade i ** 3990 REM ** ner i klyftan av fri ** 4000 REM ** vilja ,men jag tycker ** 4010 REM ** att Gollum ska vara ** 4020 REM ** en av de 2 hj{ltarna ** 4030 REM ** i spelet.Ut|varen av ** 4040 REM ** spelet {r den andre ** 4050 REM ** hj{lten. ** 4060 REM ************ ** 4070 REM ** By ** 4080 REM ** Anders ** 4090 REM ** Umeg}rd ** 4100 REM ** 87-11-28 .. 88-01-30 ** 4110 REM ** 1988-04-04 A.U ** 4120 REM ** ** 4130 REM **************************** 4140 REM **************************** 4150 ; CHR$(12)"Congratulations !! " 4160 OUT 6,19 4170 ; "You have successfully completed your " 4180 ; "Jurney to Gollum !!" 4190 ; "Thanks for playing RINGEN , and coming " 4200 ; "to this very computer real soon is ..." 4210 GET R$ : GET R$ 4220 OUT 6,7 4230 ; " (maybe) RINGEN II !!" 4240 GET R$ 4250 ; : ; "______________________________________" 4260 ; " RINGEN " 4270 ; : ; "Written By : J.R.R Tolkien " 4280 ; : ; "Graphics By : Anders Umeg}rd " 4290 ; : ; "Game Coding By : Not Yet " 4300 ; : ; "Music By : Anders Umeg}rd" 4310 ; : ; "Design By : Bilbo The Hobitt" 4320 ; : ; "Copyright 1988 , Au Software" 4330 FOR I=50 TO 1 STEP -10 4340 FOR C%=1% TO 50%-(I/2) 4350 OUT 6%,0%,6%,121% 4360 FOR D%=1% TO I 4370 NEXT D% : NEXT C% 4380 NEXT I 4390 FOR I=1 TO 17 4400 FOR C%=1% TO 1%+(50-I) 4410 OUT 6%,0%,6%,121% 4420 FOR D%=1% TO I 4430 NEXT D% : NEXT C% 4440 NEXT I 4450 IF A%=5 THEN A%=1 ELSE A%=5 4460 IF A%=5 THEN P=14 ELSE P=75 4470 FOR C%=1% TO P 4480 OUT 6%,0%,6%,121% 4490 FOR D%=1% TO A% 4500 NEXT D% : NEXT C% 4510 IF A%=1 THEN 4520 ELSE 4450 4520 ; CUR(21,0)CHR$(151)"pppppppppppppppppppppppppppppppppppp" 4530 REM LIST CAS:RINGEN