Note: L'EXL100 ne pouvant charger la totalité du programme en mémoire, EXL Manoir est scindé en deux programmes «MANOIR0.BAS» et «MANOIR1.BAS». Le listing a été adapté pour une utilisation sur disquette. Exécutez le premier programme, la seconde partie se lancera automatiquement.
1 !***** EXL MANOIR *******
2 !** HEBDOGICIEL 67-68 ***
3 !***** MANOIR0.BAS ******
4 !************************
5 !
6 !
26 CLS "WBR"
27 CALL COLOR("0CB")
28 LOCATE (5,7)
29 PRINT "VOULEZ-VOUS DES EXPLICATIONS ?"
30 LOCATE (7,10)
31 PRINT "SUR LE JEU exelmanoir"
32 LOCATE (11,12)
33 PRINT "(O/N) PUIS ENTER"
34 CALL COLOR("0WB")
35 LOCATE (14,19)
36 ACCEPT VALIDATE("ON")SIZE(1)BEEP,E$
37 IF E$="" THEN 35
38 IF E$="N" THEN 75
39 CLS "WBB"
40 CALL COLOR("0MB")
48 CALL AF("POUR JOUER, VOUS POUVEZ VOUS SERVIR",4)
49 CALL AF("DU CLAVIER OU DES MANETTES",6)
50 CALL AF("SI VOUS UTILISEZ LE CLAVIER,",9)
51 CALL AF("VOUS UTILISEREZ POUR LES DEPLACEMENTS",11)
52 CALL AF("LES LETTRES 'O','N','S','E' POUR LES",13)
53 CALL AF("DIRECTIONS 'OUEST','NORD'...etc",15)
54 CALL AF("VOUS POUVEZ EGALEMENT VOUS SERVIR",17)
55 CALL AF("DES QUATRE CURSEURS ^,"&CHR$(14)&",->,<-",19)
56 CALL EFF(30)
57 CALL AF("VOUS DEVREZ UTILISER ",7)
59 CALL AF("CELLE DONT LES TOUCHES SONT ORANGES",9)
60 CALL AF("POUR LES DEPLACEMENTS UTILISEZ",12)
61 CALL AF("NORMALEMENT LE MANCHE",14)
62 CALL AF("EN LE POUSSANT VERS",16)
63 CALL AF("LA GAUCHE POUR 'OUEST'",18)
64 CALL AF("LA DROITE POUR 'EST'...etc",20)
65 CALL EFF(35)
66 CALL AF("SACHEZ QU'EXELMANOIR EST UN",4)
67 CALL AF("JEU D'AVENTURE MAIS AUSSI DE",6)
68 CALL AF("DE REFLEXION CAR TOUS VOS",8)
69 CALL AF("DEPLACEMENTS SONT COMPTES",10)
70 CALL AF("ET LES NOMBREUX MONSTRES ET GARDES",12)
71 CALL AF("QUI PROTEGENT LA PRINCESSE",14)
72 CALL AF("SONT SANS PITIE...",16)
73 CALL EFF(35)
74 !
75 !************************************
76 !*** CARACTERES LABY ****************
77 !************************************
78 !
79 CALL CHAR(65,"FF81BDA5A5A5A5BD81FF")
80 CALL CHAR(66,"0000FF00000000FF0000")
81 CALL CHAR(67,"24242424242424242424")
82 CALL CHAR(68,"2424E724242424E72424")
83 !************************************
84 !*** CARACTERES DESSINS *************
85 !************************************
86 !
87 !************************************
88 !******** POMME *********************
89 !************************************
90 !
91 CALL CHAR(70,"00000000000000000000")
92 CALL CHAR(71,"0001070F0F1F1F1F3F3F")
93 CALL CHAR(72,"3F1F1F1F0F0F07010000")
94 CALL CHAR(73,"0000000000080C060201")
95 CALL CHAR(75,"FFFFFFFFFFFFFFFF3E00")
96 CALL CHAR(74,"7DFEFFFFFFFFFFFFFFFF")
97 CALL CHAR(76,"0000001C3C7C7CF8F0E0")
98 CALL CHAR(77,"80E0F0F8F8FCFCFCFCFC")
99 CALL CHAR(78,"FCFCFCF8F8F0E0800000")
100 !***********************************
101 !********* MALLE *******************
102 !***********************************
103 CALL CHAR(79,"00000000000000000103")
104 CALL CHAR(80,"070E0C1C1818180F0F07")
105 CALL CHAR(81,"06060606060606060700")
106 CALL CHAR(82,"0003060C183060C080C0")
107 CALL CHAR(83,"E031130E0C38F0C103FF")
108 CALL CHAR(84,"F606060606060607FF00")
109 CALL CHAR(85,"00E0100804040C183F63")
110 CALL CHAR(86,"C3850D193161D1D18101")
111 CALL CHAR(87,"03060C18302060C08000")
112 !***********************************
113 !********** ARBALETE ***************
114 !***********************************
115 CALL CHAR(88,"0001070F1E3820604020")
116 CALL CHAR(89,"10080402010000000000")
117 CALL CHAR(90,"00000000000000030000")
118 CALL CHAR(91,"7EFFFF99181818181818")
119 CALL CHAR(92,"1818181818995A3C1819")
120 CALL CHAR(93,"191919FF989898981800")
121 CALL CHAR(94,"0080E0F0781C0C060204")
122 CALL CHAR(95,"081020408000000000C0")
123 CALL CHAR(96,"00000000000000000000")
124 !***********************************
125 !********** MONSTRE ****************
126 !***********************************
127 CALL CHAR(97,"007C1F0F070743625247")
128 CALL CHAR(98,"2122424241404041321A")
129 CALL CHAR(99,"0A121213090804020100")
130 CALL CHAR(100,"00000080F9F700000000")
131 CALL CHAR(101,"F52AA222C1142AFF7722")
132 CALL CHAR(102,"228888DDFF000000C13E")
133 CALL CHAR(103,"001F7CF8F0F061232539")
134 CALL CHAR(104,"C222A121C10101C12628")
135 CALL CHAR(105,"28A4A4E4C8081020C000")
136 !***********************************
137 !***** CARACTERES CHATEAU **********
138 !***********************************
139 CALL CHAR(48,"00000000000000000000")
140 CALL CHAR(49,"00000000000103030707")
141 CALL CHAR(50,"3C3C7FFFFFFFFFFFFFFF")
142 CALL CHAR(51,"000000000080C0C0E0E0")
143 CALL CHAR(52,"00060F1F3F7F7FFFFFFF")
144 CALL CHAR(53,"071F1F80C0E0E0F0F0F0")
145 CALL CHAR(54,"FFFFFF81819999999999")
146 CALL CHAR(55,"F0F8F8818387878F8F8F")
147 CALL CHAR(56,"0060F0F8FCFEFEFFFFFF")
148 CALL CHAR(57,"30303636363636303018")
149 CALL CHAR(58,"30303636363636303030")
150 CALL CHAR(110,"C1C1C1C1DDDDDDFFFF00")
151 CALL CHAR(111,"81818181818181818100")
152 CALL CHAR(112,"83838383BBBBBBFFFF00")
153 CALL CHAR(113,"0C0C6C6C6C6C6C0C0C0C")
154 CALL CHAR(114,"0C060301000000000000")
156 CALL CHAR(115,"00000080C0C0C0C3C3C3")
157 CALL CHAR(116,"0000003C7EE7A42424FF")
158 CALL CHAR(117,"00000000010383C3C3C3")
159 CALL CHAR(118,"183060C0800000000000")
160 CALL CHAR(119,"C3C3C3C3C3C3C3C3FFFF")
161 CALL CHAR(120,"242424FF242424FF2424")
162 !***********************************
200 CALL DOS("LOADRUN MANOIR1.BAS")
201 SUB AF(A$,X)
202 LOCATE (X,(40-LEN(A$))/2)
203 PRINT A$
204 SUBEND
205 SUB EFF(G)
206 CALL AF("ENTER",21)
207 PAUSE G
208 CLS
209 SUBEND
2ème partie:
1 !********SUITE**********
2 !***** EXELMANOIR ******
3 !***** MANOIR1.BAS *****
4 TIC$="0D7C91B2BAB602FC"
12 RANDOMIZE
13 GRAD
14 TIC$="0D7C91B2BAB602FC"
15 Q$="0DE63356CDA6278BDA815D82A8358F853525AD88CA85384442BBD13E"
16 S$="077C312DD46D6F708213EC60072B58C10C66308211F4A0072D6841823E9316EAB637BAD"
17 T$="18D6E74A2139DE8443BDAD18E7634A319CD6846339AD18C6634A2118D68442D6A518B5A"
18 U$="D4A21AD5A84635AA518D4A54A21295A844294AD1FF"
19 CLS "WBb"
20 CALL COLOR("0RHL")
21 LOCATE (10,6)
22 PRINT "EEXXEELLMMAANNOOIIRR"
23 LOCATE (11,6)
24 PRINT "EEXXEELLMMAANNOOIIRR"
25 CALL COLOR("1CB")
26 LOCATE (9,29)
27 PRINT "01230"
28 LOCATE (10,29)
29 PRINT "45678"
30 LOCATE (11,29)
31 PRINT "9nopq"
32 LOCATE (12,29)
33 PRINT "rstuv"
34 LOCATE (13,29)
35 PRINT "0wxw0"
36 FOR AA=1 TO 3
37 W$=S$&T$&U$
38 CALL SPEECH("L,"&W$)
39 PAUSE 2
40 NEXT
41 !
42 !********** INITIALISATION ********
43 !
44 DIM N(60),S(60),O(60),E(60),V(60),XA(60),YA(60),AR$(43),VMAX(43),VMIN(43)
45 DIM VA(60)
46 RESTORE 534
47 FOR I=1 TO 60:READ N(I),S(I),O(I),E(I),XA(I),YA(I):NEXT
48 !***** INITIALISATION OBJ*********
49 FOR I=1 TO 43:READ AR$(I),VMIN(I),VMAX(I):NEXT
50 !************* VIVRES ************
51 FOR I=1 TO 4
52 LIEU=INTRND(58)+2
53 IF V(LIEU)<>0 THEN 52
54 V(LIEU)=I
55 NEXT
56 !************ ARGENT *************
57 FOR I=5 TO 8
58 LIEU=INTRND(58)+2
59 IF V(LIEU)<>0 THEN 58
60 V(LIEU)=I
61 NEXT
62 !************ TRESOR **************
63 FOR I=9 TO 12
64 LIEU=INTRND(58)+2
65 IF V(LIEU)<>0 THEN 64
66 V(LIEU)=I
67 NEXT
68 !*********** ARMES ****************
69 FOR I=13 TO 22
70 LIEU=INTRND(58)+2
71 IF V(LIEU)<>0 THEN 70
72 V(LIEU)=I
73 VA(LIEU)=INTRND(VMAX(I))
74 IF VA(LIEU)<VMIN(I)THEN 73
75 NEXT
76 !******** PRINCESSE *************
77 LIEU=INTRND(48)+10
78 IF V(LIEU)<>0 THEN 77
79 V(LIEU)=60
80 !
81 !******* VALEURS DIVERSES ********
82 !
83 LIEU=1
84 NP=2
85 FO=INTRND(6)+32
86 MA=INTRND(6)+30
87 FR=INTRND(20)+32
88 VIE=1100
89 NA=0
90 NT=0
91 PO$="FIL"
92 POM$="GJM"
93 POMM$="HKN"
94 MO$="adg"
95 MON$="beh"
96 MONS$="cfi"
97 TR$="ORU"
98 TRE$="PSV"
99 TRES$="QTW"
100 RR$="X["&CHR$(94)
101 ARM$="Y"&CHR$(92)&CHR$(95)
102 ARME$="Z]"&CHR$(96)
103 !
104 LOCATE (13,29)
105 CALL SPEECH("L,"&W$)
106 PRINT "0w0w0"
107 PAUSE 3
108 CLS "WBW"
109 !******* DESSIN LABY **************
110 CALL COLOR("1YB")
111 LOCATE (2,24):PRINT "ABABBBABBBA ABABA"
112 LOCATE (3,24):PRINT "C C C C "
113 LOCATE (4,24):PRINT "ABABBBABBBA A C "
114 LOCATE (5,24):PRINT " C C C C C "
115 LOCATE (6,24):PRINT "ABABA C ABABABA A"
116 LOCATE (7,24):PRINT " C C C C C"
117 LOCATE (8,24):PRINT "ABDBA C ABABA ABA"
118 LOCATE (9,24):PRINT "C C C C C C "
119 LOCATE (10,24):PRINT "ABA A C A ABABA "
120 LOCATE (11,24):PRINT " C C C C C "
121 LOCATE (12,24):PRINT "ABDBABDBABA ABABA"
122 LOCATE (13,24):PRINT " C C C C C C"
123 LOCATE (14,24):PRINT "ABABBBDBDBDBDBBBA"
124 LOCATE (15,24):PRINT "C C C A A ABA C"
125 LOCATE (16,24):PRINT "C C C C C C"
126 LOCATE (17,24):PRINT "A ABBBDBA ABABA C"
127 LOCATE (18,24):PRINT "C C C C C C"
128 LOCATE (19,24):PRINT "A A ABBBA ABBBA"
129 LOCATE (20,24):PRINT " "
130 LOCATE (2,34):CALL COLOR("1WRF"):PRINT "A"
131 !********** DESSIN ****************
132 CALL COLOR("0Wb")
133 LOCATE (21,1):PRINT "VIE: FORCE: VIVRES: FRANCS: "
134 LOCATE (1,1):PRINT " ARMES "
135 LOCATE (8,1):PRINT "TRESORS"
136 LOCATE (14,1):PRINT "DESSINS"
137 LOCATE (1,9):PRINT " COMMENTAIRES"
138 LOCATE (1,22):PRINT " PLAN DU CHATEAU "
139 GOTO 141!CALL VCHAR(2,8,20,"*","0bW")
140 CALL VCHAR(2,23,20,"*","0bW")
141 !******** EXPLICATIONS ************
142 CALL AF("VOUS AVEZ",2)
143 CALL AF(" ETE INVITE",3)
144 CALL AF("CHEZ LE DUC",4)
145 CALL AF("D'EXELVISION",5)
146 CALL AF("CELUI-CI",7):CALL AF("A UNE FILLE",8)
147 CALL AF("FOEDORA ...",9)
148 CALL AF("IL VOUS",11):CALL AF("FAUDRA ETRE",12)
149 CALL AF("UN VALEUREUX",13):CALL AF("CHEVALIER.",14)
150 CALL AF("EN EFFET:",15)
151 CALL EFF(13)
152 CALL AF("POUR",2):CALL AF("APPRECIER",3):CALL AF("VOTRE",4)
153 CALL AF("BRAVOURE",5):CALL AF("ELLE VOUS",6)
154 CALL AF("ABANDONNERA",7):CALL AF("DANS LE",8)
155 CALL AF("SOUS-SOL DU",9):CALL AF("CHATEAU",10)
156 CALL AF("QUAND VOUS",12):CALL AF("AUREZ",13):CALL AF("AMASSE",14)
157 CALL AF("4 TRESORS ET",15):CALL AF("DEJOUER TOUS",16)
158 CALL AF("LES PIEGES",17)
159 CALL EFF(13)
160 CALL AF("VOUS POURREZ",2):CALL AF("DEVENIR SON",3)
161 CALL AF("EPOUX.",4)
162 CALL AF("MAIS AVANT",6):CALL AF("DE PARTIR A",7)
163 CALL AF("L'AVENTURE",8):CALL AF("ELLE VOUS",9)
164 CALL AF("FAIT DON",10):CALL AF("D'UN SAC",11)
165 CALL AF("CONTENANT",12)
166 CALL AF(STR$(FO)&" POINTS DE",13):CALL AF("FORCE ,"&STR$(MA),14)
167 CALL AF("DE VIVRES",15):CALL AF("ET "&STR$(FR)&" FRANCS",16)
168 CALL SC(VIE,FO,MA,FR)
169 PAUSE 3:CALL AF("BONNE CHANCE!",18):CALL EFF(13)
170 !
171 !************* JEU ****************
172 !
173 DA=0
174 CALL SPEECH("L,"&W$)
175 PAUSE 1
176 IF KK=0 THEN 185
177 M=0:M$=""::CALL EFF(0)
178 VIE=VIE-(INTRND(10)+10+NA*2)
179 MA=MA-1
180 CALL SC(VIE,FO,MA,FR)
181 IF VIE<1 OR MA<1 OR FO<1 THEN 666
182 IF VIE<70 THEN CALL VIE(VIE)
183 IF FO<5 THEN CALL FO(FO)
184 IF MA<5 THEN CALL MA(MA)
185 IF S(LIEU)<>0 THEN M=M+1:M$=M$&" S"
186 IF O(LIEU)<>0 THEN M=M+1:M$=M$&" O"
187 IF E(LIEU)<>0 THEN M=M+1:M$=M$&" E"
188 IF N(LIEU)<>0 THEN M=M+1:M$=M$&" N"
189 KK=1
190 IF M>1 THEN CALL AF(STR$(M)&" SORTIES",2):CALL AF(M$,3):GOTO 196
191 CALL AF("UNE SEULE",2)
192 CALL AF("SORTIE"&M$,3)
193 !
194 !********* DIRECTION ************
195 !
196 CALL KEY1(DIR,TT):IF TT=0 THEN 196
197 IF DIR=128 OR DIR=78 THEN 208
198 IF DIR=130 OR DIR=83 THEN 213
199 IF DIR=131 OR DIR=79 THEN 218
200 IF DIR=129 OR DIR=69 THEN 203
201 GOTO 196
202 !************ EST ***************
203 IF E(LIEU)=0 THEN 196
204 CALL VLA(YA(LIEU),XA(LIEU)):LIEU=E(LIEU)
205 CALL CLI(YA(LIEU),XA(LIEU))
206 GOTO 225
207 !************ NORD **************
208 IF N(LIEU)=0 THEN 196
209 CALL VLA(YA(LIEU),XA(LIEU)):LIEU=N(LIEU)
210 CALL CLI(YA(LIEU),XA(LIEU))
211 GOTO 225
212 !*********** SUD ****************
213 IF S(LIEU)=0 THEN 196
214 CALL VLA(YA(LIEU),XA(LIEU)):LIEU=S(LIEU)
215 CALL CLI(YA(LIEU),XA(LIEU))
216 GOTO 225
217 !************ OUEST *************
218 IF O(LIEU)=0 THEN 196
219 CALL VLA(YA(LIEU),XA(LIEU)):LIEU=O(LIEU)
220 CALL CLI(YA(LIEU),XA(LIEU))
221 GOTO 225
222 !
223 !******* ANALYSE PIECE **********
224 !
225 CALL POMME1(V(),LIEU,PO$,POM$,POMM$)
226 CALL MONSTRE1(DA,MO$,MON$,MONS$)
227 CALL ARMES1(V(),LIEU,RR$,ARM$,ARME$)
228 CALL TRESOR1(V(),LIEU,TR$,TRE$,TRES$)
229 IF V(LIEU)=0 THEN 239
230 IF V(LIEU)<5 THEN CALL POMME1(V(),LIEU,PO$,POM$,POMM$) ELSE 232
231 GOTO 376
232 IF V(LIEU)<9 THEN CALL TRESOR1(V(),LIEU,TR$,TRE$,TRES$) ELSE 234
233 GOTO 397
234 IF V(LIEU)<13 THEN CALL TRESOR1(V(),LIEU,TR$,TRE$,TRES$) ELSE 236
235 GOTO 418
236 IF V(LIEU)<23 THEN CALL ARMES1(V(),LIEU,RR$,ARM$,ARME$) ELSE 238
237 GOTO 434
238 IF V(LIEU)=60 THEN 455
239 DA=INTRND(100)
240 IF DA>55 THEN CALL MONSTRE1(DA,MO$,MON$,MONS$) ELSE 243
241 GOTO 299
242 !********** SALLE VIDE ************
243 CALL EFF(0)
244 CALL AF("LA SALLE",5):CALL AF("EST VIDE",8)
245 PAUSE 1
246 IF NA=0 OR NP=2 THEN NP=1:PAUSE 1:CALL EFF(0):GOTO 173
247 NP=2
248 CV=2
249 CALL AF("VOULEZ-VOUS",11):CALL AF("POSER UNE",12)
250 CALL AF("ARME?",13):CALL AF("EN ECHANGE",16)
251 CALL AF("0=NON 1=OUI",14)
252 CALL AF("VOUS RECEVREZ",17):CALL AF("UNE SOMME",18)
253 CALL AF("D'ARGENT",19)
254 CALL KEY1(CC,TT)
255 IF CC=48 THEN 173
256 IF CC=49 THEN 258 ELSE 254
257 !********** POSE D'ARME ************
258 CALL EFF(0)
259 IF NA=1 THEN CALL AF("VOUS POSEZ",4) ELSE 275
260 V(LIEU)=FA(1)
261 VA(LIEU)=FB(1)
262 CALL AF("DONC VOTRE",5):PAUSE 1:CALL AF(AR$(FA(1)),8)
263 PAUSE 1
264 CALL AFB(" ",2)
265 CALL SPEECH("L,"&TIC$)
266 PAUSE .6:FR=FR+FB(1)
267 CALL AF("VOUS RECEVEZ",11):CALL AF(STR$(FB(1))&" FRS",12)
268 NA=NA-1
269 PAUSE .5
270 CALL AF("VOUS POSSEDEZ",14):CALL AF("MAINTENANT",15)
271 PAUSE .9
272 CALL AF(STR$(FR)&" FRANCS",16)
273 PAUSE 4
274 GOTO 173
275 CALL EFF(1)
276 CALL AF("CHOISSISSEZ:",2):PAUSE 2
277 FOR H=1 TO NA
278 CALL AF(" "&STR$(FB(H))&" FR",H+3)
279 LOCATE (H+3,9):PRINT STR$(H)&"."&AR$(FA(H))
280 PAUSE .9
281 NEXT H
282 CALL KEY1(CV,JK):IF JK=0 THEN 282
283 CV=CV-48
284 IF CV>NA OR CV<1 THEN 282
285 V(LIEU)=FA(CV)
286 FR=FR+FB(CV)
287 CALL EFF(0)
288 CALL AF("VOUS POSEZ",4)
289 CALL AF("DONC VOTRE",5):PAUSE 1:CALL AF(AR$(FA(CV)),8)
290 CALL AF("VOUS RECEVEZ",11):CALL AF(STR$(FB(CV))&" FRS",12)
291 VA(LIEU)=FB(CV)
292 FOR I=CV+1 TO NA:FA(I-1)=FA(I):FB(I-1)=FB(I):NEXT
293 FOR I=2 TO 7:CALL AFB(" ",I):NEXT
294 NA=NA-1:FOR I=1 TO NA:CALL AFB(AR$(FA(I)),I+1):NEXT
295 GOTO 270
296 !
297 !******* PRESENCE MONSTRE **********
298 !
299 JH=INTRND(20)+23
300 VG=INTRND(VMAX(JH)-VMIN(JH))+VMIN(JH)
301 CALL EFF(0)
302 CALL AF("ATTENTION!",4):PAUSE 1:CALL AF("UN",7):CALL AF(AR$(JH),8)
303 CALL AF("DE FORCE "&STR$(VG),9)
304 CALL AF("LE COMBATTEZ",10):CALL AF("VOUS",11)
305 CALL AF("(0=NON 1=OUI)",12)
306 CALL KEY1(CC,TT):IF TT=0 THEN 306
307 IF CC=49 THEN 326
308 IF CC=48 THEN 311
309 GOTO 305
310 !****** COMBAT NON ACCEPTE *********
311 IF INTRND(10)<7 THEN 319
312 !***** LE MONSTRE ATTAQUE **********
313 FO=FO-VG/2:CALL EFF(0):CALL AF("LE MONSTRE",3):CALL AF("ATTAQUE",4)
314 CALL AF("VOUS PERDEZ",7):CALL AF(STR$(INT(VG/2))&" POINTS",8)
315 CALL AF("FORCE",9)
316 PAUSE 2
317 GOTO 173
318 !******* PAS D'ATTAQUE MONSTRE *****
319 CALL EFF(0)
320 CALL AF("IL VOUS",3):CALL AF("LAISSE",4):CALL AF("TRANQUILLE",5)
321 PAUSE 2
322 GOTO 173
323 !
324 !********* COMBAT ********
325 !
326 CALL EFF(0):IF NA=0 THEN CALL AF("VOUS COMBATTEZ",4) ELSE 328
327 CALL AF("SANS ARMES",6):PAUSE 2:GOTO 341
328 CALL AF("CHOISISSEZ:",4):PAUSE 2
329 CALL AF("1..SANS ARMES",8):PAUSE 1
330 FOR H=1 TO NA
331 CALL AF(" ("&STR$(FB(H))&")",H+8)
332 LOCATE (H+8,9):PRINT STR$(H+1)&".."&AR$(FA(H))
333 PAUSE 1
334 NEXT H
335 CALL KEY1(KE,ST):IF ST=0 THEN 335
336 KE=KE-48
337 IF KE<1 THEN 335
338 IF KE>H THEN 335
339 IF KE=1 THEN 341 ELSE 346
340 !******* A MAINS NUES ********
341 FC=VG-(INT(FO/10)):IF FC<2 THEN FC=2
342 FF=INTRND(12)+4
343 IF FC<0 THEN FC=0
344 GOTO 348
345 !******* AVEC ARMES **********
346 FC=INT(VG-(INT(VO/10))+(FB(KE-1)/2))
347 FF=FB(KE-1)
348 CALL AF("ENJEU",15):CALL AF("DU COMBAT:",16):PAUSE 1
349 CALL AF(STR$(FC)&" POINTS",18)
350 PAUSE 1
351 SORT=FF-VG
352 D1=-INTRND(4)+2
353 FOR YY=1 TO 7:CALL SPEECH("L,"&Q$):PAUSE .15:NEXT YY
354 IF SORT>D1 THEN 368
355 IF SORT=D1 THEN 366
356 CALL EFF(0):CALL AF("IL VOUS A",4):CALL AF("BATTU!",6):FO=FO-FC
357 IF KE=1 OR NA=0 THEN PAUSE 2:GOTO 173
358 PAUSE .9
359 CALL AF("IL VOUS PREND",9):CALL AF("VOTRE",11):CALL AF(AR$(FA(KE-1)),13)
360 PAUSE 1:CALL SPEECH("L,"&TIC$)
361 FOR I=2 TO 7:CALL AFB(" ",I):NEXT
362 FOR I=KE TO NA:FA(I-1)=FA(I):FB(I-1)=FB(I):NEXT
363 NA=NA-1:FOR I=1 TO NA:CALL AFB(AR$(FA(I)),I+1):NEXT
364 PAUSE 4
365 GOTO 173
366 CALL EFF(0):CALL AF("ZUT!",4):CALL AF("IL EST PARTI",6):PAUSE 2
367 GOTO 173
368 CALL EFF(0):CALL AF("BRAVO VOUS",4):CALL AF("L'AVEZ BATTU",6)
369 FO=FO+FC
370 VIE=VIE+INTRND(10)+5
371 PAUSE 2
372 GOTO 173
373 !
374 !********* RAVITAILLEMENT ********
375 !
376 CALL EFF(0)
377 CALL AF("HA! HA!...",3):PAUSE .5
378 CALL AF("IL Y A ICI",4):CALL AF("DE QUOI VOUS",5)
379 CALL AF("RAVITAILLER!",7):PAUSE .4
380 CALL AF("C'EST UN",9):CALL AF(AR$(V(LIEU)),10)
381 PR=INTRND(VMAX(V(LIEU))-VMIN(V(LIEU)))+VMIN(V(LIEU))
382 CALL AF("IL COUTE",11):CALL AF(STR$(PR)&" FRANCS",12)
383 GOSUB 656
384 IF Z=1 THEN 173
385 CALL EFF(1)
386 CALL AF("MANGEZ BIEN!",6):PAUSE 1:CALL AF("C'EST FINI?",8):PAUSE .7
387 CALL AF("VOS FORCES ET",10):CALL AF("VOS RESERVES",11)
388 CALL AF("DE VIVRES",12):CALL AF("ONT",13):CALL AF("AUGMENTE DE",14)
389 CALL AF(STR$(PR)&" POINTS",15)
390 FO=FO+PR
391 MA=MA+PR
392 FR=FR-PR
393 VIE=VIE+70
394 CALL SC(VIE,FO,MA,FR)
395 V(LIEU)=0
396 PAUSE 5:GOTO 173
397 !
398 !******* PRESENCE ARGENT *********
399 !
400 PR=INTRND(VMAX(V(LIEU))-VMIN(V(LIEU)))+VMIN(V(LIEU))
401 CALL EFF(0):CALL AF("VOUS AVEZ DE",4):CALL AF("LA CHANCE",6)
402 PAUSE .9
403 CALL AF("IL Y A",9):CALL AF("UNE "&AR$(V(LIEU)),10)
404 CALL AF("DE "&STR$(PR)&" FRANCS",11):CALL AF("VOUS LA",12)
405 CALL AF("PRENEZ",13)
406 CALL AF("(0=NON 1=OUI)",14)
407 CALL KEY1(CC,TT):IF TT=0 THEN 407
408 CALL SPEECH("L,"&TIC$)
409 IF CC=48 THEN CALL AF("TANT PIS!",15):PAUSE 1:GOTO 173
410 IF CC=49 THEN 411 LIST 407
411 CALL EFF(.5):CALL AF("D'ACCORD!",4):PAUSE .8:CALL AF("VOUS POSSEDEZ",6)
412 FR=FR+PR
413 CALL AF("MAINTENANT",7):CALL AF(STR$(FR)&" FRANCS",8)
414 V(LIEU)=0:CALL SC(VIE,FO,MA,FR):PAUSE 2:GOTO 173
415 !
416 !****** PRESENCE TRESOR *********
417 !
418 PR=INTRND(VMAX(V(LIEU))-VMIN(V(LIEU)))+VMIN(V(LIEU))
419 CALL EFF(0):CALL AF("QUELLE CHANCE!",5):PAUSE .7:CALL AF("DANS CETTE",7)
420 CALL AF("SALLE IL Y A",8):CALL AF("UN "&AR$(V(LIEU)),9)
421 CALL AF("IL COUTE",10):CALL AF(STR$(PR),11)
422 CALL AF("FRANCS",12)
423 GOSUB 656
424 IF Z=1 THEN 173
425 FR=FR-PR
426 NT=NT+1
427 CALL AFB(AR$(V(LIEU)),NT+9)
428 IF NT<4 THEN 432
429 CALL EFF(3):CALL AF("VOUS AVEZ",6):CALL AF("LES 4 TRESORS",7)
430 CALL AF("ET VOUS POUVEZ",8):CALL AF("DONC ALLER",10)
431 CALL AF("CHERCHER LA",12):CALL AF("PRINCESSE...",14)
432 V(LIEU)=0
433 PAUSE 2:GOTO 173
434 !
435 !******* PRESENCE ARME *********
436 !
437 PR=INTRND(VMAX(V(LIEU))-VMIN(V(LIEU)))+VMIN(V(LIEU))
438 CALL EFF(0)
439 CALL AF("DANS CETTE",3)
440 CALL AF("SALLE",4):CALL AF("IL Y A",5):CALL AF("UNE ARME",6)
441 PAUSE 1:CALL AF("C'EST UNE",7):CALL AF(AR$(V(LIEU)),8)
442 IF NA=6 THEN CALL AF("MAIS VOUS AVEZ",10) ELSE 444
443 CALL AF("ASSEZ D'ARMES",11):GOTO 173
444 CALL AF("ELLE COUTE",10):CALL AF(STR$(PR)&" FRANCS",11)
445 CALL AF("SA VALEUR EST",12):CALL AF(STR$(VA(LIEU))&" POINTS",13)
446 GOSUB 656
447 IF Z=1 THEN 173
448 NA=NA+1
449 FR=FR-PR
450 FA(NA)=V(LIEU)
451 FB(NA)=VA(LIEU)
452 CALL AFB(AR$(V(LIEU)),NA+1)
453 V(LIEU)=0
454 PAUSE 2:GOTO 173
455 !
456 !***** PRESENCE PRINCESSE ******
457 !
458 CALL SPEECH("L,"&W$)
459 CALL EFF(0):CALL AF("VOUS ETES DANS",2):CALL AF("LA CHAMBRE DE",3)
460 CALL AF("LA PRINCESSE",4):PAUSE 3:CALL AF("SI VOUS N'AVEZ",7)
461 CALL AF("LES 4 TRESORS",8):CALL AF("VOUS AVEZ 2",9)
462 F$=CHR$(INTRND(9)+48)
463 CALL AF("SECONDES POUR ",10):CALL AF("APPUYER SUR",11)
464 CALL AF("'"&F$&"'",13)
465 IF NT<4 THEN 503
466 !
467 !********** GAGNE! **********
468 !
469 CALL SPEECH("L,"&W$)
470 CALL EFF(7):CALL AF("MAIS VOUS LES",4)
471 CALL AF("AVEZ ET",5):CALL AF("LA PRINCESSE",6)
472 CALL AF("ADMIRE VOTRE",7)
473 CALL AF("REUSSITE",8)
474 CALL AF("APPROCHE",11)
475 CALL AF("BEAU ET",12)
476 CALL AF("VALEUREUX",13)
477 CALL AF("CHEVALIER",14)
478 CALL AF("VOUS DIT-ELLE",15)
479 CALL EFF(7)
480 CALL AF("QUEL COURAGE",5)
481 CALL AF("IL VOUS A",6)
482 CALL AF("FALLU POUR",7)
483 CALL AF("ARRIVER",8)
484 CALL AF("JUSQU'A MOI",9)
485 CALL AF("AVEC",10)
486 CALL AF("ET",11)
487 CALL AF(STR$(FO)&" PTS FORCE",12)
488 CALL AF(STR$(VIE)&" PTS VIE",14)
489 CALL EFF(9):CALL AF("VOUS",6)
490 CALL AF("L'EMBRASSEZ",8)
491 CALL AF("TENDREMENT...",10)
492 CALL EFF(10)
493 CALL AF("AINSI ",4)
494 CALL AF("C'EST PAR",6)
495 CALL AF("UN MARIAGE QUE",8)
496 CALL AF("SE TERMINE ",10)
497 CALL AF("CETTE",12)
498 CALL AF("AVENTURE...",14)
499 CALL EFF(10)
500 GOTO 646
501 END
502 !********** TEST ************
503 FOR I=0 TO 100:CALL KEY1(X1,W1):IF X1=ASC(F$)THEN 520
504 NEXT I
505 !********** TEST PERDU ******
506 CALL EFF(0)
507 CALL AF("MAUVAIS ",3):CALL AF("REFLEXES!",4):PAUSE .8
508 CALL AF("LA PRINCESSE",6)
509 CALL AF("SE MOQUE",7):CALL AF("DE VOUS",8):CALL AF("SES GARDES ",10)
510 CALL AF("VOUS CHATIENT",11):CALL AF("VOUS PERDEZ",13)
511 HH=INTRND(6)+5
512 VI=INTRND(30)+10
513 VIE=VIE-VI
514 FO=FO-HH
515 CALL SC(VIE,FO,MA,FR)
516 CALL AF(STR$(HH)&" PTS FORCE",15)
517 PAUSE 1:CALL AF(STR$(VI)&" PTS VIE ",17)
518 CALL EFF(8)
519 !********CATAPULTAGE ********
520 CALL EFF(0)
521 CALL AF("UN GARDE",6)
522 CALL AF("VOUS",8):CALL AF("CATAPULTE DANS",10)
523 CALL AF("UNE SALLE DU",12):CALL AF("CHATEAU",14)
524 PAUSE 2:CALL AF("BON",17):CALL AF("ATTERRISSAGE!",18)
525 PAUSE 1
526 CALL VLA(YA(LIEU),XA(LIEU))
527 LIEU=INTRND(60):IF V(LIEU)=60 THEN 527
528 CALL CLI(YA(LIEU),XA(LIEU))
529 GOTO 225
530 !
531 !********* DATA *********
532 !
533 !******* DATA SALLES ****
534 DATA 0,0,2,0,34,2
535 DATA 0,7,3,1,30,2
536 DATA 0,0,4,2,26,2
537 DATA 0,5,0,3,24,2
538 DATA 4,0,0,6,24,4
539 DATA 0,43,5,7,26,4
540 DATA 2,35,6,8,30,4
541 DATA 0,9,7,0,34,4
542 DATA 8,0,41,10,34,6
543 DATA 11,0,9,15,36,6
544 DATA 12,10,0,0,36,4
545 DATA 0,11,0,13,36,2
546 DATA 0,15,12,14,38,2
547 DATA 0,0,13,0,40,2
548 DATA 13,16,10,0,38,6
549 DATA 15,0,0,17,38,8
550 DATA 18,0,16,0,40,8
551 DATA 0,17,0,0,40,6
552 DATA 0,0,58,20,36,10
553 DATA 0,21,19,0,38,10
554 DATA 20,0,30,22,38,12
555 DATA 0,23,21,0,40,12
556 DATA 22,24,52,0,40,14
557 DATA 23,0,25,0,40,19
558 DATA 26,0,0,24,36,19
559 DATA 0,25,33,27,36,17
560 DATA 28,0,26,0,38,17
561 DATA 0,27,29,0,38,15
562 DATA 30,0,0,28,36,15
563 DATA 0,29,0,21,36,12
564 DATA 0,32,38,0,34,12
565 DATA 31,33,0,0,34,15
566 DATA 32,34,0,26,34,17
567 DATA 33,0,35,0,34,19
568 DATA 7,0,0,34,30,19
569 DATA 0,0,56,0,32,17
570 DATA 38,0,0,0,32,15
571 DATA 39,37,50,31,32,12
572 DATA 40,38,0,0,32,10
573 DATA 41,39,0,59,32,8
574 DATA 0,40,0,9,32,6
575 DATA 0,0,0,43,24,6
576 DATA 6,47,42,44,26,6
577 DATA 0,0,43,0,28,6
578 DATA 0,46,0,48,24,8
579 DATA 45,0,0,47,24,10
580 DATA 43,52,46,0,26,10
581 DATA 0,49,45,0,28,8
582 DATA 48,50,0,0,28,10
583 DATA 49,0,51,38,28,12
584 DATA 0,0,0,50,24,12
585 DATA 47,56,53,23,26,14
586 DATA 0,54,0,52,24,14
587 DATA 53,55,0,0,24,17
588 DATA 54,0,0,0,24,19
589 DATA 52,57,0,36,26,17
590 DATA 56,0,0,0,26,19
591 DATA 59,0,0,19,34,10
592 DATA 0,58,40,60,34,8
593 DATA 0,0,59,0,36,8
594 !####### DATA VIVRES ########
595 DATA FRUIT,10,20
596 DATA FILET GARNI,30,50
597 DATA CHAMPIGNON,10,40
598 DATA SANDWICH,15,30
599 !####### DATA ARGENT ########
600 DATA TIRELIRE,20,35
601 DATA PIECE,5,10
602 DATA LIASSE,16,30
603 DATA BOURSE,13,24
604 !####### DATA TRESORS #######
605 DATA DIAMANT,10,16
606 DATA COLLIER,10,16
607 DATA LINGOT,8,17
608 DATA DIADEME,6,19
609 !####### DATA ARMES #########
610 DATA FLECHE,3,9
611 DATA EPEE,7,10
612 DATA LANCE,9,16
613 DATA PIERRE,6,11
614 DATA FRONDE,4,6
615 DATA SERPE,9,15
616 DATA DAGUE,6,9
617 DATA MASSUE,8,13
618 DATA FOURCHE,7,12
619 DATA HACHE,5,10
620 !####### DATA MONSTRES ######
621 DATA GLUCK,5,8
622 DATA GNOM,5,9
623 DATA ZOMBIE,9,15
624 DATA DRAGON,8,15
625 DATA GAG,4,10
626 DATA BALROG,5,8
627 DATA COBRA,7,9
628 DATA BALROG,5,8
629 DATA VAMPIRE,5,9
630 DATA TROLL,5,11
631 DATA TIGRE,6,9
632 DATA LUTIN,5,9
633 DATA SORCIER,7,12
634 DATA LOUGAROU,7,12
635 DATA CHIEN,5,8
636 DATA AIGLE,5,9
637 DATA CRAPAUD,3,7
638 DATA FRELON,6,9
639 DATA HEBDOLUS,3,6
640 DATA EXELUS,4,6
641 DATA LION,8,12
642 !
643 !=========SOUS PROGRAMMES==========
644 !
645 !****** RECOMMENCER JEU *****
646 CALL EFF(0)
647 CALL SPEECH("L,"&W$)
648 CALL AF("VOULEZ-VOUS",8)
649 CALL AF("RECOMMENCER?",11)
650 CALL AF("(0=NON 1=OUI)",12)
651 CALL KEY1(CC,TT):IF TT=0 THEN 651
652 IF CC=49 THEN RUN
653 IF CC=48 THEN END ELSE 651
654 !
655 !####### ACHATS OBJETS ######
656 Z=1:CALL AF("VOULEZ-VOUS",14):CALL AF("L'ACHETER?",15)
657 CALL AF("(0=NON 1=OUI)",16)
658 CALL KEY1(CC,TT):IF TT=0 THEN 658
659 IF CC=48 THEN 661
660 IF CC=49 THEN 663 ELSE 658
661 CALL EFF(0):CALL AF("TANT PIS!",10):PAUSE 2:PAUSE 1:CALL EFF(0):RETURN
662 CALL EFF(0)
663 IF PR<=FR THEN 665
664 CALL EFF(1):CALL AF("VOUS ETES",5):CALL AF("TROP PAUVRE!",6):PAUSE 1:RETURN
665 CALL EFF(0):Z=2:CALL AF("D'ACCORD!",4):CALL EFF(2):RETURN
666 !........ S/P PERDU! .........
667 !
668 CALL EFF(3)
669 CALL SPEECH("L,"&W$)
670 CALL AF("VOUS ETES",4)
671 CALL AF("MORT!",6):PAUSE 1
672 CALL AF("VOUS N'AVEZ",8)
673 CALL AF("PAS REUSSI A",10)
674 CALL AF("DEJOUER LES",12)
675 CALL AF("PIEGES DE",14)
676 CALL AF("L'EXELMANOIR",16)
677 CALL EFF(8)
678 CALL AF("LA BELLE",3)
679 CALL AF("PRINCESSE",5)
680 CALL AF("DEVRA-ELLE",7)
681 CALL AF("ATTENDRE",9)
682 CALL AF("ENCORE",11)
683 CALL AF("LONGTEMPS",11)
684 CALL AF("UN CHEVALIER",13)
685 CALL AF("DIGNE DE SA",15)
686 CALL AF("BEAUTE ?",17)
687 PAUSE 8:GOTO 646
688 !####### S/P AFF. VERTICAL #######
689 !
690 SUB VCHAR(M,L,H,K$,J$)
691 FOR I=M TO H
692 CALL COLOR(J$):LOCATE (I,L):PRINT K$
693 NEXT I
694 SUBEND
695 !
696 !##### S/P DE MISE EN GARDE #####
697 !#########PTS VIVRES ############
698 SUB MA(MA)
699 PRINT EFF(1.5)
700 CALL AF("ATTENTION!",6):PAUSE .8
701 CALL AF("IL NE VOUS",9)
702 CALL AF("RESTE QUE",11)
703 CALL AF(STR$(MA),13)
704 CALL AF("PTS VIVRES",15)
705 CALL EFF(2)
706 SUBEND
707 !######## PTS FORCE #############
708 SUB FO(FO)
709 PRINT EFF(1.5)
710 CALL AF("ATTENTION!",6):PAUSE .8
711 CALL AF("IL NE VOUS",9)
712 CALL AF("RESTE QUE",11)
713 CALL AF(STR$(FO),13)
714 CALL AF("PTS FORCE",15)
715 CALL EFF(2)
716 SUBEND
717 !######## PTS VIE ###############
718 SUB VIE(VIE)
719 PRINT EFF(1.5)
720 CALL AF("ATTENTION!",6):PAUSE .8
721 CALL AF("IL NE VOUS",9)
722 CALL AF("RESTE QUE",11)
723 CALL AF(STR$(VIE),13)
724 CALL AF("PTS VIE",15)
725 CALL EFF(2)
726 SUBEND
727 !###### S/P AFF. OBJETS #########
728 !
729 SUB AFB(Z$,S)
730 CALL COLOR("0MB")
731 LOCATE (S,1):PRINT Z$
732 SUBEND
733 !##### S/P AFF. COMMENTAIRES ####
734 !
735 SUB AF(Z$,S)
736 CALL COLOR("0GB")
737 LOCATE (S,INT((14-LEN(Z$))/2)+9):PRINT Z$
738 SUBEND
739 !## S/P EFFACEMENT COMMENTAIRES##
740 !
741 SUB EFF(G)
742 CALL COLOR("0BB")
743 PAUSE G
744 FOR I=2 TO 20:LOCATE (I,9):PRINT " ":NEXT:SUBEND
745 !##### S/P AFF. SCORES ##########
746 SUB SC(VIE,FO,MA,FR)
747 CALL COLOR("0Wb")
748 LOCATE (21,5):PRINT USING"####",VIE
749 LOCATE (21,16):PRINT USING"###",FO
750 LOCATE (21,27):PRINT USING"###",MA
751 LOCATE (21,38):PRINT USING"###",FR
752 SUBEND
753 !## S/P STOP CLIGNOTEMENT LABY.##
754 !
755 SUB VLA(P,O)
756 LOCATE (P,O)
757 CALL COLOR("1MB")
758 PRINT "A":SUBEND
759 !## S/P START CLIGNOTEMENT LABY.##
761 SUB CLI(P,O):LOCATE (P,O)
762 CALL COLOR("1RYF"):PRINT "A":SUBEND
763 !####### AFFICHAGE DESSIN ########
764 !
765 !####### POMME ########
766 SUB POMME1(V(),LIEU,PO$,POM$,POMM$)
767 CALL COLOR("1GBF")
768 IF V(LIEU)>4 OR V(LIEU)<1 THEN CALL COLOR("1GB")
769 LOCATE (15,1):PRINT PO$
770 CALL COLOR("1RBF")
771 IF V(LIEU)<1 OR V(LIEU)>4 THEN CALL COLOR("1RB")
772 LOCATE (16,1):PRINT POM$
773 LOCATE (17,1):PRINT POMM$
774 SUBEND
775 !####### MONSTRE ######
776 SUB MONSTRE1(DA,MO$,MON$,MONS$)
777 IF DA<55 THEN CALL COLOR("1YB") ELSE CALL COLOR("1YBF")
778 LOCATE (15,5):PRINT MO$
779 LOCATE (16,5):PRINT MON$
780 LOCATE (17,5):PRINT MONS$
781 SUBEND
782 !####### ARBALETE #######
783 SUB ARMES1(V(),LIEU,RR$,ARM$,ARME$)
784 CALL COLOR("1WB")
785 IF V(LIEU)>12 AND V(LIEU)<23 THEN CALL COLOR("1WBF")
786 LOCATE (18,1):PRINT RR$
787 LOCATE (19,1):PRINT ARM$
788 LOCATE (20,1):PRINT ARME$
789 SUBEND
790 !####### TRESOR ########
791 SUB TRESOR1(V(),LIEU,TR$,TRE$,TRES$)
792 CALL COLOR("1RB")
793 IF V(LIEU)>4 AND V(LIEU)<13 THEN CALL COLOR("1RBF")
794 LOCATE (18,5):PRINT TR$
795 LOCATE (19,5):PRINT TRE$
796 LOCATE (20,5):PRINT TRES$
797 SUBEND
Ce listing est uniquement proposé pour un usage privé.
Sans accord écrit préalable, vous n'êtes pas autorisé à le distribuer, le transmettre ou le rediffuser.