Hebdogiciel n°154 à 159

 

Carpathians 1879 fait sûrement partie des jeux pour EXL100 les plus travaillés en provenance d'Hebdogiciel. La longueur du listing est inhabituelle, au point que la revue l'a morcelé sur 6 numéros.  Si le jeu reste un (trop) classique jeu de plateforme, on sent nettement chez les frères Farges la volonté d'offrir aux lecteurs un programme abouti: Les écrans de présentations sont clairs et visuellement agréables, les bruitages en synthèse vocale sont nombreux et variés, les tableaux de niveaux se succèdent avec un graphisme différent.

Note: L'EXL100 ne pouvant charger la totalité de ce programme en mémoire, Carpathians 1879 est scindé en deux programmes «CARPAT0.BAS» et «CARPAT1.BAS». Le listing a été adapté pour une utilisation sur disquette. Exécutez le premier programme, la seconde partie se lancera automatiquement.

LISTING I:

10 ! JEAN-LUC ET
12 ! FREDERIC FARGES
14 ! PRESENTENT
16 ! CARPATHIANS 1879
18 CLS "bBB"
20 CALL POKE(50432,162,5,45,162,136,45,10,162,5,45,162,200,45,10)
22 CALL EXEC(50432):ON WARNING NEXT
24 LOCATE (10,1):CALL COLOR("0RB"):PRINT "Un moment s.v.p.":CALL BON
26 GOSUB 844
28 CALL CHAR(1,"0E0F07010305070603FF")
30 CALL CHAR(2,"70F0E080C0A0E060C0FF")
32 CALL CHAR(3,"FFDF9F7F0F0F07020A06")
34 CALL CHAR(4,"FFFDF9FEF0F0E0405060")
36 CALL CHAR(5,"8E8F87FFC3A7FFA7A3FF")
38 CALL CHAR(6,"71F1E1FFC3E5FFE5C5FF")
40 CALL CHAR(7,"9F9FFF8F8FFF87828F86")
42 CALL CHAR(8,"F9F9FFF1F1FFE1415F61")
44 CALL CHAR(9,"8E8F87FF8387FF8783FF")
46 CALL CHAR(10,"71F1E1FFC1E1FFE5C5FF")
48 CALL CHAR(11,"BFDFFF8F8F888782A498")
50 CALL CHAR(12,"FDFBFFF1F1FFE1412519")
52 CALL CHAR(13,"393F1F060F1E1B1C0F07")
54 CALL CHAR(14,"C0C080000080E0800080")
56 CALL CHAR(15,"0F1E1C1B1C1F0F040406")
58 CALL CHAR(16,"C060F0F070E0C08080C0")
60 CALL CHAR(17,"0E0F0701030707060301")
62 CALL CHAR(18,"70F0E080C0A0F820C080")
64 CALL CHAR(19,"03060504070703020406")
66 CALL CHAR(20,"E0F0F818F8F0E0402810")
68 CALL CHAR(21,"03030100000107010001")
70 CALL CHAR(22,"98F8F060F078D838F0C0")
72 CALL CHAR(23,"03060F0F0E0703010103")
74 CALL CHAR(24,"F07838D818F8F0202060")
76 CALL CHAR(25,"0E0F070103051F040301")
78 CALL CHAR(26,"70F0E080C0E0E060C080")
80 CALL CHAR(27,"070F1F181F0F07021408")
82 CALL CHAR(28,"C060A020E0E0C0402060")
84 CALL CHAR(41,"393F1F060F1E1F180F07")
86 CALL CHAR(42,"C0FF8080FF80E0FF8080")
88 CALL CHAR(43,"0F1F1C1B1C1F0F04080C")
90 CALL CHAR(44,"C0FFF0F0FFE0C0FF80C0")
92 CALL CHAR(45,"39FF1F06FF1E1FF80F07")
94 CALL CHAR(46,"C0C080000080E0800080")
96 CALL CHAR(47,"0FFF1C1BFC1F0FFF090D")
98 CALL CHAR(48,"C020F0F030E0C08080C0")
100 CALL CHAR(57,"8EFF8781FF8787FE8381")
102 CALL CHAR(58,"71FFE181FFA1F93FC181")
104 CALL CHAR(59,"81FE8584FF8783FF8486")
106 CALL CHAR(60,"E1FFF9199FFF1EFF2911")
108 CALL CHAR(49,"03FF0100FF0107FF0001")
110 CALL CHAR(50,"9CFCF860F078F818F0E0")
112 CALL CHAR(51,"03FF0F0CFF0703FF0103")
114 CALL CHAR(52,"F038C808F8F8F0201030")
116 CALL CHAR(53,"03030100000107010001")
118 CALL CHAR(54,"9CFFF860FF78F81FF0E0")
120 CALL CHAR(55,"03070F0C0F0703010103")
122 CALL CHAR(56,"F03FC808FFF8F0FF90B0")
124 CALL CHAR(61,"8EFF8781FF859FFC8381")
126 CALL CHAR(62,"71FFE181FFE1E17FC181")
128 CALL CHAR(63,"87FF9F98FF8F87FF9488")
130 CALL CHAR(64,"C17FA121FFE1C1FF2161")
132 CALL CHAR(33,"0E0F070143452726331F")
134 CALL CHAR(34,"70F0E080C2A2E464CCF8")
136 CALL CHAR(35,"1F0F0F0F0F0703062C18")
138 CALL CHAR(36,"F8F0F0F0F0E0C0603418")
140 CALL CHAR(37,"0E0F0701038787C7C377")
142 CALL CHAR(38,"70F0E080C0E1E1E3C3EE")
144 CALL CHAR(39,"3F1F1F1F0F0F0706040C")
146 CALL CHAR(40,"FCF8F8F8F0F0E0602030")
148 CALL CHAR(107,"00000000000001000000")
150 CALL CHAR(108,"E7FF7E183C5EFE463C18")
152 CALL CHAR(109,"000701010110100F0000")
154 CALL CHAR(110,"7C0EFEFEFEFC78E00000")
156 CALL CHAR(77,"E7FF7E183C7A7F623C18")
158 CALL CHAR(78,"00000000000080000000")
160 CALL CHAR(79,"3E707F7F7F3F1E070000")
162 CALL CHAR(80,"00E08080800808F00000")
164 CALL CHAR(81,"8EFF8781FF8587FE8381")
166 CALL CHAR(82,"71FFE1C1FFA1E17FC181")
168 CALL CHAR(83,"FFEFCFBF87FF8382FF8C")
170 CALL CHAR(84,"FFF7F3FDE1FFC141FF31")
172 CALL CHAR(97,"0C0406070F8F9FDFDFFF")
174 CALL CHAR(98,"302060E0F0F1F9FBFBFF")
176 CALL CHAR(99,"7F030707070301070F0E")
178 CALL CHAR(100,"FEC0E0E0E0C080E0F070")
180 CALL CHAR(101,"00000000000000061920")
182 CALL CHAR(102,"00000000001824C31818")
184 CALL CHAR(103,"00000000000000609804")
186 CALL CHAR(104,"4C919148808650888860")
188 CALL CHAR(105,"18FFFF181B1818191818")
190 CALL CHAR(106,"0201010631898A190106")
192 CALL CHAR(89,"00003C428181423C0000")
194 CALL CHAR(90,"18244281818181422418")
196 CALL CHAR(69,"80FF8080FF8080FF8080")
198 CALL CHAR(70,"01FF0101FF0101FF0101")
200 C1$="02882BCD51B69A6855B340F1E16A338903E517699E2A6154B80A929504815395AA500"
202 C2$="D0006C4996684D44B84358E125455D1AED646B08325369C58410972B0C4B86321B061"
204 C3$="A21B4E9848A77156B82122EDCE31D3F0FF01"
206 COUCOU$=C1$&C2$&C3$
208 NUM1$="C9AEB5D334AA1CAFA476F3AA73BDE3969AAA99B2AFBBBDE59354CA5E56865F5C1A"
210 NUM2$="454B4951F22E5C49C5A5C13B7B191551246F829994FF1F"
212 UN$=NUM1$&NUM2$
214 N1$="24673225AB629292CAB68C32892AC9D3A32202A904ED8C4849ABDC41435515AF6AAB"
216 N2$="0C16F6728221CC29A4CF75B73DAC2A4238BD55B3AA0B26D797CD2DDC852B5A263F72"
218 N3$="B7685F61E2A8593CBD2429925454EF46FF0F"
220 DEUX$=N1$&N2$&N3$
222 M1$="0CD8D6420103AF0B20DA7301047ECD00ADB64219456F08750969E679A6D4BA06C38"
224 M2$="F6156CD674E6F7AC34B694A2D2757DF04A1B690B96915169161A8915856ED76B295F"
226 M3$="FCF7"
228 TROIS$=M1$&M2$&M3$
230 AL1$="0A89EE1EC583042AD66FEA6A938A7417A1898E49F2476267E5292817D4356219C15"
232 AL2$="4DF0396C468DFEA93D5ADC242BF63CD768289EB07BBB61320FD2506E4EFCE80FA29"
234 AL3$="9CE8A3DCA559524C08FEE3AA4CE021CC9BCA5A85C4F447DEEB0910FF2303F26F254"
236 AL4$="0F9144ECC11A7AAE210365AFEAD10CB88A4E32BC90D27FE1F00"
238 ALARME$=AL1$&AL2$&AL3$&AL4$
240 F1$="83AF5139282726BE4452A37EE5F8ECD14DEE75E36B540E8959856F99C5D11F3ABE46"
242 F2$="54C7FEA2F8E2C05DEEB3E2B33574DD378CCF16D26D3F333E5B88D4F9F2FF"
244 FLIP$=F1$&F2$
246 MIA1$="CC31D4A32362293750F10D8B69DC44D87B8896712365EFE2C6C95D8140A6E51477"
248 MIA2$="2E45EA8AB2ECB5C74033F6E9E7CC248D3867E8CD9B2D130FAF256F95A893FA1E28"
250 MIA3$="0D359973BA434ED466AECF9CB4C3AB182743D54EA993EC6519343DE9EB576D028F"
252 MIA$=MIA1$&MIA2$&MIA3$&"CAA7EF330325139D61"
254 CLS "bBB":CALL COLOR("1WB")
256 FOR I=1 TO 40:LOCATE (1,I)
258 PRINT "Y":NEXT
260 FOR I=2 TO 19:LOCATE (I,40)
262 PRINT "Z":NEXT


264 FOR I=40 TO 1 STEP -1:LOCATE (20,I)
266 PRINT "Y":NEXT
268 FOR I=19 TO 2 STEP -1:LOCATE (I,1)
270 PRINT "Z":NEXT
272 CALL POKE(51184,165,8,6,10)
274 CALL POKE(49156,199,140)
276 RESTORE 278:FOR I=1 TO 9:READ S,P
278 DATA 105,10,111,10,118,10,125,10,105,10,111,10,118,10,125,10,199,80
280 CALL POKE(258,S,132):FOR K=1 TO 10*P:NEXT
282 CALL POKE(259,45):NEXT
284 CALL COLOR("0bB")
286 LOCATE (2,10):CALL POKE(258,105,132)
288 PRINT "JEAN LUC ET FREDERIC"
290 PAUSE .1
292 CALL COLOR("0CB"):CALL POKE(258,111,132):LOCATE (5,17):PRINT "FARGES"
294 PAUSE .1
296 CALL COLOR("0Y")
298 LOCATE (7,15):CALL POKE(258,118,132)
300 PRINT "PRESENTENT":PAUSE .1
302 CALL POKE(258,125,132):PAUSE .8:CALL POKE(259,45)
304 A$="   CCAARRPPAATTHHIIAANNSS  11887799"
306 FOR J=2 TO LEN(A$)
308 CALL COLOR("1WB"):LOCATE (9,J):PRINT " ";CHR$(13);CHR$(14):LOCATE (10,J)
310 PRINT " ";CHR$(15);CHR$(16)
312 LOCATE (9,J):PRINT " ";CHR$(17);CHR$(18):LOCATE (10,J)
314 PRINT " ";CHR$(19);CHR$(20):CALL COLOR("0RHL"):LOCATE (9,J)
316 PRINT SEG$(A$,J,1):CALL COLOR("0MHL"):LOCATE (10,J):PRINT SEG$(A$,J,1)
318 NEXT:LOCATE (9,J):PRINT "   ":LOCATE (10,J):PRINT "   "
320 CALL POKE(258,199,132)
322 CALL COLOR("0GB"):LOCATE (15,4)
324 PRINT "Voulez-vous les regles du jeu  ?"
326 LOCATE (16,13):PRINT "(1=NON  2=OUI)":PAUSE .8
328 CALL POKE(259,45):CALL EXEC(50700):PAUSE 1.5
330 R$=KEY$
332 IF R$="1" THEN CALL NON:GOTO 406
334 IF R$="2" THEN CALL OUI:GOTO 338
336 GOTO 330
338 PAUSE 1:CALL SPEECH("L,"&COUCOU$):CALL COLOR("0B")
340 CALL POKE(51184,165,8,6,10):CALL POKE(49156,199,240):FOR I=2 TO 19
342 LOCATE (I,2)
344 PRINT RPT$(" ",38)
346 NEXT
348 CALL COLOR("0MBLF")
350 LOCATE (2,7)
352 PRINT "RREEGGLLEESS  DDUU  JJEEUU"
354 DIM B$(16)
356 B$(2)="           AN DE GRACE 1879 "
358 B$(3)="           ---------------- "
360 B$(4)="  LES MONTAGNES DES CARPATHES"
362 B$(5)="  SONT LE SITE PRIVILEGIE DES "
364 B$(6)="  REVENANTS."
366 B$(7)="  D'APRES LA RUMEUR L'UN D'ENTRE"
368 B$(8)="  EUX S'EST REFUGIE DANS VOTRE MANOIR."
370 B$(9)="                                      "
372 B$(10)="  ERRANT CHEZ VOUS,"
374 B$(11)="  IL VOUS FAUT L'EVITER CAR S'IL"
376 B$(12)="  PARVIENT A VOUS TOUCHER,VOUS MOURREZ."
378 B$(13)="                                      "
380 B$(14)="  JE VOUS SOUHAITE BIEN DU"
382 B$(15)="  COURAGE DANS VOTRE POURSUITE."
384 B$(16)="                                      "
386 FOR I=1 TO 16:FOR J=2 TO LEN(B$(I))
388 IF I<14 THEN CA$="0YB" ELSE CA$="0RB"
390 CALL COLOR(CA$):LOCATE (I+1,J):PRINT SEG$(B$(I),J,1)
392 NEXT
394 CALL SPEECH("L,0D7C8BAABAB602FC"):CALL SPEECH("L,0D7C91B2BAB602FC"):NEXT
396 CALL EXEC(50700):PAUSE 1.5:CALL COLOR("0CWH"):LOCATE (18,10)
398 PRINT "RETURN POUR LA SUITE"
400 CALL COLOR("0bWH"):LOCATE (19,10)
402 PRINT "RETURN POUR LA SUITE"
404 PAUSE:CALL SPEECH("L,"&FLIP$):GOSUB 638
406 CALL POKE(51184,165,8,6,10):CALL POKE(49156,199,240):CALL COLOR("0BB")
408 FOR I=2 TO 19
410 LOCATE (I,2)
412 PRINT RPT$(" ",38)
414 NEXT
416 CALL COLOR("0bBL")
418 LOCATE (3,13):PRINT "OOPPTTIIOONNSS"
420 FOR I=13 TO 26
422 CALL COLOR("0YB")
424 LOCATE (4,I):PRINT CHR$(4):CALL POKE(258,I*2,130)
426 NEXT:CALL POKE(259,45):CALL SPEECH("L,"&FLIP$)
428 NB$="NOMBRE DE JOUEURS"
430 CALL COLOR("0RBH")
432 LOCATE (8,11)
434 PRINT NB$
436 CALL COLOR("0MBH")
438 LOCATE (9,11)
440 PRINT NB$
442 NMB$=KEY$
444 IF NMB$="1" THEN NB=1:CALL SPEECH("L,"&UN$):GOTO 450
446 IF NMB$="2" THEN NB=2:CALL SPEECH("L,"&DEUX$):GOTO 464
448 GOTO 442
450 CALL COLOR("0GBH")
452 LOCATE (12,15)
454 PRINT "UN  JOUEUR"
456 CALL COLOR("0WBH")
458 LOCATE (13,15)
460 PRINT "UN  JOUEUR"
462 GOTO 476
464 CALL COLOR("0GBH")
466 LOCATE (12,14)
468 PRINT "DEUX JOUEURS"
470 CALL COLOR("0WBH")
472 LOCATE (13,14)
474 PRINT "DEUX JOUEURS"
476 PAUSE 3
478 FOR I=8 TO 19
480 CALL COLOR("0BB")
482 LOCATE (I,2)
484 PRINT RPT$(" ",38)
486 NEXT
488 C$(1)="WL":C$(2)="CL":C$(3)="bL"
490 OP$(1)="  11..DDEEBBUUTTAANNTT................"
492 OP$(2)="  22..AAMMAATTEEUURR.................."
494 OP$(3)="  33..PPRROOFFEESSSSIIOONNNNEELL......"
496 FOR I=1 TO 3
498 FOR J=3 TO LEN(OP$(I))
500 CALL COLOR("0"&C$(I))
502 LOCATE (I+8,J):PRINT SEG$(OP$(I),J,1)
504 NEXT:CALL SPEECH("L,"&ALARME$)
506 NEXT
508 CALL COLOR("0RBHL")
510 NIE$="NNIIVVEEAAUUXX  DDUU  JJEEUU"


512 LOCATE (15,6)
514 PRINT NIE$
516 CALL COLOR("0YBHL")
518 LOCATE (16,6)
520 PRINT NIE$
522 NIV$=KEY$
524 IF NIV$="1" THEN VIE=7:CALL SPEECH("L,"&UN$):GOTO 532
526 IF NIV$="2" THEN VIE=5:CALL SPEECH("L,"&DEUX$):GOTO 542
528 IF NIV$="3" THEN VIE=3:CALL SPEECH("L,"&TROIS$):GOTO 552
530 GOTO 522
532 CALL COLOR("0MBLF")
534 FOR I=3 TO LEN(OP$(1))
536 LOCATE (9,I):PRINT SEG$(OP$(1),I,1)
538 NEXT
540 GOTO 560
542 CALL COLOR("0MBLF")
544 FOR I=3 TO LEN(OP$(2))
546 LOCATE (10,I):PRINT SEG$(OP$(2),I,1)
548 NEXT
550 GOTO 560
552 CALL COLOR("0MBLF")
554 FOR I=3 TO LEN(OP$(3))
556 LOCATE (11,I):PRINT SEG$(OP$(3),I,1)
558 NEXT
560 PO$="VEUILLEZ PATIENTER S.V.P."
562 LOCATE (18,7)
564 CALL COLOR("0GBHF")
566 PRINT PO$
568 LOCATE (19,7)
570 CALL COLOR("0CBHF")
572 PRINT PO$
574 PA=1:J=0
576 IF PA=1 THEN SON$=COUCOU$
578 IF PA=2 THEN SON$=MIA$
580 IF PA=3 THEN SON$=ALARME$
582 X$=SON$&"X"
584 FOR I=1 TO LEN(X$)STEP 2
586 A$=SEG$(X$,I,1)
588 IF A$="X" THEN 606
590 IF NUMERIC(A$)THEN A=VAL(A$) ELSE A=ASC(A$)-55
592 B=16*A
594 A$=SEG$(X$,I+1,1)
596 IF NUMERIC(A$)THEN A=VAL(A$) ELSE A=ASC(A$)-55
598 B=B+A
600 CALL POKE(50688+J,B)
602 J=J+1
604 NEXT
606 PA=PA+1:IF PA<4 THEN 576
608 CALL COLOR("0GG")
610 FOR I=2 TO 19
612 LOCATE (I,2)
614 PRINT RPT$(" ",38)
616 NEXT
618 CALL COLOR("0BGH")
620 LOCATE (9,9)
622 PRINT "JE CHARGE LA 2e PARTIE"
624 CALL COLOR("0bGH")
626 LOCATE (10,9)
628 PRINT "JE CHARGE LA 2e PARTIE"
630 CALL SPEECH("L,"&ALARME$):PAUSE 1
632 FOR I=50 TO 30 STEP -1:CALL POKE(258,I,130):NEXT:CALL POKE(259,45)
634 CALL POKE(50761,NB,VIE):PAUSE 3!CALL HROFF:END
636 CALL DOS("LOADRUN A:CARPAT1.BAS")
638 FOR I=3 TO 19:CALL COLOR("0BB"):LOCATE (I,2):PRINT RPT$(" ",38):NEXT
640 CALL COLOR("0YBH"):LOCATE (3,2):PRINT "VOUS POURREZ:"
642 CALL COLOR("0RBH"):LOCATE (4,2):PRINT "VOUS POURREZ:"
644 Z$(1)=" - VOUS DIRIGER A DROITE,A GAUCHE"
646 Z$(2)="   EN HAUT,EN BAS.CES COMMANDES"
648 Z$(3)="   SONT ACCESSIBLES DIRECTEMENT"
650 Z$(4)="   AU CLAVIER OU AVEC LES MANETTES"
652 Z$(5)=" - A 1 JOUEUR:MANETTE 1 OU LE CLAVIER"
654 Z$(6)=" - A 2 JOUEURS:MANETTE 1 P0UR LE 1r J."
656 Z$(7)="   ET LA 2e POUR LE SECOND J."
658 CALL COLOR("0GB"):FOR I=1 TO 7
660 LOCATE (19,10):PRINT "RETURN POUR LA SUITE"
662 FOR J=2 TO LEN(Z$(I)):LOCATE (I+5,J):PRINT SEG$(Z$(I),J,1):NEXT:NEXT
664 A$=KEY$
666 FOR I=5 TO 18:LOCATE (I,2):PRINT RPT$(" ",38):NEXT:CALL COLOR("0R")
668 Z$(1)="  ATTENTION !!!!!"
670 Z$(2)=" - AU DEBUT DE CHAQUE TABLEAU"
672 Z$(3)="  ARTHUR,LE REVENANT APPARAITRA"
674 Z$(4)="  AU HASARD DANS LA PIECE."
676 Z$(5)="  DES LORS IL VOUS SUIVRA PAS A PAS."
678 Z$(6)="  MAIS PRENEZ GARDE,IL BONDIRA DANS"
680 Z$(7)="  VOTRE DIRECTION CHAQUE FOIS QU'IL"
682 Z$(8)="  VOUS ENTENDRA DEVORER LES METS."
684 Z$(9)="  TANT CONVOITES,QUE VOUS DEVEZ "
686 Z$(10)="  TOUS MANGER."
688 FOR I=1 TO 10:FOR J=2 TO LEN(Z$(I)):LOCATE (I+5,J):PRINT SEG$(Z$(I),J,1)
690 NEXT:NEXT:A$=KEY$
692 FOR I=1 TO 9:Z$(I)="":NEXT
694 FOR I=1 TO 16:B$(I)="":NEXT
696 CALL CHAR(65,"FFFF010501010501FFFF")
698 CALL CHAR(66,"FFFF80A08080A080FFFF")
700 DATA "                                      "
702 DATA "EFBABABABABABABA      BABABABABABABAEF"
704 DATA "EF                                  EF"
706 DATA "EF                                  EF"
708 DATA "EFBA      BABABABABAEFBABABABABABA  EF"
710 DATA "EF                  EF              EF"
712 DATA "EF                  EF              EF"
714 DATA "EFEFBABABA      BABAEFBABABAEFBABABAEF"
716 DATA "EFEF                EF      EF      EF"
718 DATA "EF                  EF      EF      EF"
720 DATA "EF    BABA      BABAEFBABABAEFBABABAEF"
722 DATA "EF                                  EF"
724 DATA "EF                                  EF"
726 DATA "BABABABABABABABABABABABABABABABABABABA"


728 CALL COLOR("1bB"):RESTORE 702
730 FOR I=1 TO 13:READ DEM$:LOCATE (5+I,2):PRINT DEM$:NEXT
732 CALL CHAR(111,"0000000103070F0F1F1F"):CALL CHAR(112,"007CFCBE7E7EFCFCFC7E")
734 CALL CHAR(113,"3F3B37777E7D7D3F1E"):CALL CHAR(114,"BCB8F0F0E0C080")
736 CALL COLOR("1GB"):LOCATE (10,4):PRINT "op":LOCATE (11,4):PRINT "qr"
738 LOCATE (19,2):PRINT "   ":CALL COLOR("1W"):LOCATE (20,2):PRINT "YYY"
740 CALL COLOR("0BG"):LOCATE (4,15):PRINT "ALLER A DROITE"
742 CALL COLOR("1WB"):FOR I=4 TO 22:PAUSE .01:LOCATE (16,I):PRINT " ";CHR$(13);
744 PRINT CHR$(14)
746 LOCATE (17,I):PRINT " ";CHR$(15);CHR$(16):LOCATE (16,I):PRINT " ";CHR$(17);
748 PRINT CHR$(18):LOCATE (17,I):PRINT " ";CHR$(19);CHR$(20):NEXT
750 CALL COLOR("0BC"):LOCATE (4,15):PRINT "ALLER A GAUCHE":CALL COLOR("1WB")
752 FOR I=22 TO 4 STEP -1:PAUSE .01:LOCATE (16,I):PRINT CHR$(21);CHR$(22);" "
754 LOCATE (17,I):PRINT CHR$(23);CHR$(24);" ":LOCATE (16,I):PRINT CHR$(25);
756 PRINT CHR$(26);" ":LOCATE (17,I):PRINT CHR$(27);CHR$(28);" ":NEXT
758 LOCATE (17,4):PRINT "  ":LOCATE (16,4):PRINT "  "
760 LOCATE (16,3):PRINT CHR$(49);CHR$(50):LOCATE (17,3):PRINT CHR$(51);CHR$(52)
762 CALL COLOR("1b"):LOCATE (16,2):PRINT "EF ":LOCATE (17,2):PRINT "EF "
764 CALL COLOR("0BG"):LOCATE (4,15):PRINT "MONTER ET DESCENDRE"
766 FOR I=16 TO 8 STEP -1:PAUSE .01:CALL COLOR("1WB")
768 LOCATE (I-1,2):PRINT CHR$(5);CHR$(6):LOCATE (I,2):PRINT CHR$(11);CHR$(12)
770 LOCATE (I,2):PRINT CHR$(7);CHR$(8)
772 LOCATE (I-1,2):PRINT CHR$(9);CHR$(10):CALL COLOR("1b"):LOCATE (I+1,2)
774 PRINT "EF":NEXT:LOCATE (7,2):PRINT "EF"
776 CALL COLOR("1W"):LOCATE (7,3):PRINT CHR$(45);CHR$(46):LOCATE (8,3)
778 PRINT CHR$(47);CHR$(48):CALL COLOR("1bB"):LOCATE (7,2):PRINT "EF  "
780 LOCATE (8,2):PRINT "EF  ":CALL COLOR("1W"):LOCATE (7,4)
782 PRINT CHR$(13);CHR$(14):LOCATE (8,4):PRINT CHR$(15);CHR$(16)
784 LOCATE (7,4):PRINT "  ":LOCATE (8,4):PRINT "  "
786 CALL COLOR("0YB"):LOCATE (4,15):PRINT "AUSSI SAUTER       "
788 CALL COLOR("1WB"):FOR I=9 TO 10:PAUSE .01:LOCATE (I,6)
790 PRINT CHR$(77);CHR$(78)
792 LOCATE (I+1,6):PRINT CHR$(79);CHR$(80):LOCATE (I-1,6):PRINT "  ":NEXT
794 LOCATE (10,6):PRINT CHR$(33);CHR$(34):LOCATE (11,6):PRINT CHR$(35);CHR$(36)
796 PAUSE .3
798 LOCATE (10,6):PRINT CHR$(1);CHR$(2):LOCATE (11,6):PRINT CHR$(3);CHR$(4)
800 CALL COLOR("0BW"):LOCATE (4,15):PRINT "BIEN SUR MANGER":CALL COLOR("0BB")
802 LOCATE (10,6)
804 PRINT "  ":LOCATE (11,6):PRINT "  ":CALL COLOR("1WB"):FOR I=6 TO 4 STEP -1
806 PAUSE .01:LOCATE (10,I):PRINT CHR$(21);CHR$(22);" "
808 LOCATE (11,I):PRINT CHR$(23);CHR$(24);" ":LOCATE (11,I):PRINT CHR$(25);
810 PRINT CHR$(26);" ":LOCATE (11,I):PRINT CHR$(27);CHR$(28);" ":NEXT
812 LOCATE (10,4):PRINT CHR$(33);CHR$(34):LOCATE (11,4):PRINT CHR$(35);CHR$(36)
814 PAUSE .3
816 PAUSE .5:LOCATE (10,4):PRINT "  ":LOCATE (11,4):PRINT "  "
818 CALL COLOR("0bB"):LOCATE (4,15):PRINT "MOURIR         "
820 CALL COLOR("1WB"):LOCATE (12,4):PRINT CHR$(5);CHR$(6):LOCATE (13,4)
822 PRINT CHR$(7);CHR$(8):CALL COLOR("1bB"):LOCATE (12,4):PRINT "EF"
824 LOCATE (13,4):PRINT CHR$(9);
826 PRINT CHR$(10):LOCATE (14,4):PRINT CHR$(11);CHR$(12):CALL COLOR("1b")
828 LOCATE (13,4):PRINT "EF":CALL COLOR("1W"):LOCATE (14,4):PRINT CHR$(5);
830 PRINT CHR$(6):LOCATE (15,4):PRINT "'(":CALL COLOR("1b"):LOCATE (14,4)
832 PRINT "EF":LOCATE (15,4):PRINT CHR$(9);CHR$(10):LOCATE (16,4):PRINT "'("
834 LOCATE (15,4):PRINT "  ":LOCATE (14,4):PRINT "  "
836 LOCATE (16,4):PRINT "ab":LOCATE (17,4):PRINT "cd"
838 !
840 CALL COLOR("1R"):LOCATE (16,4):PRINT "efg":LOCATE (17,4):PRINT "hij"
842 A$=KEY$:RETURN
844 RESTORE 848:AD=50700:FOR I=0 TO 442
846 READ A:CALL POKE(AD,A):AD=AD-1:NEXT
848 DATA 152,79,10,120,11,10,121,0,9,251,10
850 DATA 174,138,49,135,61,34,150,52,198,26,154,136,85,194,152,107,120,163
852 DATA 86,243,82,168,149,136,88,195,138,185,135,38,103,13,61,150,94,238
854 DATA 168,180,212,20,107,169,50,242,146,83,171,196,203,56,75,74,181,146
856 DATA 174,34,47,49,46,119,189,132,189,138,56,61,116,43,246,17,210,240
858 DATA 146,169,42,71,78,195,75,38,19,31,167,152,108,243,176,209,210,234
860 DATA 178,210,71,52,1,114,14,37,64,14,169,8,200,190,28,1,41,101
862 DATA 32,160,216,74,04,164,144,142,128,236,199,17,208,101,24,6,16,16,83
864 DATA 249,224,83,206,230,205,88,135,73,169,150,59,26,45,38,245,90
866 DATA 153,108,117,184,84,162,181,187,241,82,83,175,244,8,218,4,240,206
868 DATA 21,1,201,149,35,32,23,53,4,68,151,134,128,46,195,6,23,123
870 DATA 140,102,198,62,108,108,121,86,217,248,112,177,249,200,84,227,163
872 DATA 166,18,165,27,177,4,16,146,51,2,167,42,85,161,26,8,232,50,12
874 DATA 129,83,149,170,80,13,24,66,170,62,92,213,232,240,169,218,240,70,147
876 DATA 35,231,234,35,147,137,146,147,67,150,107,72,66,224,84,165,42
878 DATA 84,3,160,105,177,250,106,123,173,165,164,238,195,157,182,135,149
880 DATA 106,100,68,73,65,224,84,165,42,84,3,1,93,134,97,160,88,41,249
882 DATA 74,103,173,161,199,21,163,91,150,150,158,186,13,111,218,46,94,170
884 DATA 209,230,105,25,1,93,134,1,6,146,159,122,180,76,197,106,110,172
886 DATA 185,92,25,107,153,177,197,240,84,173,229,166,22,173,89,182,17,224
888 DATA 11,11,2,167,42,85,161,26,0,41,78,197,87,50,99,53,63,21
890 DATA 95,201,106,84,220,212,108,165,202,118,115,82,243,165,206,216,195
892 DATA 78,221,135,58,27,15,59,117,27,234,74,220,156,212,108,104,42,81,115
894 DATA 83,245,149,138,202,205,77,205,71,51,106,53,47,54,95,141,142
896 DATA 85,252,216,108,165,58,86,11,82,177,149,238,88,45,74,213,71,163,106
898 CALL POKE(AD,149,56,101,95,169,172,149,210,88,124,165,42,86,78,255,31)
900 RETURN
902 SUB BON
904 RESTORE 908:FOR I=0 TO 192:READ CO:CALL POKE(50700+I,CO):NEXT
906 CALL EXEC(50700)
908 DATA 152,79,10,120,11,10,121,0,9,251,10
910 DATA 164,54,35,36,60,146,176,198,210,240,52,79,204,90,203,220,205,34
912 DATA 137,234,18,15,229,80,187,37,79,170,147,149,26,149,56,168,24,21
914 DATA 206,156,92,47,171,13,195,102,49,188,24,23,46,91,69,15,106,92
916 DATA 184,108,21,51,168,42,34,119,89,156,224,195,137,210,118,9,178,52
918 DATA 23,54,59,37,155,202,156,149,237,180,106,186,12,87,33,221,234,165
920 DATA 51,69,132,74,169,186,50,87,116,167,165,12,198,213,220,210,148,42
922 DATA 242,54,74,237,156,234,96,155,217,228,81,104,189,106,81,149,37,174
924 DATA 247,186,85,133,23,155,49,200,81,50,94,99,38,175,70,217,100,145
926 DATA 154,188,26,99,147,217,106,114,174,204,196,86,153,57,184,50,81,185
928 DATA 101,230,232,42,68,108,37,2,88,99,70,64,8,165,8,136,58,237
930 DATA 255,1
931 SUBEND
932 SUB OUI
934 O1$="6CD5A19D59B398D9BA4E56CEEBC6E0BA44318FEF431B4D271B764E75346914B67A54"
936 O2$="4D8A68DB92552ECD2C1D73463925A9554E2955455C59552657A14E582A3BCD98C611"
938 O3$="9D8890ACEA8839DDD38EA82A45537727FF0F"
940 OU$=O1$&O2$&O3$:CALL SPEECH("L,"&OU$):PAUSE .5
942 SUBEND
944 SUB NON
946 N1$="EECA92342CE6FAC1755961586493D8B4AA6835516932AAECD230B4F62A8B8AA2D4D"
948 N2$="8B31C5515D69466BB555456269E25A9BDAE9701AB1C51A23CCD4DD01FF03"
950 NO$=N1$&N2$:CALL SPEECH("L,"&NO$):PAUSE .5:SUBEND
952 !
954 ! NE FAITES PAS Ctl C QAND VOUS JOUEREZ (SONS DEFECTUEUX)
956 !LE RECORD EST 213443 AU NIVEAU 3


LISTING II:


10 ! HEBDOGICIEL 154 & 155 & 156 & 157 & 158 & 159
12 ON WARNING NEXT:CALL CHAR(90,"00")
14 CLS:PR=0
16 CALL COLOR("0bGIFL"):LOCATE (11,5):PRINT "UUnn  mmoommeenntt  SS..VV..PP"
18 CALL POKE(50432,162,5,45,162,136,45,10,162,5,45,162,200,45,10)
20 CALL EXEC(50432)
22 NBR=2:TA(1)=1:TA(2)=1:JO=1:TE(1)=1000:TE(2)=1000
24 DIM T$(20,40)
26 RESTORE 28:FOR I=1 TO 10:READ SN(I):NEXT
28 DATA 199,166,199,166,159,166,173,169,181,181
30 CALL POKE(51184,165,8,6,10):CALL POKE(49156,199,240)
32 CALL CHAR(111,"1F1014120A0808040407")
34 CALL CHAR(112,"F80828485090A02020E0")
36 H=1
38 IF H=1 THEN ZZ(1)=87:AD(1)=50688
40 IF H=2 THEN ZZ(2)=108:AD(2)=50688+87
42 IF H=3 THEN ZZ(3)=124:AD(3)=50688+87+108
44 FOR I=O TO ZZ(H)
46 CALL PEEK(AD(H)+I,A)
48 N=INT(A/16):B=A-N*16
50 IF N>9 THEN A$=CHR$(N+55) ELSE A$=STR$(N)
52 IF B>9 THEN B$=CHR$(B+55) ELSE B$=STR$(B)
54 S$(H)=S$(H)&A$&B$
56 NEXT
58 H=H+1:IF H<4 THEN 38
60 !
62 PT(1)=0:PT(2)=0:CALL PEEK(50761,NBR,VIE):CALL COLOR("0RB"):P(1)=1:P(2)=1
64 V(1)=VIE:V(2)=VIE:JO=1
66 MG=0:XJ=1:YJ=18:X=INTRND(39-5*P(JO)-TA(JO)):Y=18-INTRND(18-2*P(JO)-TA(JO))
68 TE(1)=1000:TE(2)=1000
70 IF TA(JO)=1 THEN RESTORE 482
72 IF TA(JO)=2 THEN RESTORE 540
74 IF TA(JO)=3 THEN RESTORE 598
76 IF TA(JO)=4 THEN RESTORE 658
78 IF TA(JO)=5 THEN RESTORE 718
80 IF TA(JO)=6 THEN RESTORE 776
82 PAUSE .5:CALL SPEECH("L,"&S$(3)):CLS "RBB":READ C1$:READ C2$:READ C3$
84 CALL SPEECH("L,"&S$(3)):PAUSE 1:CALL SPEECH("A,"&S$(3))
86 FOR I=1 TO 6:READ CHAR$(I):CALL CHAR(70+I,CHAR$(I)):NEXT
88 CALL COLOR(C3$)
90 LOCATE (1,1):FOR I=1 TO 19:READ TA$
92 PRINT TA$
94 FOR J=1 TO 40:T$(I,J)=SEG$(TA$,J,1)
96 NEXT J
98 NEXT I
100 FOR I=1 TO 8:READ XO,YO:CALL COLOR(C1$):LOCATE (YO-1,XO)
102 PRINT "IJ":CALL COLOR(C2$)
104 LOCATE (YO,XO):PRINT "KL":NEXT
106 IN=50688
108 DE=50725
110 DATA 7C527DDE7C387C290058FE297798017D98010EF6D728D07AD728D07B127EY
112 DATA 822E127F822E0AY
114 DATA 987D0EF7127A822E127B822E7D2878E3EE98797DE0C5X
116 ADR=IN
118 RESTORE 110
120 JJ=0
122 READ X$
124 FOR I=1 TO LEN(X$)STEP 2
126 A$=SEG$(X$,I,1)
128 IF A$="X" THEN 148
130 IF A$="Y" THEN 122
132 IF NUMERIC(A$)THEN A=VAL(A$) ELSE A=ASC(A$)-55
134 B=16*A
136 A$=SEG$(X$,I+1,1)
138 IF NUMERIC(A$)THEN A=VAL(A$) ELSE A=ASC(A$)-55
140 B=B+A
142 CALL POKE(ADR+JJ,B)
144 JJ=JJ+1
146 NEXT I
148 CALL CHAR(89,"7E8181A5A5818189D523")
150 CALL POKE(124,0,1,216,89)
152 CALL EXEC(IN)
154 II=1:DD=0:CALL COLOR("1WB"):LOCATE (17,1):PRINT CHR$(81);CHR$(82)
156 PG(JO)=.1*TA(JO)+P(JO)*.05
158 LOCATE (18,1):PRINT CHR$(83);CHR$(84)
160 CALL SPEECH("L,"&S$(1)):PAUSE 1:CALL SPEECH("A,"&S$(1))
162 CALL COLOR("0WBH"):LOCATE (20,1):PRINT "Joueur";JO;":"
164 CALL COLOR("0WBH"):LOCATE (21,1):PRINT "Joueur";JO;":"
166 CALL COLOR("0WB"):LOCATE (21,12):PRINT "Vies:"
168 CALL COLOR("1WB"):LOCATE (21,17):PRINT RPT$("op",V(JO))
170 CALL COLOR("0WB"):LOCATE (20,12):PRINT "POINTS:";PT(JO)
172 LOCATE (20,28):PRINT "Temps:";INT(TE(JO))
174 IF JO=1 THEN CALL KEY1(A,B):GOTO 178
176 CALL KEY2(A,B)
178 IF A<128 OR A>131 THEN CALL POKE(259,45):GOTO 182
180 A=A-127:ON A GOSUB 214,326,272,402
182 IF MG=8 THEN 928
184 X=X+PG(JO)*SGN(XJ-X)
186 Y=Y+PG(JO)*SGN(YJ-Y)
188 CALL POKE(120,X,Y)
190 CALL EXEC(DE)
192 CALL PEEK(123,PO):CALL PEEK(122,CO)
194 CALL COLOR("0WB"):LOCATE (20,19):PRINT PT(JO)
196 LOCATE (20,34):PRINT INT(TE(JO));" "
198 CALL POKE(258,SN(II),133)
200 IF II=10 THEN II=0
202 II=II+1
204 CALL POKE(259,45)
206 IF CO=248 AND PO<>0 THEN 906
208 TE(JO)=TE(JO)-3:CALL PEEK(120,XX,YY)
210 IF TE(JO)<0 OR (YJ=YY AND XJ=XX+1)THEN 906
212 GOTO 174


214 IF YJ>2 THEN YJ=YJ-1 ELSE RETURN
216 IF YJ=2 THEN 264
218 IF M=5 THEN M=9:GOTO 222
220 M=5
222 IF T$(YJ-1,XJ)="E"AND T$(YJ-1,XJ+1)="F" THEN 228
224 IF T$(YJ-1,XJ)=" "AND T$(YJ,XJ+1)="F" THEN 236
226 GOTO 244
228 CALL COLOR(C3$):LOCATE (YJ+1,XJ):PRINT T$(YJ+1,XJ);T$(YJ+1,XJ+1)
230 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(M);CHR$(M+1)
232 LOCATE (YJ,XJ):PRINT CHR$(M+2);CHR$(M+3)
234 RETURN
236 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(37);CHR$(38)
238 LOCATE (YJ,XJ):PRINT CHR$(M+2);CHR$(M+3)
240 CALL COLOR(C3$):LOCATE (YJ+1,XJ):PRINT T$(YJ+1,XJ);T$(YJ+1,XJ+1)
242 DD=1:RETURN
244 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(1);CHR$(2)
246 LOCATE (YJ,XJ):PRINT CHR$(3);CHR$(4):CALL COLOR(C3$):LOCATE (YJ+1,XJ)
248 PRINT T$(YJ+1,XJ);T$(YJ+1,XJ+1)
250 IF DD=0 THEN YJ=YJ+1
252 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(1);CHR$(2)
254 LOCATE (YJ,XJ):PRINT CHR$(3);CHR$(4)
256 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
258 DD=0
260 LOCATE (YJ+1,XJ):PRINT T$(YJ+1,XJ);T$(YJ+1,XJ+1)
262 RETURN
264 CALL COLOR("1WB"):LOCATE (1,XJ):PRINT CHR$(1);CHR$(2):LOCATE (2,XJ)
266 PRINT CHR$(3);CHR$(4):CALL COLOR(C3$):LOCATE (3,XJ)
268 PRINT T$(3,XJ);T$(3,XJ+1)
270 RETURN
272 IF YJ<18 THEN YJ=YJ+1 ELSE RETURN
274 IF M=5 THEN M=9:GOTO 278
276 M=5
278 IF T$(YJ,XJ)="G"OR T$(YJ,XJ)="H"OR T$(YJ,XJ)="F" THEN 324
280 IF T$(YJ+1,XJ)="G"AND T$(YJ+1,XJ+1)="H" THEN 290
282 IF T$(YJ,XJ)="E"AND T$(YJ-1,XJ+1)="F" THEN 298
284 IF T$(YJ,XJ)=" "AND T$(YJ-1,XJ+1)="F" THEN 306
286 IF T$(YJ,XJ)="E"AND T$(YJ-1,XJ+1)=" " THEN 316
288 GOTO 306
290 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(81);CHR$(82)
292 LOCATE (YJ,XJ):PRINT CHR$(83);CHR$(84)
294 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
296 RETURN
298 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(M);CHR$(M+1)
300 LOCATE (YJ,XJ):PRINT CHR$(M+2);CHR$(M+3)
302 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
304 RETURN
306 IF T$(YJ-1,XJ)=" "AND T$(YJ-1,XJ+1)=" " THEN GOTO 882:RETURN
308 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(M);CHR$(M+1)
310 LOCATE (YJ,XJ):PRINT CHR$(39);CHR$(40)
312 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
314 RETURN
316 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(37);CHR$(38)
318 LOCATE (YJ,XJ):PRINT CHR$(M+2);CHR$(M+3)
320 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
322 RETURN
324 YJ=YJ-1:RETURN
326 IF XJ<39 THEN XJ=XJ+1
328 DD=0
330 IF D=13 THEN D=17:GOTO 334
332 D=13
334 IF T$(YJ+1,XJ+1)<>" "AND T$(YJ,XJ+1)=" " THEN 342
336 IF T$(YJ,XJ+1)="Z" THEN 346
338 IF T$(YJ+1,XJ+1)=" " THEN GOSUB 834:RETURN
340 IF T$(YJ,XJ+1)="E"OR T$(YJ,XJ+1)="F" THEN 376
342 IF T$(YJ,XJ)="F" THEN 394
344 GOTO 368
346 CALL SPEECH("L,"&S$(2)):MG=MG+1:PT(JO)=PT(JO)+10*TA(JO)*MG
348 X=X+2*SGN(XJ-X):Y=Y+2*SGN(YJ-Y):TE(JO)=TE(JO)+20
350 CALL POKE(259,45):T$(YJ,XJ+1)=" ":T$(YJ,XJ+2)=" "
352 GOTO 354:CALL SPEECH("L,"&SON$(1))
354 CALL COLOR("1WB")
356 LOCATE (YJ,XJ+1):PRINT "  ":LOCATE (YJ-1,XJ+1):PRINT "  "
358 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(D);CHR$(D+1)
360 LOCATE (YJ,XJ):PRINT CHR$(D+2);CHR$(D+3)
362 CALL COLOR(C3$):LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1)
364 LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1)
366 RETURN
368 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(D);CHR$(D+1)
370 LOCATE (YJ,XJ):PRINT CHR$(D+2);CHR$(D+3)
372 CALL COLOR(C3$):LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1)
374 LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1):RETURN
376 IF T$(YJ-1,XJ)=" " THEN 386
378 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(57);CHR$(58)
380 LOCATE (YJ,XJ):PRINT CHR$(59);CHR$(60)
382 CALL COLOR(C3$):LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1)
384 LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1):RETURN
386 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(41);CHR$(42)
388 LOCATE (YJ,XJ):PRINT CHR$(43);CHR$(44)
390 CALL COLOR(C3$):LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1)
392 LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1):RETURN
394 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(45);CHR$(46)
396 LOCATE (YJ,XJ):PRINT CHR$(47);CHR$(48)
398 CALL COLOR(C3$):LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1)
400 LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1):RETURN
402 IF XJ>1 THEN XJ=XJ-1
404 DD=0
406 IF G=21 THEN G=25:GOTO 410
408 G=21
410 IF T$(YJ+1,XJ)<>" "AND T$(YJ,XJ)=" " THEN 418
412 IF T$(YJ,XJ)="Z" THEN 422
414 IF T$(YJ+1,XJ)=" " THEN GOSUB 856:RETURN
416 IF T$(YJ,XJ)="E"OR T$(YJ,XJ)="F" THEN 454
418 IF T$(YJ,XJ+1)="E" THEN 472
420 GOTO 444
422 CALL SPEECH("L,"&S$(2)):MG=MG+1:PT(JO)=PT(JO)+10*TA(JO)*MG
424 X=X+2*SGN(XJ-X):Y=Y+2*SGN(YJ-Y):TE(JO)=TE(JO)+20
426 CALL POKE(259,45):T$(YJ,XJ)=" ":T$(YJ,XJ-1)=" "
428 GOTO 430:CALL SPEECH("L,"&SON$(1)):PAUSE 1:CALL SPEECH("A,"&S$(1))
430 CALL COLOR("1WB")
432 LOCATE (YJ-1,XJ-1):PRINT "  ":LOCATE (YJ,XJ-1):PRINT "  "
434 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(G);CHR$(G+1)
436 LOCATE (YJ,XJ):PRINT CHR$(G+2);CHR$(G+3)
438 CALL COLOR(C3$):LOCATE (YJ-1,XJ+2):PRINT T$(YJ-1,XJ+2)
440 LOCATE (YJ,XJ+2):PRINT T$(YJ,XJ+2)
442 RETURN
444 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(G);CHR$(G+1)
446 LOCATE (YJ,XJ):PRINT CHR$(G+2);CHR$(G+3)
448 CALL COLOR(C3$):LOCATE (YJ-1,XJ+2):PRINT T$(YJ-1,XJ+2)
450 LOCATE (YJ,XJ+2):PRINT T$(YJ,XJ+2)
452 RETURN
454 IF T$(YJ-1,XJ+1)=" " THEN 464
456 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(61);CHR$(62)
458 LOCATE (YJ,XJ):PRINT CHR$(63);CHR$(64)
460 CALL COLOR(C3$):LOCATE (YJ-1,XJ+2):PRINT T$(YJ-1,XJ+2)
462 LOCATE (YJ,XJ+2):PRINT T$(YJ,XJ+2):RETURN
464 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(49);CHR$(50)
466 LOCATE (YJ,XJ):PRINT CHR$(51);CHR$(52)
468 CALL COLOR(C3$):LOCATE (YJ-1,XJ+2):PRINT T$(YJ-1,XJ+2)
470 LOCATE (YJ,XJ+2):PRINT T$(YJ,XJ+2):RETURN
472 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(53);CHR$(54)
474 LOCATE (YJ,XJ):PRINT CHR$(55);CHR$(56)
476 CALL COLOR(C3$):LOCATE (YJ-1,XJ+2):PRINT T$(YJ-1,XJ+2)
478 LOCATE (YJ,XJ+2):PRINT T$(YJ,XJ+2)
480 RETURN
482 DATA "1YB"
484 DATA "1CB"
486 DATA "1MB"
488 DATA "FF1010FF0101FF000000"
490 DATA "FF0808FF0101FF000000"
492 DATA "00000003071F3F3F7F7F"
494 DATA "000000C0E0F0F0F8F8F8"
496 DATA "3F2F2F3B3B2F2F3B1B0F"
498 DATA "F0DEDE7272DED67060C0"
500 DATA "          ZZ          ZZ                "
502 DATA "          ZZ          ZZ                "
504 DATA "EFGHGHGHGHGHGHEFGH  GHGHGHGHEFGHGHGHGHEF"
506 DATA "EF            EF            EF        EF"
508 DATA "EF    ZZ      EF        ZZ  EF        EF"
510 DATA "EF    ZZ      EF        ZZ  EF        EF"
512 DATA "EFGHGHGHGHGHGHEFGH  GHGHGHGHEFGHGHGHGHEF"
514 DATA "EF                          EF        EF"
516 DATA "EF    ZZ                    EF    ZZ  EF"
518 DATA "EF    ZZ                    EF    ZZ  EF"
520 DATA "EFGHGHGHGHGHGHGH    GHGHEFGHEFGHGHGHGHEF"
522 DATA "EF                      EF            EF"
524 DATA "EF          ZZ          EF            EF"
526 DATA "EF          ZZ          EF            EF"
528 DATA "EFGHGHGHEFGHGHGHGHGHEFGHEFGHGHGH  GHGHEF"
530 DATA "EF      EF          EF                EF"
532 DATA "EF      EF    ZZ    EF                EF"
534 DATA "EF      EF    ZZ    EF                EF"
536 DATA "GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGH"
538 DATA 11,2,23,2,7,6,25,6,7,10,35,10,13,14,15,18
540 DATA "1RB"
542 DATA "1YB"
544 DATA "1bB"
546 DATA "FFFF010501010501FFFF"
548 DATA "FFFF80A08080A080FFFF"
550 DATA "00000000000003070F0F"
552 DATA "0000000000E0F0F8FCFC"
554 DATA "07070703030101010000"
556 DATA "F8F8F8F0F0E0E0E0C0C0"
558 DATA "                  ZZ              ZZ    "
560 DATA "                  ZZ              ZZ    "
562 DATA "EFGHGHGHGHGHGHGHGHGHGHGHGHGHEFGHGHGHGHEF"
564 DATA "EF                          EF        EF"
566 DATA "EF    ZZ        ZZ          EF        EF"
568 DATA "EF    ZZ        ZZ          EF        EF"
570 DATA "EFGHGHGHGH      GHEFGHGHGHGHEFGHGHGHGHEF"
572 DATA "EF                EF                  EF"
574 DATA "EF    ZZ          EF                  EF"
576 DATA "EF    ZZ          EF                  EF"
578 DATA "EFGHGHGHEFGHGHGHGHEFGH    GHGHGHEFGHGHEF"
580 DATA "EF      EF                      EF    EF"
582 DATA "EF  ZZ  EF          ZZ          EF    EF"
584 DATA "EF  ZZ  EF          ZZ          EF    EF"
586 DATA "EFGHGHGHEFGHGH    GHGHGHGHGHEFGHEFGHGHEF"
588 DATA "EF      EF                  EF        EF"
590 DATA "EF      EF        ZZ        EF        EF"
592 DATA "EF      EF        ZZ        EF        EF"
594 DATA "GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGH"
596 DATA 19,2,35,2,7,6,17,6,7,10,5,14,21,14,19,18
598 DATA "1YB"
600 DATA "1RB"
602 DATA "1GB"
604 DATA "FFFFFFFF7B7B33030100"
606 DATA "FFFFFFEFE3C0C0800000"
608 DATA "000000000001071F3D72"
610 DATA "000000000080C0F8BCCF"
612 DATA "E0DFABD5ABD53A07080F"
614 DATA "07FBAA55AA56B8E010F0"
616 !
618 DATA "    ZZ                        ZZ        "
620 DATA "    ZZ                        ZZ        "
622 DATA "EFGHGHGHEFGH    GHEFGHGHGHGHGHGHGHGHGHEF"
624 DATA "EF      EF        EF                  EF"
626 DATA "EF  ZZ  EF        EF          ZZ      EF"
628 DATA "EF  ZZ  EF        EF          ZZ      EF"
630 DATA "EFGHGHGHEFGHGHGHGHEFGHGH  GHEFGHGHGHGHEF"
632 DATA "EF                          EF        EF"
634 DATA "EF                    ZZ    EF        EF"
636 DATA "EF                    ZZ    EF        EF"
638 DATA "EFGHGHGHGHGHGHEFGHGHGHGHGHGHEFGHGHGHGHEF"
640 DATA "EF            EF                      EF"
642 DATA "EF        ZZ  EF                  ZZ  EF"
644 DATA "EF        ZZ  EF                  ZZ  EF"
646 DATA "EFGHGH    GHGHEFGHGHGHGHGHEFGHGHGHGHGHEF"
648 DATA "EF            EF          EF          EF"
650 DATA "EF        ZZ  EF          EF          EF"
652 DATA "EF        ZZ  EF          EF          EF"
654 DATA "GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGH"
656 DATA 5,2,31,2,5,6,31,6,23,10,11,14,35,14,11,18
658 DATA "1YB"
660 DATA "1bB"
662 DATA "1MB"
664 DATA "FF814344242810000000"
666 DATA "FF0101814A5652606020"
668 !
670 DATA "0000100929954A25120B"
672 DATA "00008002244893264C98"
674 DATA "1F1F1C1C1C1C1C1C0F07"
676 DATA "F8F818F8F878F8F8F0E0"
678 DATA "            ZZ                  ZZ      "
680 DATA "            ZZ                  ZZ      "
682 DATA "EFGHGHGHGHGHGHGH  GHGHEFGHGHGH  GHGHGHEF"
684 DATA "EF                    EF              EF"
686 DATA "EF          ZZ        EF  ZZ          EF"
688 DATA "EF          ZZ        EF  ZZ          EF"
690 DATA "EFGHGHGHGHGHGH  GHGHGHEFGHGH    GHGHGHEF"
692 DATA "EF                    EF              EF"
694 DATA "EF          ZZ        EF              EF"
696 DATA "EF          ZZ        EF              EF"
698 DATA "EFGHGHGHEFGHGHGHGHGH  EF  GHGHGHGHGHGHEF"
700 DATA "EF      EF            EF              EF"
702 DATA "EF  ZZ  EF            EF              EF"
704 DATA "EF  ZZ  EF            EF              EF"
706 DATA "EFGHGHGHEFGHGHGH  EFGHEFGHGHGHGHGHGHGHEF"
708 DATA "EF                EF                  EF"
710 DATA "EF        ZZ      EF            ZZ    EF"
712 DATA "EF        ZZ      EF            ZZ    EF"
714 DATA "GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGH"
716 DATA 13,2,33,2,13,6,27,6,13,10,5,14,11,18,33,18
718 DATA "1GB"
720 DATA "1GB"
722 DATA "1YB"
724 DATA "FF0105010501FF000000"
726 DATA "FF0141014101FF000000"
728 DATA "00000003070F0F0F0F0F"
730 DATA "608080C0EE00F0F0F0F0"
732 DATA "0F1F1F3F7F7F7F7F3F1F"
734 DATA "F0F8F8FCFEFEFEFEFCF8"
736 DATA "      ZZ            ZZ                  "
738 DATA "      ZZ            ZZ                  "
740 DATA "EFGHGHGH            GHGHGHEFGHGH    GHEF"
742 DATA "EF                        EF          EF"
744 DATA "EF  ZZ                    EF          EF"
746 DATA "EF  ZZ                    EF          EF"
748 DATA "EFGHGHGHGH    EFGHGHGHGH  EFGHGHGHGHGHEF"
750 DATA "EF            EF                      EF"
752 DATA "EF            EF  ZZ        ZZ        EF"
754 DATA "EF            EF  ZZ        ZZ        EF"
756 DATA "EF    GHGHGHGHEFGHGHGHGHGHEFGHGH      EF"
758 DATA "EF                        EF          EF"
760 DATA "EF              ZZ        EF          EF"
762 DATA "EF              ZZ        EF          EF"
764 DATA "EFGHGHGHGHGH    GHGHEFGHGHEFGH    GHGHEF"
766 DATA "EF                  EF                EF"
768 DATA "EF        ZZ        EF      ZZ        EF"
770 DATA "EF        ZZ        EF      ZZ        EF"
772 DATA "GHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGH"
774 DATA 7,2,21,2,5,6,19,10,29,10,17,14,11,18,29,18
776 DATA "1YB"
778 DATA "1YB"
780 DATA "1GB"
782 DATA "FF80FFFBDB9988080800"
784 DATA "FF01DDD5D59511101010"
786 DATA "000000071F3F7F7FFFFF"
788 DATA "38408060F8FCFEFEFFFF"
790 DATA "FFFFFFFF7F7F3F1F0700"
792 DATA "FFFFFFFFFEFEFCF8E000"
794 DATA "                 ZZ                     "
796 DATA "                 ZZ                     "
798 DATA "EFGHGHGHGHGHGHGHGHGHGHGHGH  GHGHGHGHGHEF"
800 DATA "EF                                    EF"
802 DATA "EF      ZZ        ZZ                  EF"
804 DATA "EF      ZZ        ZZ                  EF"
806 DATA "EFGHEFGHGHGHGH    GHGHGHGHGH  GHGHGHGHEF"
808 DATA "EF  EF                                EF"
810 DATA "EF  EF      ZZ        ZZ              EF"
812 DATA "EF  EF      ZZ        ZZ              EF"
814 DATA "EFGHEFGHGHGHGHGHGHGHGHGHGHGH  GHGHGHGHEF"
816 DATA "EF                                    EF"
818 DATA "EF      ZZ                            EF"
820 DATA "EF      ZZ                            EF"
822 DATA "EFGHGHGHGHGHGH  GHEFGHGHGH  GHGHGHGHGHEF"
824 DATA "EF                EF                  EF"
826 DATA "EF  ZZ      ZZ    EF                  EF"
828 DATA "EF  ZZ      ZZ    EF                  EF"
830 DATA "EFGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHGHEF"
832 DATA 18,2,9,6,19,6,13,10,23,10,9,14,13,18,5,18
834 CALL POKE(259,45):IF T$(YJ,XJ)="F"OR T$(YJ-1,XJ)="F" THEN XJ=XJ-1:RETURN
836 SO=150:CALL COLOR(C3$):LOCATE (YJ-1,XJ-1):PRINT T$(YJ-1,XJ-1);T$(YJ-1,XJ)
838 LOCATE (YJ,XJ-1):PRINT T$(YJ,XJ-1);T$(YJ,XJ)
840 YJ=YJ+1:XJ=XJ+1
842 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(77);CHR$(78)
844 CALL POKE(259,45):LOCATE (YJ,XJ):PRINT CHR$(79);CHR$(80)
846 LOCATE (YJ-2,XJ):PRINT "  "
848 IF T$(YJ+1,XJ)="G"OR T$(YJ+1,XJ)="H" THEN 852
850 YJ=YJ+1:SO=SO-7:CALL POKE(258,SO,132):GOTO 842
852 LOCATE (YJ-1,XJ):PRINT CHR$(1);CHR$(2):LOCATE (YJ,XJ):PRINT CHR$(3);CHR$(4)
854 CALL SPEECH("L,"&S$(1)):PAUSE 1:CALL SPEECH("A,"&S$(1)):RETURN
856 CALL POKE(259,45):IF T$(YJ,XJ+1)="E"OR T$(YJ-1,XJ+1)="E" THEN XJ=XJ+1:RETURN
858 CALL COLOR(C3$):LOCATE (YJ-1,XJ+1):PRINT T$(YJ-1,XJ+1);T$(YJ-1,XJ)
860 LOCATE (YJ,XJ+1):PRINT T$(YJ,XJ+1);T$(YJ,XJ)
862 SO=150:YJ=YJ+1:XJ=XJ-1
864 CALL COLOR("1WB"):LOCATE (YJ-1,XJ):PRINT CHR$(107);CHR$(108)
866 CALL POKE(259,45):LOCATE (YJ,XJ):PRINT CHR$(109);CHR$(110)
868 LOCATE (YJ-2,XJ):PRINT "  "
870 IF T$(YJ+1,XJ)="G"OR T$(YJ+1,XJ)="H" THEN 874
872 YJ=YJ+1:SO=SO-7:CALL POKE(258,SO,132):GOTO 864
874 LOCATE (YJ-1,XJ):PRINT CHR$(1);CHR$(2)
876 LOCATE (YJ,XJ):PRINT CHR$(3);CHR$(4)
878 CALL SPEECH("L,"&S$(1)):PAUSE 1:CALL SPEECH("A,"&S$(1)):RETURN
880 !
882 !
884 !
886 CALL POKE(259,45):CALL COLOR(C3$)
888 CALL COLOR("1WB")
890 LOCATE (YJ-1,XJ):PRINT CHR$(97);CHR$(98):LOCATE (YJ,XJ)
892 PRINT CHR$(99);CHR$(100)
894 CALL COLOR(C3$):LOCATE (YJ-2,XJ):PRINT T$(YJ-2,XJ);T$(YJ-2,XJ+1)
896 IF T$(YJ+1,XJ)<>" " THEN 900
898 YJ=YJ+1:GOTO 888
900 CALL COLOR("1RBF"):LOCATE (YJ-1,XJ)
902 PRINT CHR$(101);CHR$(102);CHR$(103)
904 LOCATE (YJ,XJ):PRINT CHR$(104);CHR$(105);CHR$(106):PAUSE 2
906 CALL SPEECH("L,"&S$(2)):PAUSE .1:CALL SPEECH("L,"&S$(2)):PAUSE .2
908 CALL SPEECH("L,"&S$(2)):PAUSE .1:CALL SPEECH("L,"&S$(2))
910 V(JO)=V(JO)-1
912 IF V(JO)<=0 THEN 920
914 IF NBR=2 AND JO=1 THEN JO=2:GOTO 918
916 IF NBR=2 AND JO=2 THEN JO=1:GOTO 918
918 GOTO 66
920 IF NBR=2 AND JO=1 THEN JO=2:GOTO 924
922 IF NBR=2 AND JO=2 THEN JO=1
924 IF V(JO)<=0 THEN TA(1)=1:TA(2)=1:GOTO 938
926 GOTO 66
928 PT(JO)=PT(JO)+TE(JO)*TA(JO)+TA(JO)*100
930 TA(JO)=TA(JO)+1
932 TE(JO)=1000-50*P(JO)
934 IF TA(JO)=7 THEN TA(JO)=1:P(JO)=P(JO)+1
936 GOTO 66
938 CLS:CALL COLOR("1GB"):FOR I=1 TO 40:LOCATE (1,I):PRINT "Y":NEXT
940 FOR I=2 TO 20:LOCATE (I,40):PRINT "Y":NEXT
942 FOR I=39 TO 1 STEP -1:LOCATE (20,I):PRINT "Y":NEXT
944 FOR I=19 TO 2 STEP -1:LOCATE (I,1):PRINT "Y":NEXT
946 CALL COLOR("0YB"):FOR I=5 TO 10 STEP .2:CALL POKE(258,I+20,130)
948 LOCATE (I,17):PRINT "P"
950 LOCATE (I-1,17):PRINT " ":NEXT:CALL COLOR("0RB"):FOR I=18 TO 23 STEP .2
952 CALL POKE(258,I,131)
954 LOCATE (9,I):PRINT " E":NEXT:LOCATE (9,24):PRINT " ":LOCATE (10,23)
956 PRINT "E":LOCATE (10,23):PRINT " ":FOR I=23 TO 18 STEP -.2
958 CALL POKE(258,I,132):LOCATE (10,I)
960 PRINT "E ":NEXT:CALL COLOR("0MB"):FOR I=15 TO 10 STEP -.2
962 CALL POKE(258,I+10,133):LOCATE (I,19)
964 PRINT "R":LOCATE (I+1,19):PRINT " ":NEXT:CALL COLOR("0WB")
966 FOR I=30 TO 20 STEP -.2:CALL POKE(258,I,134)
968 LOCATE (10,I):PRINT "D ":NEXT:CALL COLOR("0CB")
970 FOR I=38 TO 21 STEP -.2:CALL POKE(258,I,135)
972 LOCATE (9,I):PRINT "U ":NEXT:CALL POKE(259,45):LOCATE (9,21)
974 PRINT " ":LOCATE (10,21):PRINT "U"
976 ME$=" VOULEZ-VOUS REJOUER ?:(1=NON  2=OUI) "
978 CALL COLOR("0CH"):LOCATE (18,2):PRINT ME$:CALL COLOR("0WH")
980 LOCATE (19,2):PRINT ME$:
982 !
983 CALL KEY1(A,B)
984 IF A=49 THEN END
986 IF A=50 THEN 62
989
CALL COLOR("0YBL"):LOCATE (10,14):PRINT "PPEERRDDUU"
990 ZE$(1)="PP":ZE$(2)="EE":ZE$(3)="RR":ZE$(4)="DD":ZE$(5)="UU"
992 CALL COLOR("0bBL"):FOR I=2 TO 10 STEP 2:LOCATE (10,12+I):A=I/2:PRINT ZE$(A)
994 NEXT
996 LOCATE (18,2):CALL COLOR("0WH"):PRINT ME$:CALL COLOR("0CH")
998 LOCATE (19,2):PRINT ME$:GOTO 978
1000 END

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.