1 REM Le chateau enchante, Version 1.0 2 REM (c) 1984 *** by Walkowiak 3 REM Adaptation par Dominique Rioual - 2017 4 REM 16/09/2022 - Corrections sous VSC 10 TEXT:HOME 20 FLASH:PRINT"INITIALISATION...":NORMAL 150 AR=26:AO=45:AV=9:AF=3 155 D$=CHR$(4):REM ENTREE-SORTIE AVEC LE DOS 160 JOUEUR=9 165 DEBUG=0 170 WL=4 190 DIM LIEU$(AR):DIM PASSAGE(AR,6):DIM OB$(AO):DIM NOM$(AO):DIM OB(AO):DIM VERB$(AV) 195 DIM M$(10):DIM DDIRECT$(6):DIM FL(3) 200 REM ************************* VERBE N 210 DATA "EXAMINE" 211 DATA "PRENDS" 212 DATA "LIRE" 213 DATA "OUVRE" 214 DATA "DETRUIS" 215 DATA "UTILISE" 216 DATA "REMPLIS" 217 DATA "POSE" 218 DATA "REVEILLE" 300 REM ******************* OBJETS 301 DATA "des etageres de livres innombrables","ETAGERES",1 302 DATA "une table","TABLE",1 303 DATA "mon Maitre","MAITRE",2 304 DATA "un grand pot","POT",3 305 DATA "une bouteille","BOUTEILLE",0 306 DATA "la fontaine du chateau","FONTAINE",4 307 DATA "un livre","LIVRE",0 308 DATA "des gardiens endormis","GARDIENS",5 309 DATA "le palan du pont-levis","PALAN",5 310 DATA "des habitants du chateau","HABITANTS",8 311 DATA "mes invites","INVITES",8 312 DATA "un papier","PAPIER",0 313 DATA "une table de cuisine","TABLE",3 314 DATA "un couteau de boucher","COUTEAU",0 315 DATA "une arbalete","ARBALETE",5 316 DATA "une clef","CLEF",0 317 DATA "une lourde porte d'acier","PORTE",6 318 DATA "un pont-levis","PONT-LEVIS",7 319 DATA "","",0 320 DATA "","",0 321 DATA "des arbres","ARBRES",12 322 DATA "arbres","",13 323 DATA "plusieurs etageres pleines","ETAGERES",14 324 DATA "","",0 325 DATA "des arbres","ARBRES",15 326 DATA "arbres","",16 327 DATA "arbres","",17 328 DATA "une grande pie","PIE",17 329 DATA "une entree de grotte","GROTTE",18 330 DATA "du metal dore brillant","METAL",19 331 DATA "une vieille armure","ARMURE",0 332 DATA "rien de special",,21 333 DATA "un marais","MARAIS",0 334 DATA "boue","BOUE",23 335 DATA "des oeufs de serpent","OEUFS",26 336 DATA "un sol trompeur","SOL",23 337 DATA "une eau petillante","EAU",24 338 DATA "une douve","DOUVE",10 339 DATA "rien de special",,20 340 DATA "des toiles d'araignee","TOILES",0 341 DATA "une bouteille d'eau bleue","BOUTEILLE",0 342 DATA "","",0 343 DATA "une fosse a serpents","FOSSE",22 344 DATA "des serpents","SERPENTS",26 345 DATA "un autel de pierre","AUTEL",25 500 REM ************* DESCRIPTIONS DE LIEUX 501 DATA "dans la bibliotheque du chateau",0,3,0,2,0,0 502 DATA "dans la salle d'etude",0,0,1,0,0,0 503 DATA "dans la cuisine",1,8,0,4,0,0 504 DATA "dans la cour du chateau",0,8,3,6,0,0 505 DATA "dans l'une des tours de guet",0,0,0,0,0,11 506 DATA "dans la cour du chateau",11,0,4,0,0,0 507 DATA "devant le pont-levis",0,0,6,0,0,0 508 DATA "dans la grande salle des fetes",4,8,3,9,0,0 509 DATA "dans un appartement prive",9,9,8,0,0,0 510 DATA "sur un pont-levis",0,0,7,12,0,0 511 DATA "dans la cour du chateau",0,6,0,0,5,0 512 DATA "sur un chemin forestier",12,16,10,13,0,0 513 DATA "dans la foret enchantee",21,17,12,15,0,0 514 DATA "dans une grotte sombre",0,18,14,0,0,0 515 DATA "dans la foret",15,15,15,16,0,0 516 DATA "dans la foret enchantee",12,21,15,17,0,0 517 DATA "dans la foret enchantee",13,22,16,18,0,0 518 DATA "au pied d'une montagne",14,0,17,19,0,0 519 DATA "dans une grotte sombre",25,0,18,19,0,0 520 DATA "dans un chateau",20,20,20,21,0,0 521 DATA "dans la foret",16,21,20,21,0,0 522 DATA "dans le marais",17,0,0,23,0,0 523 DATA "dans le marais",0,0,22,24,0,0 524 DATA "dans une source",23,24,0,23,0,0 525 DATA "dans une grotte sombre",25,19,25,14,14,0 526 DATA "dans la fosse a serpents",0,0,0,0,22,0 600 M$(0)="Je ne comprends pas ce que tu veux dire !" 601 M$(1)="Je ne vois rien de special." 602 M$(2)="Je ne suis pas si fort !" 603 M$(3)="Ils semblent dormir profondement." 604 M$(4)="Cela me semble peu utile." 605 M$(6)="La pie m'a vole quelque chose" 606 M$(7)="Il y a la une vieille armure." 607 M$(8)="Il tient un papier dans sa main." 609 M$(9)="Il y a une clef dans une poche" 610 M$(10)="Une inscription dit: Accepte notre sacrifice et sois nous misericordieux." 690 OK$="D'accord!" 699 REM *********** ici eventuellement second titre 800 FOR I=1 TO AV 810 READ VERB$(I):VERB$(I)=LEFT$(VERB$(I),WL) 820 NEXT I 830 FOR OBJET=1 TO AO 840 READ OB$(OBJET),NOM$(OBJET),OB(OBJET):NOM$(OBJET)=LEFT$(NOM$(OBJET),WL) 845 NEXT OBJET 850 FOR LIEU=1 TO AR:READ LIEU$(LIEU) 860 FOR DDIRECT=1 TO 6:READ PASSAGE(LIEU,DDIRECT) 870 NEXT DDIRECT 875 NEXT LIEU 880 HOME:PRINT TAB(11);"Le Chateau Enchante" 881 PRINT TAB(11);"===================" 882 PRINT:PRINT:PRINT "Jeu d'aventure de Jorg Walkowiak (1984)" 883 PRINT "Adapte par Dominique Rioual (2017)" 884 PRINT:PRINT:PRINT:INPUT"Voulez-vous des conseils ?";ENTREE$ 885 TEXT:HOME 890 IF LEFT$(ENTREE$,1)="O"THEN GOSUB 900 895 GOTO 1000 900 TEXT:HOME 910 PRINT"CPC-Ventures --- 1984 by Jorg Walkowiak":PRINT 920 FOR I=1 TO 40:PRINT "_";:NEXT I:PRINT:PRINT 921 PRINT"Imaginez un robot que vous pourriez":PRINT "commander avec de nombreux ordres." 930 PRINT"Je suis ce robot et je vais me soumettrepour vous aux aventures les plus":PRINT "perilleuses." 940 PRINT"Pour que vous puissiez me commander":PRINT "utilement, je vous decrirai chaque fois":PRINT "la situation dans laquelle je me trouve." 950 PRINT"Vous me direz ensuite avec deux mots":PRINT "comme par exemple PRENDS COUTEAU ce que":PRINT "je dois faire.":PRINT 960 PRINT"Je comprends en outre les instructions":PRINT "INVENTAIRE, SAVE, LOAD et FIN." 970 FOR I=1 TO 40:PRINT "_";:NEXT I:PRINT 975 PRINT TAB(8);"Frapper ";:PRINT 980 GET ENTREE$ 985 RETURN 990 TEXT:HOME 1000 LIGNEVIDE$=" " 1010 DATA "le nord","le sud","l'ouest","l'est","en haut","en bas" 1020 FOR DDIRECT=1 TO 6 1030 READ DDIRECT$(DDIRECT) 1040 NEXT DDIRECT 1070 HOME 1080 PRINT:PRINT 1090 HTAB 1:VTAB 1 1100 FOR LL=1 TO 10 1110 PRINT LIGNEVIDE$; 1120 NEXT LL 1130 HTAB 1:VTAB 1 1140 PRINT"Je suis "; 1150 PRINT LIEU$(JOUEUR);:PRINT"." 1155 IF DEBUG=1 THEN DEBUG$="____________ L="+STR$(JOUEUR) 1160 PRINT"Je vois ";:IMPRIME=0 1170 FOR I=1 TO AO 1180 IF OB(I)<>JOUEUR THEN 1210 1185 IF DEBUG=1 THEN DEBUG$=DEBUG$+" O="+STR$(I) 1190 IF PEEK(36)+LEN(OB$(I))+2<=39 THEN PRINT OB$(I);", ";:GOTO 1205 1200 IF PEEK(36)+LEN(OB$(I))+2>39 THEN PRINT:GOTO 1190 1205 IMPRIME=-1 1210 NEXT I 1215 IF NOT IMPRIME THEN PRINT "rien de special "; 1220 PRINT CHR$(8);CHR$(8);"." 1230 PRINT LIGNEVIDE$ 1240 PRINT"Je peux aller vers ";:IMPRIME=0 1250 FOR DDIRECT=1 TO 6 1260 IF PASSAGE(JOUEUR,DDIRECT)=0 THEN GOTO 1300 1265 IMPRIME=-1 1270 IF PEEK(36)=19 THEN PRINT DDIRECT$(DDIRECT);:GOTO 1300 1280 IF PEEK(36)+LEN(DDIRECT$(DDIRECT))<37 THEN PRINT", ";DDIRECT$(DDIRECT);:GOTO 1300 1290 PRINT", ":PRINT DDIRECT$(DDIRECT);:GOTO 1300 1300 NEXT DDIRECT 1310 IF IMPRIME=0 THEN PRINT"nulle part "; 1320 PRINT"." 1325 IF DEBUG=1 THEN PRINT DEBUG$:GOTO 1340 1330 FOR I=1 TO 40:PRINT "_";:NEXT I:PRINT 1340 IF JOUEUR=25 THEN GOSUB 14000 1390 HTAB 1:VTAB 24:INPUT"Que dois-je faire ?";ENTREE$ 1392 IF JOUEUR=17 THEN GOSUB 13000 1394 IF JOUEUR=13 THEN GOSUB 15100 1396 IF JOUEUR=15 THEN GOSUB 15200 1400 IF LEN(ENTREE$)>2 THEN 1500 1410 IF ENTREE$="N" AND PASSAGE(JOUEUR,1)<>0 THEN JOUEUR=PASSAGE(JOUEUR,1):PRINT OK$:GOTO 1080 1420 IF ENTREE$="S" AND PASSAGE(JOUEUR,2)<>0 THEN JOUEUR=PASSAGE(JOUEUR,2):PRINT OK$:GOTO 1080 1430 IF ENTREE$="O" AND PASSAGE(JOUEUR,3)<>0 THEN JOUEUR=PASSAGE(JOUEUR,3):PRINT OK$:GOTO 1080 1440 IF ENTREE$="E" AND PASSAGE(JOUEUR,4)<>0 THEN JOUEUR=PASSAGE(JOUEUR,4):PRINT OK$:GOTO 1080 1450 IF ENTREE$="H" AND PASSAGE(JOUEUR,5)<>0 THEN JOUEUR=PASSAGE(JOUEUR,5):PRINT OK$:GOTO 1080 1460 IF ENTREE$="B" AND PASSAGE(JOUEUR,6)<>0 THEN JOUEUR=PASSAGE(JOUEUR,6):PRINT OK$:GOTO 1080 1470 IF LEN(ENTREE$)<3 THEN PRINT"Aucun chemin n'y mene ! ":GOTO 1080 1480 IF LEN(ENTREE$)>8 THEN GOTO 2000 1499 REM **************** DEBUT INVENTAIRE 1500 IF LEFT$(ENTREE$,3)<>"INV" THEN GOTO 1600 1510 PRINT"Je porte sur moi:" 1520 FOR OBJET=1 TO AO 1530 IF OB(OBJET)=-1 THEN PRINT "- ";OB$(OBJET) 1540 NEXT OBJET 1550 GOTO 1080 1560 REM **************** FIN INVENTAIRE 1600 IF LEFT$(ENTREE$,3)<>"SAV" THEN GOTO 1700 1610 INPUT "Sauvegarder sous quel nom ?"; ENTREE$ 1620 IF LEN(ENTREE$)>8 THEN PRINT"Pas plus de 8 characteres SVP !":GOTO 1610 1625 ENTREE$=ENTREE$+".JEU":PRINT D$;"OPEN ";ENTREE$:PRINT D$;"WRITE ";ENTREE$ 1630 PRINT JOUEUR 1640 FOR OBJET=1 TO AO 1650 PRINT OB(OBJET) 1660 NEXT OBJET 1670 FOR LIEU=1 TO AR:FOR DDIRECT=1 TO 6:PRINT PASSAGE(LIEU,DDIRECT):NEXT DDIRECT:NEXT LIEU 1680 FOR FLAG=1 TO AF:PRINT FL(FLAG):NEXT FLAG 1690 PRINT D$;"CLOSE ";ENTREE$ 1695 PRINT OK$:GOTO 1080 1700 IF LEFT$(ENTREE$,3)<>"LOA" THEN GOTO 1900 1710 INPUT"Quel jeu faut-il charger ";ENTREE$ 1720 IF LEN(ENTREE$)>8 THEN PRINT"Pas plus de 8 characteres SVP !":GOTO 1710 1725 ENTREE$=ENTREE$+".JEU":PRINT D$;"OPEN ";ENTREE$:PRINT D$;"READ ";ENTREE$ 1730 INPUT JOUEUR 1740 FOR OBJET=1 TO AO:INPUT OB(OBJET):NEXT OBJET 1750 FOR LIEU=1 TO AR:FOR DDIRECT=1 TO 6:INPUT PASSAGE(LIEU,DDIRECT):NEXT DDIRECT:NEXT LIEU 1760 FOR FLAG=1 TO AF:INPUT FL(FLAG):NEXT FLAG 1770 PRINT D$;"CLOSE ";ENTREE$ 1775 PRINT OK$:GOTO 1080 1900 IF LEFT$(ENTREE$,3)<>"INS" THEN GOTO 1950 1910 GOSUB 900:GOTO 1080 1950 IF LEFT$(ENTREE$,3)<>"FIN" THEN GOTO 1970 1960 PRINT:PRINT"Nous vous souhaitons plus de succes la":PRINT"prochaine fois.":PRINT:PRINT:PRINT:END 1970 IF LEFT$(ENTREE$,3)<>"VOC" THEN GOTO 1990 1980 GOSUB 17000: GOTO 1080 1990 IF LEFT$(ENTREE$,3)<>"DEB" THEN GOTO 2000 1995 PRINT "Mode DEBUG ON":DEBUG=1:GOTO 1080 2000 LG=LEN(ENTREE$) 2010 FOR LTRE=1 TO LG 2020 TESTE$=MID$(ENTREE$,LTRE,1) 2030 IF TESTE$<>" "THEN NEXT LTRE 2040 EVERB$=LEFT$(ENTREE$,WL) 2050 RL=LG-LTRE 2060 IF RL<0 THEN 2090 2070 EOBJET$=RIGHT$(ENTREE$,RL) 2080 EOBJET$=LEFT$(EOBJET$,WL) 2090 FOR VERBNUMBER=1 TO AV 2100 IF EVERB$=VERB$(VERBNUMBER) THEN 2130 2110 NEXT VERBNUMBER 2120 PRINT"Je ne comprends pas ce verbe.":GOTO 1080 2130 FOR OO=1 TO AO 2140 IF EOBJET$=NOM$(OO) THEN 2200 2150 NEXT OO 2160 PRINT"Je ne connais pas cet objet.":GOTO 1080 2200 ON VERBNUMBER GOTO 5000,6000,7000,8000,9000,10000,11000,12000,16000 4500 HOME:REM JOUEUR MORT 4510 PRINT"Meme cela ! ":PRINT:PRINT M$(0) 4520 PRINT:PRINT"Je suis mort !":PRINT 4530 INPUT"Dois-je essayer encore une fois ?";ENTREE$ 4540 IF LEFT$(ENTREE$,1)="O" THEN CLEAR:RESTORE:GOTO 1 4550 GOTO 1960 4800 HOME:REM JOUEUR GAGNE 4810 PRINT"Toutes nos felicitations !" 4820 PRINT:PRINT"Vous avez resolu la tache qui vous etait":PRINT"confiee et vous pouvez maintenant tenter":PRINT"une autre aventure." 4830 PRINT:PRINT:PRINT:PRINT:END 5000 IF OB(OO)<>JOUEUR AND OB(OO)<>-1 THEN GOTO 5900 5001 IF OO=16 AND JOUEUR=20 AND OB(31)<>-1 AND OB(40)<>-1 THEN PRINT M$(7):OB(31)=20:OB(40)=20:GOTO 1080 5002 IF OO=10 AND JOUEUR=8 THEN PRINT M$(3):GOTO 1080 5003 IF OO=11 AND JOUEUR=7 THEN PRINT M$(3):GOTO 1080 5004 IF OO=4 AND(JOUEUR=3 OR OB(4)=-1) THEN PRINT M$(1):GOTO 1080 5005 IF OO=5 AND(JOUEUR=3 OR OB(OO)=-1) THEN PRINT M$(1):GOTO 1080 5006 IF OO=1 AND JOUEUR=1 THEN PRINT M$(1):GOTO 1080 5008 IF OO=3 AND JOUEUR=2 AND OB(12)=0 THEN PRINT M$(1):GOTO 1080 5009 IF OO=3 AND JOUEUR=2 THEN PRINT M$(1):GOTO 1080 5010 IF OO=6 AND OB(5)=0 THEN PRINT"Une bouteille flotte sur l'eau.":OB(5)=JOUEUR:GOTO 1080 5011 IF OO=7 AND(JOUEUR=1 OR OB(OO)=-1) THEN PRINT"C'est un livre sur les potions magiques.":GOTO 1080 5012 IF OO=8 AND JOUEUR=5 AND OB(16)=0 THEN PRINT M$(9):OB(16)=JOUEUR:GOTO 1080 5013 IF OO=9 AND NOT FL(1) THEN PRINT M$(1):GOTO 1080 5014 IF OO=9 AND FL(1) AND JOUEUR=5 THEN PRINT"Il est hors d'usage.":GOTO 1080 5015 IF OO=12 AND OB(12)=-1 THEN PRINT"Il y a une inscription dessus.":OB(16)=JOUEUR:GOTO 1080 5016 IF OO=12 AND OB(12)=2 THEN PRINT"Pour cela, il faut d'abord que je le prenne":GOTO 1080 5017 IF OO=13 AND OB(14)=0 THEN PRINT"Il y a un couteau sur la table.":OB(14)=3:GOTO 1080 5018 IF OO=2 AND(OB(7)=1 OR OB(7)=0) THEN PRINT"Il y a un vieux livre dessus.":OB(7)=1:GOTO 1080 5019 IF OO=14 AND(OB(14)=JOUEUR OR OB(14)=-1) THEN PRINT"La sonnette est tres aigue.":GOTO 1080 5020 IF OO=15 AND(OB(OO)=JOUEUR OR OB(OO)=-1) THEN PRINT M$(1):GOTO 1080 5021 IF OO=16 AND(OB(16)=-1 OR OB(16)=JOUEUR) THEN PRINT M$(1):GOTO 1080 5022 IF OO=17 AND JOUEUR=6 AND FL(3)<>-1 THEN PRINT"Elle est fermee.":GOTO 1080 5023 IF OO=17 AND JOUEUR=6 AND FL(3)=-1 THEN PRINT"Elle est grande ouverte.":GOTO 1080 5024 IF OO=18 AND JOUEUR=7 AND FL(1) THEN PRINT"Le pont-levis s'abaisse.":PASSAGE(7,4)=10:GOTO 1080 5025 IF OO=18 AND JOUEUR=7 AND NOT FL(1) THEN PRINT"Le pont-levis est releve. ":GOTO 1080 5026 IF OO=21 THEN PRINT M$(1):GOTO 1080 5027 IF OO=23 AND JOUEUR=14 THEN M$(0)="C'etait une cuisine ensorcelee. Le sorcier est venu et m'a transforme en pierre.":GOTO 4500 5028 IF OO=28 AND JOUEUR=17 THEN PRINT"C'est vraiment un exemplaire magnifique. ":GOSUB 13000:GOTO 1080 5029 IF OO=29 AND JOUEUR=18 THEN PRINT"Une odeur curieuse se degage.";:GOTO 1080 5030 IF OO=30 AND(JOUEUR=19 OR OB(30)=-1) THEN PRINT"C'est du metal sans valeur.":GOTO 1080 5031 IF OO=31 AND(JOUEUR=20 OR OB(31)=-1) THEN PRINT M$(1):GOTO 1080 5032 IF OO=35 AND(JOUEUR=26 OR OB(35)=-1) THEN PRINT M$(1):GOTO 1080 5033 IF OO=36 AND JOUEUR=23 THEN PRINT"Il n'a pas l'air tres solide.":GOTO 1080 5034 IF OO=38 AND JOUEUR=10 THEN PRINT M$(1):GOTO 1080 5035 IF OO=37 AND JOUEUR=24 THEN PRINT"C'est la fameuse eau bleue.":GOTO 1080 5036 IF OO=40 AND(JOUEUR=20 OR OB(40)=-1) THEN PRINT M$(1):GOTO 1080 5037 IF OO=43 THEN JOUEUR=26:PRINT"D'accord !":GOTO 1080 5038 IF OO=45 THEN PRINT M$(10):GOTO 1080 5899 PRINT M$(1):GOTO 1080 5900 IF OO=21 THEN PRINT M$(1):GOTO 1080 5901 IF OO=16 AND JOUEUR=20 AND OB(31)<>1 AND OB(40)<>-1 THEN PRINT M$(7):OB(31)=20:OB(40)=20:GOTO 1080 5902 IF OO=33 AND JOUEUR=23 THEN GOSUB 15100:PRINT"On dirait qu'il y a une source a l'est.":GOTO 1080 5903 IF OO=16 AND(JOUEUR=23 OR OB(34)=-1) THEN PRINT"C'est une boue qui guerit.":GOSUB 15100:GOTO 1080 5904 IF OO=2 AND JOUEUR=3 AND OB(14)=0 THEN PRINT"Sur la table il y a un couteau. ":OB(14)=3:GOTO 1080 5905 IF OO=2 AND JOUEUR=3 AND OB(14)<>0 THEN PRINT M$(1):GOTO 1080 5990 PRINT"Je ne vois rien de tel ici!":GOTO 1080 6000 IF OB(OO)<>JOUEUR AND OB(OO)<>-1 THEN GOTO 6900 6001 IF OO=1 THEN PRINT M$(2):GOTO 1080 6002 IF OO=6 THEN PRINT M$(2):GOTO 1080 6003 IF OO=17 THEN PRINT M$(2):GOTO 1080 6004 IF OO=2 THEN PRINT M$(4):GOTO 1080 6005 IF OO=3 THEN PRINT M$(4):GOTO 1080 6006 IF OO=8 THEN PRINT M$(4):GOTO 1080 6007 IF OO=10 THEN PRINT M$(4):GOTO 1080 6008 IF OO=11 THEN PRINT M$(4):GOTO 1080 6009 ZA=0:FOR I=1 TO AO:IF OB(I)=-1 THEN ZA=ZA+1:IF ZA=4 THEN GOTO 6999 6010 NEXT I 6011 IF OO=5 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6012 IF OO=7 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6013 IF OO=12 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6014 IF OO=15 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6015 IF OO=16 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6016 IF OO=14 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6017 IF OO=9 THEN PRINT M$(2):GOTO 1080 6018 IF OO=23 THEN PRINT M$(2):GOTO 1080 6019 IF OO=28 THEN PRINT"Avec quoi dois-je l'attraper ?":GOSUB 13000:GOTO 1080 6020 IF OO=18 THEN PRINT M$(0):GOTO 1080 6021 IF OO=30 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6022 IF OO=31 THEN OB(OO)=-1:PRINT"J'ai mis l'armure.":GOTO 1080 6023 IF OO=35 AND OB(31)=-1 THEN PRINT OK$:OB(35)=-1:GOTO 1080 6024 IF OO=35 AND OB(31)<>-1 THEN M$(0)="Un serpent m'a mordu.":GOTO 4500 6025 IF OO=36 THEN PRINT M$(4):GOTO 1080 6026 IF OO=37 AND OB(5)=-1 THEN PRINT OK$:OB(5)=0:OB(41)=-1:GOTO 1080 6027 IF OO=37 AND OB(5)<>-1 THEN PRINT"Il me faut d'abord une bouteille vide.":GOTO 1080 6028 IF OO=38 THEN PRINT M$(0):GOTO 1080 6029 IF OO=40 THEN OB(40)=-1:PRINT OK$:GOTO 1080 6032 IF OO=13 THEN PRINT M$(4):GOTO 1080 6033 IF OO=4 THEN OB(OO)=-1:PRINT OK$:GOTO 1080 6900 IF OO=16 AND JOUEUR=23 AND OB(4)<>-1 THEN PRINT"Il me faut d'abord un recipient !":GOTO 1080 6901 IF OO=16 AND JOUEUR=23 AND OB(4)=-1 THEN PRINT OK$:OB(34)=-1:GOTO 1080 6902 IF OO=2 AND JOUEUR=3 THEN PRINT M$(4):GOTO 1080 6903 IF OO=5 AND OB(41)=JOUEUR THEN PRINT OK$:OB(41) =-1:GOTO 1080 6998 PRINT"Je ne vois rien de tel ici!":GOTO 1080 6999 PRINT"Je regrette mais je porte deja assez de":PRINT"choses !":GOTO 1080 7000 IF OO=13 AND OB(12)<>-1 THEN PRINT"Je n'ai pas de papier.":GOTO 1080 7001 IF OO=12 AND OB(OO)=-1 THEN CO=INT(RND(1)*100):PRINT"Je vois ecrit d'une ecriture tremblante le nombre:":PRINT CO:GOTO 1080 7002 IF OO=7 AND OB(7)=-1 THEN GOTO 7650 7003 IF OO=7 AND OB(7)<>-1 THEN PRINT"Pour cela il faut d'abord que je l'aie.":GOTO 1080 7649 PRINT M$(0):GOTO 1080 7650 INPUT"Quelle page ?";SE 7651 IF SE<>CO THEN PRINT M$(1):GOTO 1080 7652 HOME:PRINT TAB(3);"CONSEILS POUR SITUATION DE DETRESSE":PRINT TAB(15);"PARTICULIERE:": 7653 FOR I=1 TO 40:PRINT "_";:NEXT I:PRINT 7654 PRINT"S'il devait t'arriver que les tiens":PRINT"soient plonges dans un long sommeil par":PRINT"un sorcier mal intentionne, alors ecoutemon conseil:":PRINT 7657 PRINT:PRINT"Procure-toi les quatre ingredients de":PRINT"l'elixir de Humbug et apporte-les au":PRINT"sorcier de l'autre cote de la foret":PRINT "enchantee." 7660 PRINT:PRINT"Si tu as sa faveur, il t'aidera." 7661 PRINT:PRINT"S'il est contre toi il te reste a":PRINT"esperer qu'un prince reveille d'un":PRINT"baiser ta fille et avec elle tous les":PRINT"habitants du chateau." 7666 GET ENTREE$ 7667 HOME:GOTO 1080 7900 PRINT M$(0):GOTO 1080 8000 IF OO=17 AND OB(16)<>-1 THEN PRINT"Avec quoi ?":GOTO 1080 8001 IF OO=17 AND OB(16)=-1 THEN PRINT OK$:PASSAGE(6,4)=7:FL(3)=-1:GOTO 1080 8002 IF OO=35 AND OB(35)=-1 THEN PRINT"Il y avait dedans un liquide epais.":GOTO 1080 8099 PRINT M$(0):GOTO 1080 9000 IF OO=9 AND OB(14)=-1 AND JOUEUR=5 THEN PRINT"Les haubans ont ete coupes. ":FL(1)=-1:GOTO 1080 9001 IF OO=9 AND OB(14)<>-1 AND JOUEUR=5 THEN PRINT"Avec quoi ?":GOTO 1080 9999 PRINT M$(0):GOTO 1080 10000 IF OB(OO)<>JOUEUR AND OB(OO)<>-1 THEN PRINT"Je ne vois rien de tel ici. ":GOTO 1080 10001 IF OO=9 THEN PRINT"Pour cela il faut au moins deux hommes.":GOTO 1080 10002 IF OO=14 AND JOUEUR=5 THEN PRINT"Les haubans ont ete coupes.":FL(1)=-1:GOTO 1080 10003 IF OO=31 THEN PRINT"D'accord - je suis dans l'armure.":OB(31)=-1:GOTO 1080 10990 PRINT M$(0):GOTO 1080 11000 IF OO=5 AND JOUEUR=24 AND OB(5)=-1 THEN PRINT OK$:OB(0)=0:OB(41)=-1:GOTO 1080 11001 IF OO=5 AND JOUEUR<>24 AND OB(5)=-1 THEN PRINT"Avec quoi ?":GOTO 1080 11990 PRINT M$(0):GOTO 1080 12000 IF OB(OO)<>-1 THEN GOTO 12900 12001 IF OO=4 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12002 IF OO=5 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12003 IF OO=7 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12004 IF OO=12 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12005 IF OO=15 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12006 IF OO=16 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12007 IF OO=14 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12008 IF OO=30 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12009 IF OO=41 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12010 IF OO=45 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12011 IF OO=40 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12012 IF OO=36 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12013 IF OO=35 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12014 IF OO=31 THEN PRINT OK$:OB(OO)=JOUEUR:GOTO 1080 12900 IF OO=5 AND OB(41)=-1 THEN PRINT OK$:OB(41)=JOUEUR:GOTO 1080 12901 IF OO=16 AND OB(34)=-1 THEN PRINT OK$:OB(34)=JOUEUR:GOTO 1080 12990 PRINT M$(0):GOTO 1080 13000 IF OB(30)=-1 THEN OB(30)=20:PRINT M$(6):RETURN 13010 IF OB(35)=-1 THEN OB(35)=20:PRINT M$(6):RETURN 13020 IF OB(5)=-1 THEN OB(5)=20:PRINT M$(6):RETURN 13090 RETURN 14000 IF OB(34)<>25 THEN RETURN 14010 IF OB(35)<>25 THEN RETURN 14020 IF OB(41)<>25 THEN RETURN 14030 IF OB(40)<>25 THEN RETURN 14100 HOME:PRINT"Une voix retentit; ":PRINT:PRINT 14110 PRINT"Le grand Humbug se rejouit de tes dons. Il mettra sa magie a ton service. ":PRINT:PRINT 14140 PRINT"Rentre maintenant a la maison car une fete s'y prepare pour feter le reveil apres le long sommeil. " 14160 GOTO 14160 15100 IF OB(31)<>-1 THEN RETURN 15110 M$(0)="Je suis trop lourd et je coule. ":GOTO 4500 15200 IF RND(1)>0.3 THEN RETURN 15210 M$(0)="Je suis tombe dans un piege . ":GOTO 4500 16000 IF OO=10 AND JOUEUR=8 THEN PRINT"Je n'y arrive pas.":GOTO 1080 16010 IF OO=11 AND JOUEUR=8 THEN PRINT"Je n'y arrive pas.":GOTO 1080 16020 PRINT M$(0):GOTO 1080 16999 REM Affichage du vocabulaire 17000 HOME:PRINT"Je comprends les verbes suivants :":PRINT:RESTORE 17010 FOR I=1 TO AV 17020 READ MOT$:PRINT MOT$ 17030 NEXT I 17040 HTAB 1:VTAB 24:PRINT "Appuyer sur une touche...";:GET ENTREE$ 17050 HOME:PRINT"Et je connais les objets suivants :":PRINT 17060 LL=0:CL=0 17070 FOR I=1 TO AO 17080 READ MOT$,MOT$,X 17085 IF MOT$="" THEN 17110 17090 VTAB LL+3:HTAB 1+CL*11:PRINT MOT$ 17100 LL=LL+1 17110 IF LL=20 THEN LL=0:CL=CL+1 17120 NEXT I 17130 HTAB 1:VTAB 24:PRINT "Appuyer sur une touche...";:GET ENTREE$ 17140 HOME:RETURN