1 REM ======== 2 REM Auteur : MICHEL BRASSINNE 3 REM Jeux & Strategie numero 29 - pages 44-48 4 REM Reprise : DOMINIQUE RIOUAL 5 REM Version : 1.0 du 17/12/2017 6 REM 1.1 : 16/09/2022 - Corrections avec VSC 7 REM 10 REM ======= 20 REM 25 GOSUB 3100 30 DIM N(15):DIM E(15):DIM S(15):DIM O(15):DIM V$(13):DIM O$(18):DIM L(15):DIM OB(18):DIM G$(18) 40 G$(1) = "UN ":G$(2) = "UNE ":G$(4) = "DE LA ":G$(5) = "DES ":TT=23 50 Z$ = "VOUS ETES ":LU = 20 60 DF$ = "CELA PARAIT DIFFICILE, NON ?":CF$ = "C'EST FAIT !": RA$ = "RIEN DE SPECIAL" 70 REM ---------- 80 FOR L = 1 TO 15 90 READ N(L),E(L),S(L),O(L) 100 NEXT L:L = 1 110 DATA 2,0,0,0,5,3,1,4 120 DATA 0,0,0,2,0,2,0,0 130 DATA 6,0,2,0,8,7,5,0 140 DATA 0,0,0,6,11,0,6,9 150 DATA 10,8,0,0,12,11,9,0 160 DATA 13,15,8,10,0,13,10,0 170 DATA 0,14,11,12,0,0,15,13 180 DATA 14,0,0,11 190 REM ----- 200 FOR I = 1 TO 18 210 READ OB(I): NEXT I 220 DATA 3,5,4,0,1,0,0,8,0,0,0,0,15,0,0,0,0,0 230 REM ----- 240 FOR I = 1 TO 13 250 READ V$(I): NEXT I 260 DATA "POSER","PRENDRE","OUVRIR","FERMER","FEUILLETER","FOUILLER","RAMASSER","LIRE","TOURNER","ENLEVER","REGARDER","SOULEVER","GRATTER" 270 REM -------- 280 FOR I = 1 TO 18 290 READ G$(I): NEXT I 300 DATA "UN","DE LA","UN","UNE","UNE","UN","UNE","UNE","UN","UN","UN","UN","UN","UNE","UN","UN","UNE","DES" 310 REM ------- 320 FOR I = 1 TO 18 330 READ O$(I): NEXT I 340 DATA "SQUELETTE", "MOUSSE","CALENDRIER","TRAPPE","ENTREE","COFFRET","CLEF" 341 DATA "ARMOIRE","LIVRE","PAPIER","BOUTON","COFFRE","TABLEAU","GRILLE","LINGOT" 342 DATA "UNIFORME","BOUGIE","ALLUMETTE" 350 GOTO 570 360 REM ====== 370 IF PEEK(37)<23 THEN 380 371 PRINT"> Pressez une touche": GET ENTREE$ 372 HOME:GOTO 570 380 IF AL <> 0 THEN AL = AL - 1 385 INPUT "> Action ?";A$ 390 IF A$ = "" THEN 370 395 IF A$="LUX" THEN TRICHE=1:PRINT"Tricheur !!":GOTO 370 400 IF LEN(A$) > 1 THEN 960 410 IF A$ = "N" AND N(L) > 0 THEN L = N(L): GOTO 570 420 IF A$ = "E" AND E(L) > 0 THEN L = E(L): GOTO 570 430 IF A$ = "S" AND S(L) > 0 THEN L = S(L): GOTO 570 440 IF A$ = "O" AND O(L) > 0 THEN L = O(L): GOTO 570 450 IF A$ = "I" THEN GOSUB 470:GOTO 370 455 IF A$ = "V" THEN GOSUB 3000:GOTO 370 456 IF A$ = "A" THEN GOSUB 3060:GOTO 370 460 PRINT "IMPOSSIBLE...": GOTO 370 470 REM ------- 480 TS = 0 490 PRINT "Vous transportez :" 491 PRINT "----------------" 500 FOR I = 1 TO 18 510 IF OB(I) = 50 THEN PRINT "- ";O$(I):TS = TS + 1 520 NEXT I 530 IF OB(18) = 50 THEN PRINT "(";LU;" ALLUMETTES)" 540 IF TS = 0 THEN PRINT "RIEN!" 550 RETURN 560 REM ------------------------- 570 GOSUB 640 580 IF LU = 0 THEN PRINT "VOUS N'AVEZ PLUS D'ALLUMETTE !":OB(18) = 0 585 IF TRICHE=1 THEN GOTO 600 590 IF LU = 0 OR (L > 4 AND AL = 0) THEN PRINT "IL FAIT NUIT NOIRE !": GOTO 370 600 GOSUB 920 610 GOTO 370 620 REM ------ 630 REM 640 IF TRICHE=1 THEN 645 641 IF L > 4 AND AL = 0 THEN RETURN 645 HOME 650 ON L GOSUB 670,690,710,730,750,770,790,830,860,860,880,860,860,860,900 655 PRINT 660 RETURN 670 REM CASE-#1---------- 680 PRINT Z$;"DEHORS, AU PIED D'UNE FALAISE ET VERS LE NORD "; : RETURN 690 REM CASE-#2---------- 700 PRINT Z$;"A UN CARREFOUR N-S, E-O": RETURN 710 REM CASE-#3---------- 720 PRINT Z$;"DANS UNE PIECE ASSEZ OBSCURE": RETURN 730 REM CASE-#4---------- 740 PRINT Z$;"DANS UNE PIECE POUSSIEREUSE": RETURN 750 REM CASE-#5---------- 760 PRINT Z$;"DANS UN COULOIR HUMIDE N-S": RETURN 770 REM CASE-#6---------- 780 PRINT Z$;"DANS UN PASSAGE (N.E.S)": RETURN 790 REM CASE-#7---------- 800 IF IM < 5 THEN PRINT "UN LONG COULOIR GLISSANT (E-O)":IM = IM + 1: GOTO 820 810 PRINT "C'EST UNE IMPASSE":IM = 0: GOTO 370 820 INPUT "> Action ?";A$: GOTO 800 830 REM CASE-#8---------- 840 PRINT Z$;"DANS UNE PIECE PRESQUE VIDE" 850 RETURN 860 REM CASE-#9.10.12.13.14--- 870 PRINT Z$;"DANS UN ETROIT COULOIR": RETURN 880 REM CASE-#11---------- 890 PRINT Z$;"DANS UNE PIECE (NSEO)": RETURN 900 REM CASE-#15---------- 910 PRINT Z$;"DANS UNE PIECE (NO)": RETURN 920 REM ---- 930 FOR I = 1 TO 18 940 IF OB(I) = L THEN PRINT "VOUS VOYEZ ";G$(I);" ";O$(I) 950 NEXT I 951 PRINT "________________________________________" 955 RETURN 960 REM ========== 970 V$ = "":N$ = "":T = 0:F = 0 980 GOSUB 1060 990 GOSUB 1160 1000 IF X = 0 THEN 370 1010 GOSUB 1230 1020 IF Y = 0 THEN 370 1030 GOSUB 1300 1040 GOTO 370 1050 REM ---(1).DECOUPAGE>--- 1060 IF RIGHT$(A$,1) = "S" THEN F = 1 1070 FOR I = 1 TO LEN(A$) - F 1080 B$ = MID$(A$,I,1) 1090 IF B$ = CHR$(32) OR B$ = CHR$(39) THEN T = T + 1: GOTO 1130 1100 ON T GOTO 1130,1120 1110 V$ = V$ + B$: GOTO 1130 1120 N$ = N$ + B$ 1130 NEXT I 1140 IF N$ = "" THEN PRINT "OUI, MAIS QUOI ?" 1150 RETURN 1160 REM --(2).VERIF-VERBE>-- 1170 X = 0 1180 FOR I = 1 TO 13 1190 IF V$ = V$(I) THEN X = I 1200 NEXT I 1210 IF X = 0 THEN PRINT "JE NE SAIS PAS '";V$;"'" 1220 RETURN 1230 REM --(3).VERIF-NOM>-- 1240 Y = 0 1250 FOR I = 1 TO 18 1260 IF N$ = O$(I) THEN Y = I 1270 NEXT I 1280 IF Y = 0 THEN PRINT "IL N'Y A PAS DE '";N$;"'" 1290 RETURN 1300 REM -- 1310 ON X GOSUB 1330,1410,1530,1650,1710,1770,1820,1840,1910,1960,2030,2210,2300 1320 RETURN 1330 REM ---------- 1340 IF Y <> 6 THEN GOTO 1380 1350 IF Y = 6 THEN PRINT "OU "; : INPUT R$ 1360 IF R$ = "DANS LE COFFRE" THEN PRINT "OK":TF = TF - 10 1370 IF TF < 3 THEN OB(14) = 0:S(2) = 1 1380 IF OB(Y) <> 50 THEN PRINT "VOUS N'AVEZ PAS CET OBJET ! ": GOTO 1400 1390 IF OB(Y) = 50 THEN PRINT O$(Y);" EST POSE ":OB(Y) = L 1400 RETURN 1410 REM ---------- 1420 IF TS > 5 THEN PRINT "VOUS ETES TROP CHARGE": RETURN 1430 IF Y = 1 OR Y = 4 OR Y = 5 OR Y = 8 OR Y = 11 OR Y = 12 THEN PRINT DF$: GOTO 1520 1440 IF Y <> 15 THEN 1490 1450 IF Y = 15 THEN PRINT "COMBIEN ?": INPUT C$ 1460 IF VAL (C$) > 20 THEN PRINT "C'EST TROP": GOTO 1450 1470 TF = TF + VAL (C$) 1480 IF VAL (C$) > 3 THEN OB(14) = 2:S(2) = 0 1490 IF OB(Y) = L THEN PRINT "C 'EST FAIT !":OB(Y) = 50: GOTO 1520 1500 IF OB(Y) = 50 THEN PRINT " VOUS L'AVEZ DEJA !": GOTO 1520 1510 PRINT "JE NE VOIS PAS DE '";N$;" ICI !" 1520 RETURN 1530 REM --------- 1540 IF Y = 1 OR Y = 2 OR Y = 5 OR Y = 7 OR Y = 11 THEN PRINT DF$: GOTO 1520 1550 IF Y = 3 THEN PRINT "VOUS VOYEZ DU CARTON !": GOTO 1640 1560 IF Y = 4 AND OB(6) < > 50 THEN PRINT "CLIC ! IL Y A UN COFFRET DE PLOMB A L'INTERIEUR !!":TF = TF + 1:OB(6) = 5: GOTO 1640 1570 IF Y = 6 THEN PRINT "IL Y A UNE CLEF A L'INTERIEUR !!" :OB(7) = 5: GOTO 1640 1580 IF Y = 8 THEN PRINT "CLIC ! IL Y A UN LIVRE A L'INTERIEUR !!":TF = TF + 1:OB(9) = 8:GOTO 1640 1590 IF Y = 14 THEN PRINT "CLIC ! UNE TRAPPE S'OUVRE SOUS VOS PIEDS...BONJOUR L'AU-DELA ! ": PRINT : PRINT : PRINT : END 1600 IF Y = 9 THEN PRINT "OUI, A QUELLE PAGE..!": GOTO 1640 1610 IF Y = 10 THEN PRINT "IL EST OUVERT": GOTO 1640 1620 IF BT = 0 AND Y = 12 THEN PRINT "BONNE IDEE, COMMENT FAITES-VOUS ?": GOTO 1640 1630 IF BT = 1 AND Y = 12 THEN PRINT "CLIC ! IL S'OUVRE...IL EST REMPLI DE LINGOTS D'OR ?":TF = TF + 1:OB(15) = L 1640 RETURN 1650 REM ---------- 1660 IF Y = 1 OR Y = 2 OR Y = 3 OR Y = 5 OR Y = 7 OR Y = 11 THEN PRINT DF$: GOTO 1700 1670 IF Y = 6 OR Y = 9 OR Y = 10 THEN PRINT CF$: GOTO 1700 1680 IF Y = 12 THEN OV = 0 1690 IF Y = 4 OR Y = 8 OR Y = 12 THEN PRINT CF$:TF = TF - 1 1700 RETURN 1710 REM -------- 1720 IF Y = 3 THEN PRINT "LES DATES DEFILENT...": GOTO 1760 1730 IF Y = 9 AND FL = 0 THEN PRINT "UN PAPIER TOMBE":OB(10) = 8 :FL = 1: GOTO 1760 1740 IF Y = 9 AND FL = 1 THEN PRINT "IL EST VIDE": GOTO 1760 1750 PRINT DF$ 1760 RETURN 1770 REM -------- 1780 IF Y = 12 THEN OB(15) = L: GOTO 2190 1790 IF Y = 16 THEN PRINT "DANS LA POCHE, IL Y A DES ALLUMETTES":OB(18) = 3: GOTO 1810 1800 PRINT RA$ 1810 RETURN 1820 REM -------- 1830 GOTO 1410 1840 REM ------------ 1850 IF Y = 1 OR Y = 2 OR Y = 4 OR Y = 5 OR Y = 6 OR Y = 7 OR Y = 8 OR Y = 12 THEN PRINT DF$: GOTO 1900 1860 IF Y = 3 THEN PRINT "VOUS LISEZ...25 JUILLET 1944": GOTO 1900 1870 IF Y = 9 THEN PRINT "VOUS LISEZ...IL ETAIT UNE FOIS...": PRINT : FOR I = 1 TO 600: U = INT(RND(1)*36)+54: PRINT CHR$(U);: NEXT I: GOTO 1900 1880 IF Y = 10 THEN PRINT "VOUS LISEZ...U40.W25.U12": GOTO 1900 1890 IF Y = 11 THEN PRINT "IL EST EN POSITION ";TT 1900 RETURN 1910 REM -------- 1920 IF Y = 1 OR Y = 2 OR Y = 4 OR Y = 5 OR Y = 8 OR Y = 12 THEN PRINT DF$: GOTO 1950 1930 IF Y = 3 OR Y = 6 OR Y = 7 OR Y = 9 OR Y = 10 THEN PRINT RA$: GOTO 1950 1940 IF Y = 11 THEN GOTO 2330 1950 RETURN 1960 REM -------- 1970 IF Y = 1 OR Y = 4 OR Y = 5 OR Y = 8 OR Y = 11 OR Y = 12 THEN PRINT DF$: GOTO 2020 1980 IF Y = 6 OR Y = 7 OR Y = 9 OR Y = 10 THEN PRINT CF$: PRINT RA$: GOTO 2020 1990 IF Y = 2 AND TA = 0 THEN PRINT "UNE TRAPPE APPARAIT...":TA = 1:OB(4) = 5: GOTO 2020 2000 IF Y = 2 AND TA = 1 THEN PRINT "IL N'Y A RIEN D'AUTRE": GOTO 2020 2010 IF Y = 13 THEN GOTO 2280 2020 RETURN 2030 REM ------- 2040 IF Y = 1 THEN PRINT "IL A UN UNIFORME VERT":OB(16) = 3 :OB(18) = 3: GOTO 2200 2050 IF Y = 2 THEN PRINT "ELLE EST BIEN VERTE": GOTO 2200 2060 IF Y = 3 THEN GOTO 1840 2070 IF Y = 4 THEN PRINT "C'EST UNE TRAPPE NORMALE": GOTO 2200 2080 IF Y = 5 THEN PRINT "ELLE PARAIT DATER D'IL Y A 40 ANS": GOTO 2200 2090 IF Y = 6 THEN PRINT "IL N'EST PAS FERME": GOTO 2200 2100 IF Y = 7 THEN PRINT RA$: GOTO 2200 2110 IF Y = 8 THEN PRINT "ELLE A DEUX PORTES": GOTO 2200 2120 IF Y = 9 THEN PRINT "LES COFFRES HYDRAULIQUES PAR LEON SHMURZ": GOTO 2200 2130 IF Y = 10 THEN GOTO 1880 2140 IF Y = 11 THEN GOTO 1840 2150 IF Y = 12 AND OV = 0 THEN PRINT "IL EST MUNI D'UN BOUTON": GOTO 2200 2160 IF Y = 13 THEN PRINT "IL REPRESENTE UN MILITAIRE": GOTO 2200 2170 IF Y = 14 THEN PRINT "ELLE EST ENORME. C-EST ECRIT 'LING.>3 = MORT'": GOTO 2200 2180 IF Y = 16 THEN PRINT "IL EST TOUT MITE":OB(18) = 3: GOTO 2200 2190 IF Y = 12 AND OV = 1 THEN PRINT "IL EST REMPLI DE LINGOTS D'OR": GOTO 2200 2200 RETURN 2210 REM ------- 2220 IF Y = 5 OR Y = 8 OR Y = 11 OR Y = 12 THEN PRINT DF$: GOTO 2290 2230 IF Y = 3 OR Y = 6 OR Y = 9 THEN PRINT RA$: GOTO 2290 2240 IF Y = 1 THEN PRINT "IL S'ECROULE": GOTO 2290 2250 IF Y = 2 THEN GOTO 1960 2260 IF Y = 4 THEN GOTO 1530 2270 IF Y = 7 OR Y = 10 THEN PRINT "BEL EFFORT !": GOTO 2290 2280 IF Y = 13 THEN PRINT "IL Y A UN COFFRE DERRIERE":OB(11) = 15:OB(12) = 15: GOTO 2290 2290 RETURN 2300 REM ---------- 2310 IF OB(18) = 50 AND LU > 0 THEN LU = LU - 1:AL = 5: PRINT "SCRRITCH, LA LUMIERE FUSE": RETURN 2320 PRINT "VOUS N'EN AVEZ PAS " : RETURN 2330 REM OUVERTURE COFFRE 2340 FOR I = 1 TO 5 2350 INPUT "DANS QUEL SENS (D OU G) ->";S$ 2360 IF S$ = "G" THEN SG = - 1: GOTO 2380 2370 SG = 1 2380 INPUT "DE COMBIEN DE CRANS ? ->";CR 2390 TT = TT + (CR * SG): PRINT " BOUTON EN POSITION ";TT 2400 IF TT = 0 THEN GOTO 2340 2410 IF TT = 37 AND I = 3 THEN GOTO 2430 2420 NEXT I 2430 IF TT = 37 THEN PRINT "CLIC ! LE COFFRE S'OUVRE":OV = 1:OB(15) = L: TF = TF + 1: GOTO 370 2440 PRINT "CA NE S'OUVRE PAS" 2450 INPUT "RECOMMENCER ? (O/N) ";R$ 2460 IF R$ = "N" THEN GOTO 1950 2470 GOTO 2340 3000 REM -------- 3005 PRINT:PRINT "Vocabulaire :" 3006 PRINT "-----------" 3008 K=0 3010 FOR I = 1 TO 13 3015 IF K=1 THEN PRINT TAB(15);V$(I):GOTO 3025 3020 PRINT V$(I); 3025 K=1-K 3030 NEXT I 3035 PRINT:PRINT "Aide : A" 3040 PRINT 3050 RETURN 3059 REM --------- 3060 PRINT "Entrer une phrase :" 3070 PRINT "
" 3075 PRINT "Se diriger : N S E O" 3080 PRINT "Inventaire : I Vocabulaire : V" 3085 PRINT 3090 RETURN 3100 REM ================== 3105 TEXT:HOME 3110 TITRE$="MISSION AVENTURE" 3120 LTITRE=LEN(TITRE$) 3130 XMIN=20-INT(LTITRE/2) 3140 Y=7 3150 FOR I=1 TO LTITRE 3160 C$=MID$(TITRE$,I,1) 3170 IF I/2 = INT(I/2) THEN GOTO 3240 3180 FOR J=1 TO Y 3190 HTAB XMIN+I:VTAB J : PRINT C$ 3200 GOSUB 3400 3210 IF J < Y THEN HTAB XMIN+I:VTAB J:PRINT CHR$(32) 3220 NEXT J 3230 GOTO 3300 3240 FOR J=22 TO Y STEP -1 3250 HTAB XMIN+I:VTAB J : PRINT C$ 3260 GOSUB 3400 3270 IF J > Y THEN HTAB XMIN+I:VTAB J:PRINT CHR$(32) 3280 NEXT J 3300 NEXT I 3310 HTAB XMIN+1:VTAB Y:FLASH:PRINT TITRE$:NORMAL 3320 VTAB Y+5 3325 PRINT "J&S n29 Oct.1984 ** MICHEL BRASSINNE **" 3327 PRINT "Adapte par Dominique Rioual - 2017" 3328 PRINT "_______________________________________" 3330 PRINT "Vous vous promenez dans la montagne," 3340 PRINT "les mains dans les poches. L'ete a ete" 3350 PRINT "sec et quelques arbres sont morts. L'un" 3360 PRINT "d'eux laisse entrevoir l'entree d'une" 3370 PRINT "grotte." 3375 PRINT "Vous decidez de vous y aventurer..." 3380 PRINT : PRINT : PRINT "APPUYER SUR UNE TOUCHE POUR COMMENCER"; 3385 GET C$ 3390 RETURN 3400 REM -------- 3410 FOR K=1 TO 20:NEXT K 3420 RETURN