========================================================== L'ILE MAUDITE - ========================================================== ---------------------------------------------- Premier programme = caracteres graphiques ---------------------------------------------- 100 !*********************************** 110 !* PDRC * 120 !*********************************** 130 CALL CHAR(65,"8040606010080C040201") 140 CALL CHAR(66,"01020604081030204080") 150 CALL CHAR(67,"80808080808080808080") 160 CALL CHAR(68,"01010101010101010101") 170 CALL CHAR(69,"000000000000000000FF") 180 CALL CHAR(70,"00000000000000000000") 190 CALL CHAR(71,"FFFFFFFFFFFFFFFFFFFF") 200 CALL CHAR(72,"FFFEFEFCF8F0E0C0C080") 210 CALL CHAR(73,"80C0E0E0F0F8FCFCFEFF") 220 CALL CHAR(74,"010307070F1F3F3F7FFF") 230 CALL CHAR(75,"FF7F7F3F1F0F07030301") 240 CALL CHAR(76,"C3817EFF99FF663C24E7") 250 CALL CHAR(77,"FF000000000000000000") 260 CALL CHAR(78,"01070F1F3F3F7F7FFFFF") 270 CALL CHAR(79,"80E0F0F8FCFCFEFEFFFF") 280 CALL CHAR(80,"FF808097909090909090") 290 CALL CHAR(81,"FF0101F9090909090909") 300 CALL CHAR(82,"909090909090909700FF") 310 CALL CHAR(83,"09090909090909090909") 320 CALL CHAR(84,"90909090909090909090") 330 CALL CHAR(85,"FF0000FF000000000000") 340 CALL CHAR(86,"09090909090909F901FF") 350 CALL CHAR(87,"00000000000000FF00FF") 360 CALL CHAR(97,"00000003040810080402") 370 CALL CHAR(98,"000000C0201008002040") 380 CALL CHAR(99,"03030303030303030303") 390 CALL CHAR(100,"C0C0C0C0C0C0C0C0C0C0") 400 CALL CHAR(101,"0F0107010F0000000000") 410 CALL CHAR(102,"C0C0C0C0000000000000") 420 CALL CHAR(103,"0000000F10100F000F10") 430 CALL CHAR(104,"000000000000E010E000") 440 CALL CHAR(105,"100F0000000000000000") 450 CALL CHAR(106,"00F80000000000000000") 460 CALL CHAR(107,"0103070F1F3F7F80FF00") 470 CALL CHAR(108,"FEFEFAF4E8D0A0C08000") 480 CALL CHAR(109,"03077707070707070300") 490 CALL CHAR(110,"C0E0E0E0E0E0E0E0C000") 500 CALL CHAR(111,"010103060C1800000000") 510 CALL CHAR(112,"0000000000000F112141") 520 CALL CHAR(113,"000000000000FC808080") 530 CALL CHAR(114,"080F080F080F080F080F") 540 CALL CHAR(115,"10F010F010F010F010F0") 550 CALL CHAR(116,"000000000000007830FC") 560 CALL CHAR(117,"000000000000003C42DB") ---------------------------------------------- Deuxieme programme = jeu ---------------------------------------------- 100 ! LA FORET 110 DATA FFFFFFFFBFFFFFFABAFF 120 DATA FFFFFBABFFFFFFFFAFAF 130 DATA FFFFBFFAFFFFFFFFFADF 140 DATA FFFBFFFFAEBCDAEEEBDF 150 DATA FFBFFFFFFAFCDFFCFFDF 160 DATA FFAFFFFFFBFCDFFCFFDF 170 DATA FFFABCDABFFCDFDBCDAC 180 DATA EEEEECDEEEECDEEECDEE 190 DATA FFFFFCDFFFFCDFFFCDFF 200 DATA FFFFFCDFFFFCDFFFCDFF 210 DATA FFFFFCDFFFFCDFFFCDFF 220 DATA FFFFFCDFFFBFFAFBFFAF 230 DATA FFFFFCDFFFFFFFFFFFFF 240 DATA FFFFBFFAFFFFFFFFFFFF 250 DATA FFFFFFFFFFFFFFFFFFFF 260 ! LA GROTTE 270 DATA GGGGGGGGGGGGGGGGGGGG 280 DATA GGGGGGGGGGGGGGGGGGGG 290 DATA GGGGGGGFKHFFGGGGGGGG 300 DATA GGGGGGGFFFFFGKGGGGGG 310 DATA GGGGHKHFFFFFGFHGGGGG 320 DATA GGGFFFFFFFFFKFFKGGGG 330 DATA GGGFFFFFFFFFFFFFFGGG 340 DATA GHGFFFFFFFFFFFFFFGKG 350 DATA GFGFFFFFFFFFFFFFFGFG 360 DATA GFGFFFFFFFFFFFFFFKFG 370 DATA GFGFFFFFFFFFFFFFFFFG 380 DATA GFKFFFFFFFFFFFFFFFFG 390 DATA GFFFFFJGGGIFFFFFFFFG 400 DATA GFJGGGGGGGGGGGGGGIFG 410 DATA GGGGGGGGGGGGGGGGGGGG 420 ! LES MONTAGNES 430 DATA FFFFFFFFFFFBAFFFFJIF 440 DATA FFFFFFFFFFJGGAFFJGGI 450 DATA FFFFFFFBAJGGGGIJGGGG 460 DATA FFFFFFJGGGGIFFJGJFFJ 470 DATA FFFFFJGGGJFFFJGJFFBF 480 DATA FFJIJGFJHFFFJGHFFFFF 490 DATA FJGGHFFFFFFFFFFJIFFF 500 DATA JGGHFFFFFFFFJIBFFAFF 510 DATA FFFFFFJIFJIBFFFFFFAF 520 DATA FFJIFJGGGFFFFFFFFFFA 530 DATA FJHFBFFFFFFFFFFFFFFF 540 DATA JGIBFFFFFFFFFFFFFFFF 550 DATA FFFFFFFFFFFFFFFFFFFF 560 DATA FFFFFFFFFFFFFFFFFFFF 570 DATA FFFFFFFFFFFFFFFFFFFF 580 ! LA COUR 590 DATA GGFFFFFFFFFFFFFFGGGG 600 DATA FGFGGGGGHKGGGGGFGGBG 610 DATA FGFGFFFFFFFFFFGFGGAG 620 DATA FGFGFGGGHKGGGFGFGGBG 630 DATA FGFGFGFFFFFFGFGFGGAG 640 DATA FGFGFGFGHKGFGFGFGGBG 650 DATA FGFGFGFGFFGFGFGFGGAG 660 DATA FGFGFGFGFFGFGFGFGGBG 670 DATA FGFGFGFGFFGFGFGFGGAG 680 DATA FGFGFGFGFFGFGFGFGGBG 690 DATA FGFGFGFFFFFFGFGFGGAG 700 DATA FGFGFGFFLFFFGFGFGGBG 710 DATA FGFGFFFFFFFFFFGFGGAG 720 DATA FGFGFFLFFFFLFFGFGGBG 730 DATA GGFFFFFFFFFFFFFFGGGG 740 ! LE LAC 750 DATA FDFFDFFFFFFFFFDFFDFF 760 DATA FDFFDFFFFFFFFFBFFDFF 770 DATA AFAFFIFFFFFFFJFFFDFF 780 DATA DFFAFDFFFFFFBHFFFBFF 790 DATA DFFFIDFFFFFBDFFFDFFF 800 DATA DFFFDDFFFFDFDFFFBFFF 810 DATA FAFFDFIFFFJFDFDDFFFF 820 DATA IFIFFIFIFFGFIFDFGFFF 830 DATA FIFIFGFGGHKEGFJFGFFF 840 DATA FGFGFGEHFFFFKEGFHFGF 850 DATA IDFGEHFFFFFFFFKDFFHF 860 DATA GFEHFFFFFFFFFFFMADFJ 870 DATA GDFFFFFFFFFFFFFFFMAG 880 DATA GBFJGGHFFFFFFFFFFFFG 890 DATA FFFFFFFFFFFFFFFFFFFG 900 ! LA CLAIRIERE 910 DATA FFFFFFFFFFFFFFFFFFFF 920 DATA FFFFFFFFFFFFFFEFFFFF 930 DATA FFFFFFFFBMMMMMBCFFFF 940 DATA FFFFFFFBEEEEBDFFFFF 950 DATA FFFFFFDMFFFFDFDFFFFF 960 DATA JIJIJIJIJIJIJIJIJIJI 970 DATA GGGGGGGGGGGGGGGGGGGG 980 DATA GGGGGGGGGGGGGGGGGGGG 990 DATA GGGGGGGGGGGGGGGGGGGG 1000 DATA GGGGGGGGGGGGGGGGGGGG 1010 DATA GGGGGGGGGGGGGGGGGGGG 1020 DATA FFFFFFFFFFFFFFFFFFFF 1030 DATA FFFFFFFFFFFFFFFFFFFF 1040 DATA FFFFFFFFFFFFFFFFFFFF 1050 DATA FFFFFFFFFFFFFFFFFFFF 1060 ! L'ARSENAL 1070 DATA FFFFFFFFFFFFFFFFFFFF 1080 DATA FFFFFFFFFFFFFFFFFFFF 1090 DATA FFFFFFEEEEEEEEEEEEEF 1100 DATA FFFFFBFFFFFFFFFFFFBC 1110 DATA FFFFBEEEEEEEEEEEEBDF 1120 DATA JIJIGFFFFFFFFFFFDFDJ 1130 DATA GGGGFFFGGFFFFFFFDFFG 1140 DATA GGGGFFFGGFFFGGGFDFFG 1150 DATA FFFDFFFFFFFFGGGFDFBF 1160 DATA FFFDEEEEEEEEGGGEDBFF 1170 DATA FFFFFFFFFFEBFFBEMFFF 1180 DATA FFFFFFFFFBFFFFMBFFFF 1190 DATA FFFFFFFFBFFFFFBFFFFF 1200 DATA FFFFFFFBFFFFFBFFFFFF 1210 DATA FFFFFFBFFFFFBFFFFFFF 1220 ! LE TEMPLE 1230 DATA FGFFFFFFGGGG0FFFFFGF 1240 DATA OGONONOJGFFGINONONGN 1250 DATA FGFGFFFGGFFGGFFFGFGF 1260 DATA FGFGFFFGGGGGGFFFGFGF 1270 DATA FGFGFGGGGHKGGGGFGFGF 1280 DATA FGFGFGGHFFFFKGGFGFGF 1290 DATA FGFGFGHKGGGGHKGFGFGF 1300 DATA FGFGFGFFGFFGFFGFGFGF 1310 DATA FGFGFGFFGFFGFFGFGFGF 1320 DATA FGFGFGFFGGGGFFGFGFGF 1330 DATA FGFGFGFBFFFFAFGFGFGF 1340 DATA FGFGFGBFFFFFFAGFGFGF 1350 DATA FGFGFGFFFFFFFFGFGFGF 1360 DATA FGFGBFFFFFFFFFFAGFGF 1370 DATA FGFGFFFFFFFFFFFFGFGF 1380 ! L'ANTICHAMBRE 1390 DATA NONOEEEEEEEEEEEENONO 1400 DATA IFFJIFFFFFFFFFFJIFFJ 1410 DATA GIJGKIFFFFFFFFJHGIJG 1420 DATA GHKGFGIFFFFFFJGFGHKG 1430 DATA HFFKFGKIFFFFJHGFHFFK 1440 DATA GGGGFGFGGGGGGFGFGGGG 1450 DATA KGGHCGFGGFFGGFGDKGGH 1460 DATA FKHDFGFGGFFGGFGFCKHF 1470 DATA FJIDFGJHFFFFKIGFCJIF 1480 DATA JGGICGHFFGGFFKGDJGGI 1490 DATA GGGGJHFFNGGOFFKIGGGG 1500 DATA GFFGHFFFFGGFFFFKGFFG 1510 DATA GFFGFFFFFGGFFFFFGFFG 1520 DATA GBMGFLFFGGGGFFLFGBMG 1530 DATA GMMGFFFFFFFFFFFFGMMG 1540 ! LE COULOIR 1550 DATA FFFFFFFFFFFFFFFFFFFF 1560 DATA FFFFGGGGGGGGGGGGFFFF 1570 DATA FFFFGAFFFFFFFFBGFFFF 1580 DATA FJIFGFGGGGGGGGFGFJIF 1590 DATA FJIFGFGAFFFFBGFGFJIF 1600 DATA DFBCGFGFGGGGFGFGDFBC 1610 DATA DBFCGFGFGFFGFGFGDBFC 1620 DATA DAFCGFGFGFFGFGFGDAFC 1630 DATA DFACGFGFGGGGFGFGDFAC 1640 DATA DFBCGFGBFFFFAGFGDFBC 1650 DATA DBFCGFGGGGGGGGFGDBFC 1660 DATA DAFCGBFFFFFFFFAGDAFC 1670 DATA DFACGGGGGGGGGGGGDAFC 1680 DATA FGGBEEEEEEEEEEEEAGGF 1690 DATA FFFMFFFFFFFFFFFFMFFF 1700 ! TERRAIN 1710 DATA FFFFFFFFFFFFFFFFFFFF 1720 DATA FFFFFFFFFFFJAFFFFFFF 1730 DATA FFFFFFFFFFJGFAFFFFFF 1740 DATA FFFFFJAFFBFFFFAFFJAF 1750 DATA FFJABFFABFFFFFFABFFA 1760 DATA FBFBFFFBFFFFFFFFAFFF 1770 DATA BEBEEEEEEEEEEEEEEAEE 1780 DATA MFMFFFFFFBAFFFFFFMFF 1790 DATA FFFFFFFFBFFAFFFFFFFF 1800 DATA FFFFFFFJGGGGIFFFFFFF 1810 DATA FFFFFFBFFFFFFAFFFFFF 1820 DATA FFFFFJGGGGGGGGIFFFFF 1830 DATA FFFFBFFFFFFFFFFAFFFF 1840 DATA FFFJGGGGGGGGGGGGIFFF 1850 DATA FFBFFFFFFFFFFFFFFAFF 1860 ! L'AUTEL 1870 DATA GGHGGGGGGGGGGGGGGKGG 1880 DATA GHFGGGGGGGGGGGGGGFKG 1890 DATA HFFGGFFFFFFFFFFGGFFK 1900 DATA IFFGGFFFGFBGFFFGGFFJ 1910 DATA GIFGGFJFGBFGFIFGGFJG 1920 DATA GGIGGFGFGAFGFGFGGJGG 1930 DATA GGHGGFGFGFAGFGFGGKGG 1940 DATA GHFGGFGFGFBGFGFGGFKG 1950 DATA HFFGGFGFGBFGFGFGGFFK 1960 DATA IFFGGFGBFFFFAGFGGFFJ 1970 DATA GIFGGFGGGGGGGGFGGFJG 1980 DATA GGIGGBFFFFFFFFAGGJGG 1990 DATA GGHGGGGGGGGGGGGGGKGG 2000 DATA GHFGGGGGGGGGGGGGGFKG 2010 DATA HFFFFFFFFFFFFFFFFFFK 2020 ! LA CRYPTE 2030 DATA FGFFGGGGGGGGGGGGFFGF 2040 DATA FGFFGAFFFFFFFFBGFFGF 2050 DATA FGFFGFAEEEEEEBFGFFGF 2060 DATA FGFFGFDFFJIFDFFGFFGF 2070 DATA FGFFGFDFFJIFFGGGFFGF 2080 DATA FGFFGFDFFGGFDFFGFFGF 2090 DATA FGFFGFDEEGGEECFGFFGF 2100 DATA FGFFGFBFFFFFFAFGFFGF 2110 DATA FGFFGBFFFFFFFFAGFFGF 2120 DATA FGFFGFFFFFFFFFFGFFGF 2130 DATA FGFBFFFFJGGIFFFFAFGF 2140 DATA FGBFFFFFGGGGFFFFFAGF 2150 DATA FGFFFFFFGGGGFFFFFFGF 2160 DATA BFFFFFFFFFFFFFFFFFFA 2170 DATA FFFFFFFFFFFFFFFFFFFF 2180 ! LA CELLULE 2190 DATA GGGGGGGGGGGGGGGGGGGG 2200 DATA GGGAFFFFFFFFFFFFFGGG 2210 DATA GGGAFFFFFFFFFFFBFGGG 2220 DATA GGGFFAFFFFFFFFBFFGGG 2230 DATA GGGFFFAFFFFFFBFFFGGG 2240 DATA GGGFFFFAEEEEBFFFFGGG 2250 DATA GGGFFFFDFFFDFFFFFGGG 2260 DATA GGGFFFFDFGGDFFFFFGGG 2270 DATA GGGFFFFDFFFDFFFFFGGG 2280 DATA GGGFFFFDFFFDFFFFFGGG 2290 DATA GGGFFFFBMMMMAFFFFGGG 2300 DATA GGGFFFBFFFFFFAFFFGGG 2310 DATA GGGFFBFFFFFFFFAFFGGG 2320 DATA GGGFBFFFFFFFFFFAFGGG 2330 DATA GGGBFFFFFFFFFFFFAGGG 2340 ! CADRE IMAGE 2350 DATA PUUUUUUUUUUUUUUUUUUUUQ 2360 DATA T S 2370 DATA T S 2380 DATA T S 2390 DATA T S 2400 DATA T S 2410 DATA T S 2420 DATA T S 2430 DATA T S 2440 DATA T S 2450 DATA T S 2460 DATA T S 2470 DATA T S 2480 DATA T S 2490 DATA T S 2500 DATA T S 2510 DATA RWWWWWWWWWWWWWWWWWWWWV 2520 ! CADRE COMMENTAIRES 2530 DATA PUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUQ 2540 DATA T S 2550 DATA T S 2560 DATA RWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWV 2570 ! CADRE OBJETS 2580 DATA PUUUUUUQ 2590 DATA T S 2600 DATA T S 2610 DATA T S 2620 DATA T S 2630 DATA T S 2640 DATA T S 2650 DATA T S 2660 DATA T S 2670 DATA T S 2680 DATA T S 2690 DATA T S 2700 DATA T S 2710 DATA T S 2720 DATA T S 2730 DATA T S 2740 DATA RWWWWWWV 2750 ! LA CLEF 2760 DATA Fabf 2770 DATA FcdF 2780 DATA FefF 2790 ! LA CORDE 2800 DATA FFFF 2810 DATA FghF 2820 DATA FijF 2830 ! LE LIVRE 2840 DATA FFFF 2850 DATA FklF 2860 DATA FFFF 2870 ! LA PAGAIE 2880 DATA FcdF 2890 DATA FcdF 2900 DATA FmnF 2910 ! LE LEVIER 2920 DATA FpqF 2930 DATA FcdF 2940 DATA FcdF 2950 ! LA GRENADE 2960 DATA FFtF 2970 DATA FmnF 2980 DATA FcdF 2990 ! LE FM 3000 DATA FpqF 3010 DATA FFbF 3020 DATA FFFF 3030 ! LA CAPSULE DE GAZ 3040 DATA FcdF 3050 DATA FcdF 3060 DATA FGGF 3070 ! LE PENTACLE 3080 DATA FJIF 3090 DATA FKHF 3100 DATA FFFF 3110 !********************************** 3120 !* TABLEAU LIEU L$ * 3130 !********************************** 3140 DIM L$(26,7),OBJET$(28,3),ACTION$(22,2) 3150 DATA 1,dans la foret.,des arbres.,0,0,8,2 3160 DATA 2,dans la foret.,des arbres.,0,1,0,3 3170 DATA 3,dans la foret.,des arbres.,0,2,6,4 3180 DATA 4,dans une grotte.,des inscriptions.,0,3,5,0 3190 DATA 5,au pied des montagnes.,des roches.,4,0,9,0 3200 DATA 6,dans une clairiere.,une barricade.,3,0,10,0 3210 DATA 7,pres d'un batiment.,une porte.,26,0,0,6 3220 DATA 8,au bord d'un lac.,un radeau.,1,0,0,7 3230 DATA 9,dans la foret.,des arbres.,5,10,12,0 3240 DATA 10,dans une cour.,des gardes.,6,16,13,0 3250 DATA 11,couloir des ombres.,des gardes.,8,0,15,16 3260 DATA 12,dans une grotte.,une torche.,9,13,0,0 3270 DATA 13,dans la foret.,des arbres.,10,14,0,12 3280 DATA 14,dans la foret.,des arbres.,0,0,0,13 3290 DATA 15,sur un terrain.,un avion.,0,100,0,11 3300 DATA 16,dans l'entree du temple.,une porte.,0,11,0,10 3310 DATA 17,dans l'antichambre.,des gardes.,0,16,20,18 3320 DATA 18,peristyle du temple.,des colonnes.,0,17,19,0 3330 DATA 19,peristyle du temple.,des colonnes.,18,0,22,0 3340 DATA 20,devant l'autel.,un autel.,17,21,23,19 3350 DATA 21,dans la crypte du temple.,une pierre.,0,0,0,20 3360 DATA 22,peristyle du temple.,des colonnes,19,23,25,0 3370 DATA 23,peristyle du temple.,des colonnes.,0,24,0,22 3380 DATA 24,peristyle du temple.,des colonnes.,0,0,0,23 3390 DATA 25,devant une cellule.,gardes.,22,0,0,0 3400 DATA 26,dans l'arsenal.,des caisses,0,0,7,0 3410 RESTORE 3150:FOR I=1 TO 26:FOR J=1 TO 7:READ L$(I,J):NEXT J:NEXT I 3420 !********************************** 3430 !* TABLEAU DES OBJETS * 3440 !********************************** 3450 DATA 1,corde,-5 3460 DATA 2,clef,-4 3470 DATA 3,capsule,-26 3480 DATA 4,grenade,-26 3490 DATA 5,pagaie,-14 3500 DATA 6,fusil,-26 3510 DATA 7,pentacle,-21 3520 DATA 8,levier,-8 3530 DATA 9,livre,-2 3540 DATA 10,autel,-20 3550 DATA 11,radeau,8 3560 DATA 12,piege,-13 3570 DATA 13,avion,15 3580 DATA 14,temple,16 3590 DATA 15,nord,0 3600 DATA 16,est,0 3610 DATA 17,sud,0 3620 DATA 18,ouest,0 3630 DATA 19,porte,0 3640 DATA 20,cellule,25 3650 DATA 21,oubliette,-22 3660 DATA 22,trappe,-20 3670 DATA 23,crypte,21 3680 DATA 24,grotte,0 3690 DATA 25,gardes,0 3700 DATA 26,inscriptions,4 3710 DATA 27,escaliers,-22 3720 DATA 28,arbres,0 3730 RESTORE 3450:FOR I=1 TO 28:FOR J=1 TO 3:READ OBJET$(I,J):NEXT J:NEXT I 3740 !********************************** 3750 !* TABLEAU DES ACTIONS * 3760 !********************************** 3770 DATA 1,va 3780 DATA 2,entre 3790 DATA 3,sors 3800 DATA 4,monte 3810 DATA 5,avance 3820 DATA 6,rame 3830 DATA 7,grimpe 3840 DATA 8,examine 3850 DATA 9,observe 3860 DATA 10,regarde 3870 DATA 11,lis 3880 DATA 12,prends 3890 DATA 13,saisis 3900 DATA 14,attrape 3910 DATA 15,pose 3920 DATA 16,lache 3930 DATA 17,casse 3940 DATA 18,brise 3950 DATA 19,tire 3960 DATA 20,lance 3970 DATA 21,ouvre 3980 DATA 22,ferme 3990 RESTORE 3770:FOR I=1 TO 22:FOR J=1 TO 2:READ ACTION$(I,J):NEXT J:NEXT I 4000 ! AFFICHAGE DES CADRES 4010 RESTORE 2350:CLS "Wbb":CALL COLOR("1RB") 4020 FOR I=1 TO 17:READ X$:LOCATE (0+I,16):PRINT X$:NEXT 4030 CALL COLOR("1YB"):RESTORE 2580:FOR I=1 TO 17:READ X$:LOCATE (0+I,2) 4040 PRINT X$:NEXT 4050 RESTORE 2530:CALL COLOR("1MB"):FOR I=1 TO 4:READ X$:LOCATE (18+I,2) 4060 PRINT X$:NEXT 4070 ! DEBUT DU JEU ET ENTREE COMMANDE 4080 RESTORE 110 4090 DE=VAL(L$(3,1)) 4100 CALL COLOR("1GB") 4110 FOR I=1 TO 15:READ X$:LOCATE (1+I,17):PRINT X$:NEXT 4120 PORTETEMPLE=0:PORTECELLULE=0:TRAPPE=0:PIEGE=0:GARDET=0:GARDEC=0:NOB=0 4130 PV=800:GARDEH=0 4140 VIDE$=" " 4150 ! AFFICHAGE COMMENTAIRE 4160 LOCATE (20,3):PRINT " " 4170 LOCATE (21,3):PRINT " " 4180 CALL COLOR("0BM"):LOCATE (20,3):PRINT "vous etes ";L$(DE,2); 4190 LOCATE (21,3):PRINT "vous voyez ";L$(DE,3):PAUSE 4200 ! ENTREE DE LA COMMANDE 4210 IF PV=0 THEN 110 4220 PV=PV-10 4230 LOCATE (20,3):PRINT " " 4240 LOCATE (21,3):PRINT " " 4250 LOCATE (20,3):PRINT " " 4260 LOCATE (21,3):PRINT " " 4270 ! CALL COLOR("0BM") 4280 CALL COLOR("0YCH"):LOCATE (3,3):PRINT "POINTS" 4290 LOCATE (4,3):PRINT "POINTS" 4300 CALL COLOR("1RH") 4310 LOCATE (5,3):PRINT PV:LOCATE (6,3):PRINT PV 4320 CALL COLOR("0BM") 4330 GOSUB 4480 4340 ! APPEL SAISIE 4341 IF R$="inv" THEN CALL INV(OBJET$(,),OBJET,DE):GOSUB 4200 4342 IF R$="qui" THEN END 4350 GOSUB 5020 4360 IF ACT=1 AND OBJ=1 THEN GOTO 4380 4370 CALL ME1(PV):PAUSE 2:GOTO 4150 4380 ! BRANCHEMENT ACTION 4385 CALL SOUND 4390 A=INT(ACTION/10):B=ACTION-A*10:A=A+1:B=B+1 4400 ON A GOTO 4410,4430,4450 4410 ON B GOTO 4380,5220,5220,5220,5220,5220,5220,5220,6160,6160 4430 ON B GOTO 6160,6160,6690,6690,6690,6780,6780,6880,6880,6990 4440 GOTO 4150 4450 ON B GOTO 7130,7210,7210 4460 GOTO 4150 4470 ! SAISIE COMMANDE 4480 X=0:R$="":R1$="" 4490 SAISIE$=" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 4500 A$=KEY$ 4510 IF A$=CHR$(13)THEN 4620 4520 IF A$=CHR$(131)THEN 4570 4530 IF X=26 THEN 4500 4540 X=X+1:R1$=R1$&A$ 4550 LOCATE (20,3):PRINT R1$&CHR$(12) 4560 GOTO 4500 4570 IF X=0 THEN 4500 4580 IF X=1 THEN R$="":R1$="":X=0:GOTO 4600 4590 X=X-1:R$=SEG$(R$,1,X):R1$=SEG$(R1$,1,X) 4600 LOCATE (20,3):PRINT R1$&CHR$(12)&" " 4610 GOTO 4560 4620 IF LEN(R1$)=0 THEN 4500 4630 LOCATE (20,3):PRINT " " 4640 FOR I=1 TO LEN(R1$) 4650 A$=SEG$(R1$,I,1) 4660 TEMPO=POS(SAISIE$,A$,1) 4670 IF TEMPO=0 THEN LET TEMPO=1 4680 IF TEMPO>27 THEN TEMPO=TEMPO-26 4690 R$=R$&SEG$(SAISIE$,TEMPO,1) 4700 NEXT 4710 RETURN 4720 ! BRANCHEMENT GRAPHIQUE 4730 IF DX=0 THEN CALL ME1(PV):GOTO 4200 4740 A=INT(DX/10):B=DX-A*10:A=A+1:B=B+1 4750 ON A GOTO 4760,4780,4800 4760 ON B GOSUB 4730,4870,4870,4870,4880,4890,4900,4910,4920,4870 4770 GOTO 4820 4780 ON B GOSUB 4930,4940,4880,4870,4870,4950,4960,4970,4960,4960 4790 GOTO 4820 4800 ON B GOSUB 4980,4990,4970,4960,4960,5000 4810 GOTO 4820 4820 CALL COLOR("1"&C$&"B"):FOR I=1 TO 15:READ X$:LOCATE (1+I,17) 4830 PRINT X$:NEXT 4840 DE=DX 4850 GOTO 4150 4860 ! DATA TABLES 4870 RESTORE 110:C$="G":RETURN 4880 RESTORE 270:C$="M":RETURN 4890 RESTORE 430:C$="W":RETURN 4900 RESTORE 910:C$="G":RETURN 4910 RESTORE 1070:C$="Y":RETURN 4920 RESTORE 750:C$="b":RETURN 4930 RESTORE 590:C$="C":RETURN 4940 RESTORE 1550:C$="R":RETURN 4950 RESTORE 1710:C$="W":RETURN 4960 RESTORE 1230:C$="C":RETURN 4970 RESTORE 1390:C$="C":RETURN 4980 RESTORE 1870:C$="R":RETURN 4990 RESTORE 2030:C$="R":RETURN 5000 RESTORE 2190:C$="C":RETURN 5010 RESTORE 1070:C$="Y":RETURN 5020 ! ANALYSE DE LA COMMANDE 5030 R$=R$&CHR$(32) 5040 A=1:ACT=0:OBJ=0:VERBE$="":ATT$="" 5050 IF A>=LEN(R$)THEN 5210 5060 P=POS(R$," ",A) 5070 MOT$=SEG$(R$,A,P-A) 5080 IF MOT$=" " THEN 5190 5090 IF ACT=1 THEN 5140 5100 FOR I=1 TO 22 5110 IF MOT$=ACTION$(I,2)THEN ACT=1 5120 IF MOT$=ACTION$(I,2)THEN ACTION=VAL(ACTION$(I,1)):VERBE$=MOT$:GOTO 5190 5130 NEXT 5140 IF OBJ=1 THEN 5190 5150 FOR I=1 TO 28 5160 IF MOT$=OBJET$(I,2)THEN OBJ=1 5170 IF MOT$=OBJET$(I,2)THEN OBJET=VAL(OBJET$(I,1)):ATT$=MOT$:GOTO 5190 5180 NEXT 5190 A=P+1 5200 GOTO 5050 5210 RETURN 5220 !******DEPLACEMENT***************** 5230 IF GARDET=0 AND DE=10 THEN 5240 ELSE 5250 5240 CALL ME7(PV):GOTO 100 5250 IF GARDEH=0 AND DE=25 THEN 5260 ELSE 5280 5260 CALL ME7(PV):GOTO 100 5280 IF OUBLIETTE<>100 THEN 5300 5290 IF ACTION<>7 THEN CALL ME9(OUBLIETTE,PV):GOTO 4200 5300 IF PIEGE<>100 THEN 5320 5310 IF ACTION<>7 THEN CALL ME12(PIEGE,PV):GOTO 4200 5320 !*********ENTRER TEMPLE************ 5330 IF OBJET<>14 THEN 5400 5340 IF ACTION<>2 THEN 5400 5350 IF DE=16 THEN 5370 5360 CALL ME1(PV):GOTO 4150 5370 IF PORTETEMPLE=0 THEN CALL ME2(PV):GOTO 4200 5380 IF DE=16 THEN DX=17 5390 GOTO 4720 5400 !***********SORTIR TEMPLE********** 5410 IF OBJET<>14 THEN 5460 5420 IF DE=17 THEN 5440 5430 CALL ME1(PV):GOTO 4150 5440 DX=10 5450 GOTO 4730 5460 !********MONTER LES ESCALIERS****** 5470 IF OBJET<>27 THEN 5540 5480 IF DE=22 THEN 5500 5490 CALL ME1(PV):GOTO 4150 5500 IF OUBLIETTE=0 THEN 5510 ELSE 5530 5510 OUBLIETTE=100 5520 CALL ME3(PV,OUBLIETTE):GOTO 4200 5530 DX=25:GOTO 4730 5540 !********MONTER SUR LE RADEAU****** 5550 IF OBJET<>11 THEN 5580 5560 IF DE<>8 THEN CALL ME1(PV):GOTO 4200 5570 RADEAU=1:CALL ME10(PV):GOTO 4200 5580 !********GRIMPER******************* 5590 IF OBJET<>1 THEN 5650 5600 IF DE=22 THEN 5620 5610 CALL ME1(PV):GOTO 4200 5620 IF VAL(OBJET$(1,3))<>100 THEN CALL ME11(OBJET$(,),OBJET,PV):GOTO 4200 5630 OUBLIETTE=1 5640 DX=22:GOTO 4730 5650 !********TRAVERSER PIEGE*********** 5660 IF OBJET<>11 THEN 5710 5670 IF DE=13 THEN 5690 5680 CALL ME1(PV):GOTO 4150 5690 IF VAL(OBJET$(1,3))<>100 THEN CALL ME8(PV,PIEGE):GOTO 4150 5700 DX=13:PIEGE=1 5710 !***********RAMER****************** 5730 IF DE=8 THEN 5750 5740 GOTO 5790 5750 IF RADEAU=1 THEN 5765 5760 CALL ME4(PV):GOTO 4150 5765 IF OBJET<>18 THEN 5790 5766 OBJET=5 5770 IF VAL(OBJET$(5,3))<>100 THEN CALL ME11(OBJET$(,),OBJET,PV):GOTO 4150 5780 DX=7:GOTO 4730 5790 !*******ENTRER DANS CRYPTE********* 5800 IF OBJET<>22 THEN 5860 5810 IF ACTION<>2 THEN 3860 5820 IF DE=20 THEN 5840 5830 CALL ME1(PV):GOTO 4150 5840 IF TRAPPE=0 THEN CALL ME5(PV):GOTO 4150 5850 DX=21:GOTO 4730 5860 !******SORTIR CRYPTE*************** 5870 IF OBJET<>23 THEN 5950 5880 IF DE=21 THEN 5900 5890 CALL ME1(PV):GOTO 4150 5900 DX=20:GOTO 4730 5910 !*****CAS PARTICULIER************** 5920 IF DE<>7 THEN 5950 5930 IF OBJET<>18 THEN CALL ME1(PV) 5940 DX=6 5950 IF DE=8 AND OBJET<>15 THEN CALL ME4(PV):GOTO 4200 5960 IF DE=11 AND VAL(OBJET$(7,3))<>100 THEN CALL ME6(PV):GOTO 100 5970 IF DE=11 AND GARDEC=0 THEN CALL ME7(PV):GOTO 100 5980 IF DE=13 AND PIEGE=0 THEN CALL ME8(PV,PIEGE):GOTO 4200 5990 IF DE=16 THEN 6000 ELSE 6030 6000 IF OBJET=16 THEN GOTO 6110 6010 IF OBJET=18 THEN GOTO 6110 6020 CALL ME1(PV):GOTO 4200 6030 IF DE=17 THEN 6040 ELSE GOTO 6060 6040 IF OBJET=16 THEN CALL ME1(PV):GOTO 4200 6050 IF OBJET=15 THEN CALL ME1(PV):GOTO 4200 6060 IF DE=22 THEN 6070 ELSE GOTO 6080 6070 IF OUBLIETTE=0 THEN CALL ME3(PV,OUBLIETTE):GOTO 4200 6080 IF DE=26 THEN 6090 ELSE 6110 6090 IF OBJET<>17 THEN CALL ME1(PV) 6100 DX=7 6110 IF OBJET=15 THEN DX=VAL(L$(DE,4)):GOTO 4730 6120 IF OBJET=16 THEN DX=VAL(L$(DE,5)):GOTO 4730 6130 IF OBJET=17 THEN DX=VAL(L$(DE,6)):GOTO 4730 6140 IF OBJET=18 THEN DX=VAL(L$(DE,7)):GOTO 4730 6150 GOTO 4150 6160 !*******OBSERVATION**************** 6170 IF ACTION=11 THEN 6590 6180 FOR I=1 TO 28 6190 OBLIEU=VAL(OBJET$(I,3)) 6200 IF OBLIEU=-DE THEN 6280 6210 NEXT I 6220 FOR I=1 TO 28 6230 OBLIEU=VAL(OBJET$(I,3)) 6240 IF OBLIEU=DE THEN 6460 6250 NEXT I 6260 CALL ME13:GOTO 4200 6270 GOTO 4200 6280 N=I:OBJET$(N,3)=STR$(DE) 6290 IF N<6 THEN A$="une" 6300 IF N>=6 THEN A$="un" 6310 IF N>=19 THEN A$="une" 6320 IF N>=25 THEN A$="des" 6330 LOCATE (20,3):PRINT "L'observation vous revele" 6340 LOCATE (21,3):PRINT A$;" ";OBJET$(N,2) 6350 PAUSE 5 6360 IF VAL(OBJET$(12,3))=13 AND PIEGE=0 THEN PIEGE=1 6370 IF VAL(OBJET$(21,3))=22 AND OUBLIETTE=0 THEN OUBLIETTE=1 6380 IF N>9 THEN 6450 6390 ON N GOSUB 6480,6490,6500,6510,6520,6530,6540,6550,6560 6400 CALL COLOR("0bH"):LOCATE (8,3):PRINT "OBJETS":LOCATE (9,3):PRINT "OBJETS" 6410 CALL COLOR("1"&C$&"B") 6420 FOR I=1 TO 3:READ X$ 6430 LOCATE (12+I,4):PRINT X$:NEXT 6440 CALL COLOR("0BM"):GOTO 4200 6450 GOTO 4200 6460 N=I:LOCATE (20,3):PRINT "Il y a :" 6470 LOCATE (21,3):PRINT OBJET$(N,2):PAUSE 5:GOTO 6380 6480 RESTORE 2800:C$="Y":RETURN 6490 RESTORE 2760:C$="C":RETURN 6500 RESTORE 3040:C$="W":RETURN 6510 RESTORE 2960:C$="G":RETURN 6520 RESTORE 2880:C$="M":RETURN 6530 RESTORE 3000:C$="b":RETURN 6540 RESTORE 3080:C$="Y":RETURN 6550 RESTORE 3920:C$="C":RETURN 6560 RESTORE 2840:C$="G":RETURN 6570 GOTO 6180 6580 GOTO 6180 6590 IF DE=4 THEN 6650 6600 IF VAL(OBJET$(9,3))=100 THEN 6620 ELSE CALL ME1(PV) 6610 GOTO 4200 6620 LOCATE (20,3):PRINT "L'homme sage descendra dans" 6630 LOCATE (21,3):PRINT "le coeur du serpent":PAUSE 5 6640 GOTO 4200 6650 IF OBJET=26 THEN 6660 ELSE CALL ME1(PV):GOTO 4200 6660 LOCATE (20,3):PRINT "Ne passe pas par l'est" 6670 LOCATE (21,3):PRINT "si le serpent n'est pas avec toi":PAUSE 5 6680 GOTO 4200 6690 !******PREHENSION****************** 6700 IF OBJET>9 THEN CALL ME14:GOTO 4200 6710 IF NOB>5 THEN CALL ME16:GOTO 4200 6720 IF VAL(OBJET$(OBJET,3))<>DE THEN CALL ME15:GOTO 4200 6730 NOB=NOB+1 6740 OBJET$(OBJET,3)=STR$(100) 6750 LOCATE (20,3):PRINT "ok, vous avez pris cet objet" 6760 PAUSE 5 6770 GOTO 4200 6780 !**** POSER ET LACHER************** 6790 IF OBJET>9 THEN CALL ME1(PV) 6800 IF VAL(OBJET$(OBJET,3))=100 THEN 6820 6810 CALL ME17:GOTO 4200 6820 OBJET$(OBJET,3)=STR$(-DE) 6830 LOCATE (20,3):PRINT "Vous venez de poser cet objet" 6840 LOCATE (21,2):PRINT VIDE$ 6850 PAUSE 5 6860 NOB=NOB-1 6870 GOTO 4200 6880 !****CASSER ET BRISER************** 6890 IF DE=7 OR DE=20 THEN 6910 6900 CALL ME1(PV):GOTO 4200 6910 IF VAL(OBJET$(8,3))<>100 THEN CALL ME1(PV):GOTO 4200 6920 IF DE=20 THEN TRAPPE=1 6930 IF DE=7 THEN DX=26 6940 DE=DX 6950 CALL COLOR("1YB"):LOCATE (9,29):PRINT "FFF" 6960 LOCATE (10,29):PRINT "FFF" 6970 LOCATE (11,29):PRINT "FFF":CALL COLOR("0MB") 6980 GOTO 4150 6990 !*******TIRER********************** 7000 IF OBJET=25 THEN 7010 7010 IF DE<>11 THEN 7060 7020 IF VAL(OBJET$(6,3))<>100 THEN CALL ME18:GOTO 7050 7030 GARDEC=1:LOCATE (20,3):PRINT "Vous avez neutralise" 7040 LOCATE (21,3):PRINT "les gardes, la voie est libre":GOTO 4200 7050 CALL ME7(PV):GOTO 100 7060 IF DE<>10 AND DE<>25 THEN 7120 7070 IF VAL(OBJET$(6,3))<>100 THEN CALL ME18:GOTO 4200 7090 LOCATE (20,3):PRINT "Les coups de feu ont donnes l'alerte" 7100 LOCATE (21,3):PRINT "vous allez mourrir":PAUSE 5:GOTO 100 7110 CALL ME7(PV):GOTO 100 7120 CALL ME1(PV):GOTO 4200 7130 !*******LANCER********************* 7140 IF OBJET<>3 AND OBJET<>4 THEN 7200 7150 IF VAL(OBJET$(OBJET,3))<>100 THEN CALL ME11(OBJET$(,),OBJET,PV):GOTO 4200 7160 IF DE<>10 AND DE<>25 THEN 7200 7170 IF DE=10 AND OBJET=3 THEN CALL ME19(GARDET,OBJET$(,),OBJET):GOTO 4200 7175 IF DE=10 AND OBJET=4 THEN CALL ME7(PV):GOTO 100 7180 IF DE=25 AND OBJET=4 THEN CALL ME20(GARDEH,OBJET$(,),OBJET):GOTO 4200 7190 CALL ME1(PV):GOTO 4200 7200 CALL ME1(PV):GOTO 4200 7210 !*******OUVRIR********************* 7220 IF OBJET<>19 THEN CALL ME1(PV):GOTO 4200 7230 IF DE<>16 THEN CALL ME1(PV):GOTO 4200 7240 IF VAL(OBJET$(2,3))<>100 THEN CALL ME1(PV):GOTO 4200 7250 PORTETEMPLE=1:LOCATE (20,3):PRINT "La porte est ouverte" 7260 LOCATE (21,3):PRINT VIDE$:PAUSE 5 7270 GOTO 4200 7272 CLS:RETURN 100 7275 !*******MESSAGES*********** 7280 SUB ME1(PV) 7290 LOCATE (20,3):PRINT "Il ne se passe rien de special" 7300 LOCATE (21,3):PRINT VIDE$ 7310 PV=PV-10 7320 PAUSE 5 7330 SUBEND 7340 SUB ME2(PV) 7350 LOCATE (20,3):PRINT "La porte du temple est fermee" 7360 LOCATE (21,3):PRINT VIDE$ 7370 PV=PV-10 7380 PAUSE 5 7390 SUBEND 7400 SUB ME3(PV,OUBLIETTE) 7410 LOCATE (20,3):PRINT "Vous tombez dans une oubliette" 7420 LOCATE (21,3):PRINT "et vous perdez 100 points" 7430 PV=PV-100:OUBLIETTE=100 7440 PAUSE 5 7450 SUBEND 7460 SUB ME4(PV) 7470 LOCATE (20,3):PRINT "Vous tombez dans le lac" 7480 LOCATE (21,3):PRINT "vous perdez 100 points" 7490 PV=PV-100:RADEAU=0:PAUSE 5 7500 SUBEND 7510 SUB ME5(PV) 7520 LOCATE (20,3):PRINT "La trappe est fermee" 7530 LOCATE (21,3):PRINT "que faites-vous?" 7540 PAUSE 5 7550 SUBEND 7560 SUB ME6(PV) 7570 LOCATE (20,3):PRINT "Vous n'avez pas pris garde" 7580 LOCATE (21,3):PRINT "les forces du mal vous terrassent" 7590 PAUSE 5 7600 SUBEND 7610 SUB ME7(PV) 7620 LOCATE (20,3):PRINT "les gardes vous ont vu" 7630 LOCATE (21,3):PRINT "pas de pitie a attendre" 7640 PAUSE 5 7650 SUBEND 7660 SUB ME9(PV,OUBLIETTE) 7670 LOCATE (20,3):PRINT "Vous etes dans une oubliette" 7680 LOCATE (21,3):PRINT "que faites-vous?" 7690 PV=PV-20:OUBLIETTE=100 7700 PAUSE 5 7710 SUBEND 7720 SUB ME10(PV) 7730 LOCATE (20,3):PRINT "Vous etes sur le radeau" 7740 LOCATE (21,3):PRINT "que faites-vous?" 7750 PV=PV-10 7760 PAUSE 5 7770 SUBEND 7780 SUB ME8(PV,PIEGE) 7790 LOCATE (20,3):PRINT "Vous tombez dans un piege" 7800 LOCATE (21,3):PRINT "et vous perdez 100 points" 7810 PV=PV-100:PIEGE=100 7820 PAUSE 5 7830 SUBEND 7840 SUB ME9(OUBLIETTE,PV) 7850 LOCATE (20,3):PRINT "Vous etes dans une oubliette" 7860 LOCATE (21,3):PRINT "que faites-vous?" 7870 PV=PV-20:OUBLIETTE=100 7880 PAUSE 5 7890 SUBEND 7900 SUB ME11(OBJET$(,),OBJET,PV) 7910 LOCATE (20,3):PRINT "Vous n'avez pas" 7920 LOCATE (21,3):PRINT "de ";OBJET$(OBJET,2);" dans les mains" 7930 PV=PV-10:PAUSE 5 7940 SUBEND 7950 SUB ME12(PV,PIEGE) 7960 LOCATE (20,3):PRINT "Vous etes dans un piege" 7970 LOCATE (21,3):PRINT "que faites-vous?" 7980 PV=PV-20:PIEGE=100 7990 PAUSE 5 8000 SUBEND 8010 SUB ME13 8020 LOCATE (20,3):PRINT "Vous ne voyez rien de particulier" 8030 PRINT VIDE$ 8040 PAUSE 5 8050 SUBEND 8060 SUB ME14 8070 LOCATE (20,3):PRINT "Vous ne pouvez pas prendre" 8080 LOCATE (21,3):PRINT "cet objet" 8090 PAUSE 5 8100 SUBEND 8110 SUB ME15 8120 LOCATE (20,3):PRINT "Cet objet ne se trouve pas" 8130 LOCATE (21,3):PRINT "dans ce lieu" 8140 PAUSE 5 8150 SUBEND 8160 SUB ME16 8170 LOCATE (20,3):PRINT "Vous ne pouvez plus emporter" 8180 LOCATE (21,3):PRINT "d'autres objets" 8190 PAUSE 5 8200 SUBEND 8210 SUB ME17 8220 LOCATE (20,3):PRINT "Vous ne pouvez pas poser cet objet" 8230 LOCATE (21,3):PRINT VIDE$ 8240 PAUSE 5 8250 SUBEND 8260 SUB ME18 8270 LOCATE (20,3):PRINT "Vous n'avez pas de fusil" 8280 LOCATE (21,3):PRINT "dans les mains" 8290 PAUSE 5 8300 SUBEND 8310 SUB ME19(GARDET,OBJET$(,),OBJET) 8320 LOCATE (20,3):PRINT "Les gardes sont endormis" 8330 LOCATE (21,3):PRINT "La voie est libre" 8340 GARDET=1:OBJET$(3,3)=STR$(0):NOB=NOB-1 8350 PAUSE 5 8360 SUBEND 8370 SUB ME20(GARDEH,OBJET$(,),OBJET) 8380 LOCATE (20,3):PRINT "Les gardes ainsi que la porte" 8390 LOCATE (21,3):PRINT "sont volatilises" 8400 GARDEH=1:OBJET$(4,3)=STR$(0):NOB=NOB-1:PAUSE 5:SUBEND 8410 SUB INV(OBJET$(,),OBJET,DE) 8415 CALL COLOR("0GB"):OB$=" " 8420 FOR I=1 TO 9 8430 IF VAL(OBJET$(I,3))=100 THEN OB$=OBJET$(I,2)&" "&OB$ 8480 NEXT I 8490 IF OB$=" " THEN LOCATE (20,3):PRINT "Vous avez rien du tout":PAUSE 5:SUBEXIT 8500 LOCATE (20,3):PRINT "Vous avez:" 8505 LOCATE (21,3):PRINT OB$ 8510 PAUSE 5 8520 !I=0 8530 SUBEND 8540 SUB SOUND 8550 A$="83AF5139282726BE4452A37EE5F8ECD14DEE75E36B540E8959856F99" 8560 B$="C5D11F3ABE4654C7FEA2F8E2C05DEEB38574DD378CCF16D26D3F33E5B88D4F92FF" 8570 CALL SPEECH("L,"&A$&B$) 8580 SUBEND