Hebdogiciel n°103 à 104


1 !*****************************
2 !*                           *
3 !*                           *
4 !*         STRESS            *
5 !*                           *
6 !*  PAR LUDOVICK MEYNADIER   *
7 !*                           *
8 !*                           *
9 !*****************************
10 !
11 ! Pour eviter la presentation
12 ! faites 'RUN 95'
13 !
14 ! PRESENTATION
15 !
16 ! INIT. ECRAN & GEN. ALEATOIRE
17 RANDOMIZE:CLS "MBb":CALL HRON("b",1,10)
18 CALL POKE(50688,165,8,6,10):CALL POKE(49156,198)!INIT. SON
19 !
20 ! DATA LINE (codage par regroupement)
21 !
22 DATA 0700920,0651035,0601130,1051110,0501245,0651355,0601440,0651545,0701635
23 DATA 0801720,0851810
24 DATA 24895,24987,25084,25183,25282,25381,25481,25581,25682,25782,25881
25 DATA 25982,26084,26185,26290,26391,26493,26597
26 DATA 2509925395,2519925495,2569925395,2579925495,2539225894,2529125295
27 DATA 2538725389,2548725489,2539125395,2549125495
28 !
29 ! DESSIN SOLEIL
30 !
31 RAD:FOR I=0 TO PI*2 STEP PI/50
32 X=8*COS(I)+25:Y=8*SIN(I)+25
33 CALL POKE(258,I*18+20,132)
34 CALL LINE("Y",25,25,X,Y):NEXT
35 FOR I=0 TO PI*2 STEP PI/20
36 X=14*COS(I)+25:Y=14*SIN(I)+25
37 CALL POKE(258,I*18+100,132)
38 CALL LINE("Y",25,25,X,Y):NEXT
39 !
40 ! DESSIN MONTAGNE
41 !
42 FOR I=0 TO 319 STEP 2:Y=INTRND(35)+35
43 CALL LINE("R",I,Y,I,99):CALL LINE("G",I+1,Y,I+1,99)
44 CALL POKE(258,(I/2)+90,132)
45 W=INTRND(30)+50:CALL LINE("B",I,W,I,99):NEXT:CALL POKE(259,45)
46 !
47 ! DESSIN NUAGES
48 !
49 FOR I=1 TO 2:X=INTRND(180):Y=INTRND(15)
50 RESTORE 22:FOR J=1 TO 11:READ A$
51 A=VAL(SEG$(A$,1,3)):B=VAL(SEG$(A$,4,2)):C=VAL(SEG$(A$,6,2))
52 W=INTRND(2):IF W=1 THEN B$="C" ELSE B$="W"
53 CALL POKE(258,J+100,132)
54 CALL LINE(B$,A+X,B+Y,A+C+X,B+Y):NEXT:NEXT
55 !
56 ! DESSIN ENTREE LABYRINTHE
57 !
58 CALL POKE(259,45):RESTORE 24:FOR I=1 TO 18:READ A$
59 A=VAL(SEG$(A$,1,3)):B=VAL(SEG$(A$,4,2))
60 IF A/2=INT(A/2)THEN B$="M" ELSE B$="Y"
61 CALL LINE(B$,A,B,A,99):NEXT
62 !
63 ! DESSIN JOUEUR
64 !
65 RESTORE 26:FOR I=1 TO 10:READ A$
66 A=VAL(SEG$(A$,1,3)):B=VAL(SEG$(A$,4,2)):C=VAL(SEG$(A$,6,3))
67 D=VAL(SEG$(A$,9,2)):CALL LINE("B",A,B,C,D):NEXT
68 CALL PLOT("B",255,88)!NEZ DU JOUEUR
69 !
70 ! MUSIQUE DE JEUX INTERDITS
71 !
72 DATA 84,84,84,84,94,106,106,112,126,126,106,84,63,63,63,63,70,79,79,84,94
73 DATA 94,84,79,84,79,84,66,79,84,84,94,106,106,112,126,112,112,112,112,106
74 DATA 112,126,126,126,126
75 RESTORE 72:FOR Y=1 TO 46:READ A
76 CALL POKE(258,A,132):PAUSE .2
77 CALL POKE(259,45):NEXT
78 !
79 ! AFFICHAGE TITRE
80 !
81 CALL COLOR("0WBHF"):A$="STRESS"
82 LOCATE (12,17):PRINT A$:CALL COLOR("0YBH")
83 LOCATE (13,17):PRINT A$:PAUSE 2
84 DATA 159,141,126,141,126,119,126,119,106
85 RESTORE 84:FOR Y=1 TO 9:READ A
86 CALL POKE(258,A,132):PAUSE .1
87 IF Y/3=INT(Y/3)THEN PAUSE .1
88 CALL POKE(259,45):NEXT:PAUSE 2
89 CALL COLOR("0CBH"):LOCATE (12,17):PRINT A$
90 CALL COLOR("0MBHF"):LOCATE (13,17):PRINT A$
91 !
92 ! DEFINITION DE CARACTERES
93 !
94 ! 48 -> PLAN
95 CALL CHAR(48,"3C3CFFFFFFFFFFFF3C3C")
96 ! 49 a 57 -> DIAMANT (grand)
97 CALL CHAR(49,"0000000106081C23204")
98 CALL CHAR(50,"000018E7244281E79981")
99 CALL CHAR(51,"00000000C03038C40402")
100 CALL CHAR(52,"417926110C0201")
101 CALL CHAR(53,"000000FF8182C36618")
102 CALL CHAR(54,"829E648830C")
103 CALL CHAR(55,"383F1F0F01")
104 CALL CHAR(56,"0000FFFFFF3C7E7E3CFF")
105 CALL CHAR(57,"1CFCF8F08")
106 ! 65 A 67 -> JOUEUR
107 CALL CHAR(65,"60404040464E4F6E263F")
108 CALL CHAR(66,"00000002020202020484")
109 CALL CHAR(67,"0F0F0F0F0F0F1F39706")
110 CALL CHAR(68,"CE241408000000C0E07")
111 CALL CHAR(69,"603030313060E0C")
112 CALL CHAR(70,"7060C0C0E0601")
113 ! 71 a 74 -> DIAMANT (petit)
114 CALL CHAR(71,"0107784789F24F241209")
115 CALL CHAR(72,"C030AEE2114FF224489")
116 CALL CHAR(73,"050301")
117 CALL CHAR(74,"A0C08")
118 ! 75 a 78 -> SALLE (perspective)
119 CALL CHAR(75,"80C0E0E0F0F8FCFCFEFF")
120 CALL CHAR(76,"010307070F1F3F3F7FFF")
121 CALL CHAR(77,"FFFEFCFCF8F0E0E0C080")
122 CALL CHAR(78,"FF7F3F3F1F0F07070301")
123 ! 79 a 87 -> MONSTRE
124 CALL CHAR(79,"00000000010204241249")
125 CALL CHAR(80,"1804261FC138840281")
126 CALL CHAR(81,"000000008080C0C0C0C")
127 CALL CHAR(82,"381E0F0701")
128 CALL CHAR(83,"8040408000C020100804")
129 CALL CHAR(84,"40402020101010080808")
130 CALL CHAR(85,"03070A0A0908040201")
131 CALL CHAR(86,"C424140404F80000FF")
132 CALL CHAR(87,"081010102020408")
133 ! 97 a 100 -> REDUIT EN POUSSIERE
134 CALL CHAR(97,"00040000200000011307")
135 CALL CHAR(98,"1000400000080080C0E4")
136 CALL CHAR(99,"072F0F8F1F1F3F7F7FFF")
137 CALL CHAR(100,"F4F0F8FAF8FCFCFEFEFF")
138 !
139 ! REGLE DU JEU
140 !
141 CALL MESSA
142 ! Tableau 1
143 CALL ACR("0WB","BONJOUR ,",15)
144 CALL ACR("0WB","Je m'appelle EXL 100 et je suis ici",17)
145 CALL ACR("0WB","pour vous servir dans votre quete.",18)
146 CALL ACR("0WB","Quete qui vous a amenez au pied",19)
147 CALL ACR("0WB","des montagnes maudites de YUG-SOFT.",20)
148 A$=KEY$:CLS:CALL MESSA
149 ! Tab. 2
150 CALL ACR("0CB","Vous etes devant l'entree du labyrinthe",12)
151 CALL ACR("0CB","maudit de MORKLAND ou fut depose",13)
152 CALL ACR("0CB","autrefois par JUHWA le voleur ,",14)
153 CALL ACR("0CB","le fruit d'un de ses larcins :",15)
154 CALL ACR("0CB","les 4 diamants sacres de la croix de",16)
155 CALL ACR("0CB","UMPTEAR ,croix qui d'apres la legende",17)
156 CALL ACR("0CB","confere des pouvoirs infinis a son",18)
157 CALL ACR("0CB","possesseur a condition qu'il utilisa",19)
158 CALL ACR("0CB","cette relique avec grande sagesse.",20)
159 A$=KEY$:CLS:CALL MESSA
160 ! Tab. 3
161 CALL ACR("0YB","Mais comme vous pouvez vous en doutez",12)
162 CALL ACR("0YB","JUHWA etait loin d'etre sage ,et il",13)
163 CALL ACR("0YB","mourrut foudroye dans le labyrinthe.",14)
164 CALL ACR("0YB","Vous etes ici pour recuperer ces 4",16)
165 CALL ACR("0YB","pierres.La malediction n'aura aucun",17)
166 CALL ACR("0YB","effet sur vous tant que vous les recher-",18)
167 CALL ACR("0YB","cherez pour les mages du temple de RTUCF",19)
168 CALL ACR("0YB","qui sont les legitimes proprietaires.",20)
169 A$=KEY$:CLS:CALL MESSA
170 ! Tab. 4
171 CALL ACR("0WB","Donc ne vous avisez pas de les",12)
172 CALL ACR("0WB","prendre pour votre compte (mais ceci n'a",13)
173 CALL ACR("0WB","rien a voir avec le jeu.) .Seulement le",14)
174 CALL ACR("0WB","labyrinthe ne comporte pas moins de 49",15)
175 CALL ACR("0WB","salles dont plus de la moitie sont",16)
176 CALL ACR("0WB","gardees par des monstres provenant",17)
177 CALL ACR("0WB","de la vallee aujourd'hui detruite",18)
178 CALL ACR("0WB","YOUNN. Attention vous sortirez toujours",19)
179 CALL ACR("0WB","de ce labyrinthe mais il vaut mieux que",20)
180 A$=KEY$:CLS:CALL MESSA
181 ! Tab. 5
182 CALL ACR("0CB","ce ne soit pas les pieds devant !!!",12)
183 CALL ACR("0CB","mais vous devez aussi savoir que des que",13)
184 CALL ACR("0CB","vous aurez les 4 diamants vous serez",14)
185 CALL ACR("0CB","desintegrer pour etre reintegrer aupres",15)
186 CALL ACR("0CB","des mages qui vous remettront en",16)
187 CALL ACR("0CB","remerciement un anneau magique de plus",17)
188 CALL ACR("0CB","de 10 000 Ecus !!!",18)
189 CALL ACR("0CB","BONNE CHANCE ...",20)
190 A$=KEY$:CLS:CALL MESSA
191 ! Tab. 6
192 CALL ACR("0Yb","FONCTION DES TOUCHES",11)
193 CALL ACR("0Yb","*        Retour en debut de partie",13)
194 CALL ACR("0Yb","#        Arret du jeu en cours    ",14)
195 CALL ACR("0Yb","1        Oui"&RPT$(" ",22),15)
196 CALL ACR("0Yb","0        Non"&RPT$(" ",22),16)
197 CALL ACR("0Yb","Tir      Combattre un monstre ou  ",17)
198 CALL ACR("0Yb","         Prendre un diamant       ",18)
199 CALL ACR("0Yb",CHR$(14)&" ^ -> <- Deplacement ou fuite d'un",19)
200 CALL ACR("0Yb","monstre en allant dans une autre salle.",20)
201 A$=KEY$:CLS:CALL MESSA
202 ! Tab. 7
203 CALL ACR("0CB","RESULTAT D'UNE ACTION :",11)
204 CALL ACR("0CB","COMBAT : mort ou perte de pts vie",13)
205 CALL ACR("0CB","FUITE : perte de pts vie et de pts force",14)
206 CALL ACR("0CB","PRISE D'UN DIAMANT : un diamant de plus",15)
207 CALL ACR("0CB","PASSAGE DANS UNE AUTRE SALLE : rien",16)
208 CALL ACR("0CB","POINTS DE DEPART DU JOUEUR :",18)
209 CALL ACR("0CB","pts vie : 26",19)
210 CALL ACR("0CB","pts force : 12",20)
211 A$=KEY$:CLS:CALL HROFF
212 ! Debut jeu
213 CLS:CALL CADRE:X=4:Y=7:VIE=26:FOC=12:DIAM=0:DIM SAL(7,7)
214 CALL COLOR("0MB"):CALL ECR(3,"VEUILLEZ"):CALL ECR(6,"PATIENTER")
215 !
216 ! CHARGEMENT MONSTRES & DIAMANTS
217 !
218 FOR I=1 TO 28
219 W=INTRND(7):Z=INTRND(7):IF SAL(W,Z)<>0 THEN 219
220 SAL(W,Z)=1:NEXT:FOR I=1 TO 4
221 W=INTRND(7):Z=INTRND(7):IF SAL(W,Z)<>0 THEN 221
222 SAL(W,Z)=2:NEXT:CALL F
223 CALL F:CALL PTS(VIE,FOC):CALL SALLE(X,Y):CALL JOU(Y):CALL PLAN(X,Y)
224 CALL KEY1(C,D):CALL COLOR("0MB")
225 !
226 ! TEST CONTENANCE SALLE
227 !
228 IF SAL(X,Y)=2 THEN CALL DIA:GOSUB 261
229 IF SAL(X,Y)=1 THEN CALL MON:GOSUB 272
230 IF SAL(X,Y)=0 THEN GOSUB 296
231 GOSUB 246:IF D=0 THEN 224
232 !
233 ! DEPLACEMENT JOUEUR
234 !
235 IF C=128 AND Y>1 THEN Y=Y-1
236 IF C=129 AND X<7 THEN X=X+1
237 IF C=130 AND X<7 THEN Y=Y+1
238 IF C=131 AND X>1 THEN X=X-1
239 IF C=42 THEN RUN
240 IF C=35 THEN 255
241 IF DIAM>3 THEN 301
242 GOTO 223
243 !
244 ! S.P TEST PTS JOUEUR
245 !
246 CALL COLOR("0CB"):IF VIE>0 AND FOC>0 THEN RETURN
247 CALL SALLE(X,Y):CALL POU(1):IF VIF<1 THEN CALL POU(2)
248 CALL COLOR("0MB"):FOR I=20 TO 245:CALL POKE(258,I,132):NEXT
249 CALL POKE(259,45)
250 CALL ECR(5,"Vous etes"):CALL ECR(7,"reduit en"):CALL ECR(9,"poussieres")
251 CALL ECR(12,"CONDOLEANCE..."):PAUSE 3:! MORT DU JOUEUR
252 !
253 ! S.P FIN
254 !

 

255 CALL F:CALL COLOR("0MB"):CALL ECR(4,"Voulez-vous"):CALL ECR(7,"rejouer ?")
256 A$=KEY$:IF A$="1" THEN RUN
257 CLS "BCC":END! FIN
258 !
259 ! S.P SALLE DU DIAMANT
260 !
261 CALL COLOR("0MB"):CALL ECR(5,"CHOUETTE !"):CALL ECR(8,"UN DIAMANT")
262 IF C<>32 THEN RETURN
263 DATA 106,119,126,0,0,126,141,159
264 PAUSE 2:! ^ DATA MUSIQUE
265 DIAM=DIAM+1:CALL DIAM(DIAM):RESTORE 263:FOR I=1 TO 8:PAUSE .1:READ W
266 IF W=0 THEN 268
267 CALL POKE(258,W,132):PAUSE .05
268 NEXT:CALL POKE(259,45):SAL(X,Y)=0:VIE=26:FOC=12:CALL F:RETURN
269 !
270 ! S.P MONSTRE
271 !
272 CALL COLOR("0MB"):CALL ECR(4,"AHHH !"):CALL ECR(6,"UN MONSTRE")
273 IF C>127 AND C<132 THEN VIE=VIE-2:FOC=FOC-1:RETURN!FUITE JOUEUR
274 IF C<>32 THEN RETURN!ERREUR FRAPPE
275 VIF=INTRND(7)+3:FOS=INTRND(4)+7:! TIRAGE VIE & FORCE MONSTRE
276 DATA 106,119,0,106,119,0,126,141,0,159,172,172
277 RESTORE 276:FOR I=1 TO 12
278 PAUSE .1:READ W:IF W=0 THEN 280
279 CALL POKE(258,W,132)
280 NEXT:CALL POKE(259,45):CALL F
281 !
282 ! COMBAT
283 !
284 W=INTRND(12):Z=INTRND(12)
285 IF FOC+W<FOS+Z THEN VIE=VIE-ABS(FOC-FOS)
286 IF FOC+W>=FOS+Z THEN VIF=VIF-INTRND(5)
287 GOSUB 246:IF VIF<1 THEN 290
288 GOTO 284
289 ! JOUEUR GAGNANT
290 SAL(X,Y)=0:CALL F:CALL SALLE(X,Y):CALL POU(0):CALL JOU(Y)
291 CALL PTS(VIE,FOC):CALL PLAN(X,Y):CALL COLOR("0MB")
292 CALL ECR(3,"Le monstre"):CALL ECR(6,"est mort"):PAUSE 3:RETURN
293 !
294 ! S.P SALLE VIDE
295 !
296 CALL ECR(4,"SALLE"):CALL ECR(7,"VIDE"):CALL POKE(258,30,132)
297 PAUSE .05:CALL POKE(259,45):RETURN
298 !
299 ! S.P C'EST GAGNE!
300 !
301 CALL SALLE(X,Y):CALL COLOR("0RB")
302 CALL ECR(2,"BRAVO!"):CALL ECR(4,"VOUS VOUS"):CALL ECR(5,"RETROUVEZ")
303 CALL ECR(6,"TOUT A COUP"):CALL ECR(7,"CHEZ"):CALL ECR(8,"LES MAGES QUI")
304 CALL ECR(9,"DONNENT LA"):CALL ECR(10,"RECOMPENSE"):CALL ECR(11,"PROMISE")
305 CALL COLOR("0CB"):CALL ECR(13,"10 000 ecus!!!")
306 DATA 84,84,84,84,94,106,106,112,126,126,106,84,63,63,63,63,70,79,79,84,94
307 DATA 94,84,79,84,79,84,66,79,84,84,94,106,106,112,126,112,112,112,112,106
308 DATA 112,126,126,126,126
309 !
310 ! MUSIQUE JEUX INTERDITS
311 !
312 RESTORE 306:FOR I=1 TO 46:READ A:CALL POKE(258,A,132):PAUSE .1:NEXT
313 CALL POKE(259,45):PAUSE 9:GOTO 255
314 !
315 ! SOUS-PROGRAMMES CALL
316 !
317 ! CADRE PRESENTATION JEU
318 SUB CADRE:CALL COLOR("0Yb")
319 LOCATE (1,2):PRINT RPT$(" ",38)
320 LOCATE (1,3):PRINT "VISION SALLE  COMMENTAIRES":LOCATE (1,34)
321 PRINT "PLAN":LOCATE (11,30):PRINT "  DIAMANT  "
322 LOCATE (15,2):PRINT RPT$(" ",28)
323 LOCATE (15,5):PRINT "VIE ->"
324 CALL COLOR("0RY"):PRINT CHR$(12)
325 CALL COLOR("0Yb"):LOCATE (15,18):PRINT "FORCE ->"
326 CALL COLOR("0YG"):PRINT CHR$(12)
327 LOCATE (21,1):CALL COLOR("0Yb")
328 PRINT RPT$(" ",40):FOR I=1 TO 20
329 LOCATE (I,1):PRINT " ":LOCATE (I,30):PRINT " ":LOCATE (I,40):PRINT " "
330 NEXT:FOR I=2 TO 14:LOCATE (I,15):PRINT " ":NEXT:SUBEND
331 ! POINTS DU JOUEUR
332 SUB PTS(VIE,FOC):CALL COLOR("0BB")
333 LOCATE (17,3):PRINT RPT$(" ",26)
334 LOCATE (19,3):PRINT RPT$(" ",26)
335 CALL COLOR("0YR"):LOCATE (17,3):PRINT RPT$(CHR$(12),VIE):LOCATE (19,3)
336 CALL COLOR("0YG"):PRINT RPT$(CHR$(12),FOC):SUBEND
337 ! DIAMANT EN POSSESSION DU JOUEUR
338 SUB DIAM(DIAM):Q=13:IF DIAM>2 THEN Q=17
339 R=32:IF DIAM/2=INT(DIAM/2)THEN R=36
340 CALL COLOR("1CB"):LOCATE (Q,R):PRINT "123":LOCATE (Q+1,R)
341 PRINT "456":CALL COLOR("1RB"):LOCATE (Q+2,R):PRINT "789":SUBEND
342 ! PLAN AVEC EMPLACEMENT DU JOUEUR
343 SUB PLAN(X,Y):Q=X+31:R=Y+2:CALL COLOR("1GB"):FOR I=3 TO 9:LOCATE (I,32)
344 PRINT RPT$("0",7):NEXT:LOCATE (R,Q):CALL COLOR("1MB"):PRINT "0"
345 LOCATE (10,35):CALL COLOR("0YB"):PRINT "^":SUBEND
346 ! AFFICHAGE SALLE EN PERSPECTIVE AVEC LES PORTES
347 SUB SALLE(X,W):CALL COLOR("1YM")
348 FOR Y=2 TO 5:LOCATE (Y,2):Q$=RPT$(CHR$(160),Y-2)
349 PRINT Q$;"K";RPT$(" ",11-(Y-2)*2);"L";Q$:NEXT:CALL COLOR("1YM")
350 Q=8:FOR Y=11 TO 14:LOCATE (Y,2):Q$=RPT$(CHR$(160),Y-Q)
351 PRINT Q$;"M";RPT$(" ",Y*2-17);"N";Q$:Q=Q+2:NEXT:CALL COLOR("0YG")
352 Q$=RPT$(CHR$(160),4):Q$=Q$&RPT$(" ",5)&Q$:FOR Y=6 TO 10
353 LOCATE (Y,2):PRINT Q$:NEXT
354 IF W=1 THEN 357
355 CALL COLOR("1MR"):Q=5:FOR Y=3 TO 5
356 LOCATE (Y,Y+2):PRINT "K";RPT$(" ",Q);"L":Q=Q-2:NEXT
357 IF X=7 THEN 362
358 CALL COLOR("1YC"):LOCATE (5,13)
359 PRINT "M":LOCATE (6,12):PRINT "M "
360 LOCATE (7,11):PRINT "M  ":LOCATE (8,11):PRINT "   ":LOCATE (9,11)
361 PRINT "K  ":LOCATE (10,12):PRINT "K ":LOCATE (11,13):PRINT "K"
362 IF W=7 THEN 365
363 CALL COLOR("1MR"):Q=1:FOR Y=11 TO 13:LOCATE (Y,Y-Q-3)
364 PRINT "M";RPT$(" ",Q);"N":Q=Q+2:NEXT
365 IF X=1 THEN 370
366 CALL COLOR("1YC"):LOCATE (5,3)
367 PRINT "N":LOCATE (6,3):PRINT " N":LOCATE (7,3):PRINT "  N":LOCATE (8,3)
368 PRINT "   ":LOCATE (9,3):PRINT "  L":LOCATE (10,3):PRINT " L"
369 LOCATE (11,3):PRINT "L"
370 IF X<>4 OR X<>7 THEN 373
371 CALL COLOR("0BM"):LOCATE (13,5):PRINT "ENTREE":LOCATE (14,4)
372 PRINT "LABYRINTHE"
373 SUBEND
374 ! CADRAGE ECRITURE LORS DU JEU
375 SUB ECR(Q,Q$):R=INT((14-LEN(Q$))/2)+16:LOCATE (Q,R):PRINT Q$:SUBEND
376 ! EFFACEMENT COMMENTAIRES
377 SUB F:CALL COLOR("0BB")
378 FOR Y=2 TO 14:LOCATE (Y,16)
379 PRINT RPT$(" ",14):NEXT:SUBEND
380 ! AFFICHAGE JOUEUR
381 SUB JOU(Y):IF Y=1 THEN Q$="1WM" ELSE Q$="1WR"
382 CALL COLOR(Q$):LOCATE (4,6):PRINT "AB":LOCATE (5,7):PRINT "D"
383 CALL COLOR("1WM"):LOCATE (5,6):PRINT "C":CALL COLOR("1WG")
384 LOCATE (6,6):PRINT "EF":SUBEND
385 ! AFF. MONSTRE
386 SUB MON:CALL COLOR("1BG")
387 LOCATE (8,8):PRINT "OPQ":LOCATE (9,8):PRINT "RST":LOCATE (10,8)
388 PRINT "UVW":SUBEND
389 ! AFF. DIAMANT
390 SUB DIA:CALL COLOR("1bG"):LOCATE (6,9):PRINT "GH":LOCATE (7,9)
391 PRINT "IJ":SUBEND
392 ! AFF. JOUEUR OU MONSTRE MIS EN POUSSIERE
393 SUB POU(Q):IF Q=1 THEN 396
394 CALL COLOR("1BG"):LOCATE (8,8):PRINT " ab"
395 LOCATE (9,8):PRINT " cd":IF Q<>2 THEN SUBEXIT
396 CALL COLOR("1BG"):LOCATE (6,6):PRINT "ab":LOCATE (7,6)
397 PRINT "cd":SUBEND
398 ! CADRAGE ECRITURE LORS DES REGLES
399 SUB ACR(Q1$,Q$,Q)
400 Q1=INT((42-LEN(Q$))/2)-1:FOR Y=1 TO LEN(Q$)
401 CALL COLOR("0MR"):LOCATE (Q,Q1+Y)
402 PRINT " ":CALL POKE(258,111,132):CALL COLOR(Q1$)
403 CALL POKE(258,123,132):LOCATE (Q,Q1+Y):PRINT SEG$(Q$,Y,1)
404 CALL KEY1(C,D):IF D<>0 THEN 406
405 NEXT:CALL POKE(259,45):SUBEXIT
406 LOCATE (Q,Q1+1):PRINT Q$:CALL POKE(259,45):SUBEND
407 ! MESSAGE CONSEIL (regle du jeu)
408 SUB MESSA:CALL COLOR("0WR")
409 LOCATE (22,4):PRINT "Tapez une touche pour continuer":SUBEND
410 !
411 ! BONNE CHANCE ...
412 !


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.