Code : Tout sélectionner
0 CLEAR9,&H3FFF:POKE&H21FC,255:GOTO800
1 IFPEEK(SA+2+W)=0THENPOKESA+2+W,E
2 IFPEEK(SA+W)=0THENPOKESA+W,E
3 IFPEEK(SA+W+1)=0THENPOKESA+1+W,E:RETUR
NELSERETURN
4 V=PEEK(SA+W):RETURN
5 LOCATE0,0:EXECBO:RETURN
9 R=40:GOTO1430
10 LINE(0,168)-(64,88):LINE-(255,88):LIN
E-(319,168):RETURN
12 LINE(0,168)-(48,108):LINE-(271,108):L
INE-(319,168):RETURN
14 LINE(0,168)-(32,128):LINE-(287,128):L
INE-(319,168):RETURN
26 PLAY"O5A9L9T3SILASOFAMIREDOO2A1DO":RE
TURN
30 CONSOLE3,20:SCREEN0,0:CLS:COLOR7,0:LO
CATE12,12:PRINT"Il fait noir ici !":COLO
R7,4:CONSOLE0,2:RETURN
40 POKEFO,0:CONSOLE0,24:CLS:SCREEN7,0:EX
EC&H4405:LOCATE6,22:PRINT"Veux-tu rejoue
r ? (O/N)
42 K$=INPUT$(1):IFK$="O"THENRUN800ELSE42
50 CLS:EXEC&H43D8:L=1:IFPEEK(P+186)=0THE
NR=40:GOTO1430ELSE1430
60 CLS:EXEC&H43E1:L=2:RETURN
70 CLS:EXEC&H43EA:L=3:RETURN
80 CLS:EXEC&H43F3:L=0:RETURN
90 SCREEN7,0:EXEC&H43FC:IFPEEK(P+186)=0T
HENRETURN
95 LOCATE9,22:PRINT"Tu es trop fort!":GO
TO95
110 GOSUB10:POKEIM,4:FORV=0TO4:PSET(56,1
8+V*14),-1:POKERO,1:EXECPT:NEXT:FORV=0TO
4:PSET(240,18+V*14),-1:POKERO,1:EXECXP:N
EXT
118 F=0:RETURN
120 GOSUB12:POKEIM,4:FORV=0TO5:PSET(40,2
4+V*14),-1:POKERO,1:EXECPT:NEXT:FORV=0TO
5:PSET(256,24+V*14),-1:POKERO,1:EXECXP:N
EXT
128 F=1:RETURN
130 GOSUB10:PSET(64,83):LINE-(64,37):PSE
T(77,37):LINE-(77,83):PSET(253,83):LINE-
(253,37):PSET(240,37):LINE-(240,83):POKE
IM,2:PSET(56,24),-1:EXECPT:PSET(232,24),
-1:EXECPT:POKEIM,3:PSET(56,84),-1:EXECPT
:PSET(232,84),-1:EXECPT
138 F=0:RETURN
140 LINE(0,168)-(32,128):LINE-(72,98):LI
NE-(120,88):LINE-(200,88):LINE-(248,98):
LINE-(287,128):LINE-(319,168)
148 POKESA+24,255:POKESA+35,255:F=0:RETU
RN
150 GOSUB14:LINE(32,128)-(32,68):LINE-(2
4,34):LINE-(16,24):LINE-(8,54):LINE-(0,1
08):LINE-(0,168):LINE(287,128)-(287,68):
LINE-(295,34):LINE-(303,24):LINE-(311,54
):LINE-(319,108):LINE-(319,168)
158 F=2:RETURN
160 GOSUB14:FORV=0TO5:PSET(32+48*V,127),
-1:POKEIM,32:EXECPT:LINE(35+48*V,126)-(3
5+48*V,30):LINE(44+48*V,126)-(44+48*V,30
):PSET(32+48*V,24):POKEIM,33:EXECPT:NEXT
168 F=2:RETURN
180 GOSUB14:LINE(207,128)-(120,128),-1:L
INE-(128,108):LINE-(199,108):LINE-(207,1
28):LINE(120,128)-(120,24):LINE(128,108)
-(128,24):LINE(199,108)-(199,24):LINE(20
7,128)-(207,24):LINE(32,128)-(32,24):LIN
E(287,128)-(287,24)
188 FORW=48TO51:POKESA+W,0:NEXTW:F=1:RET
URN
190 STOP
210 GOSUB230:POKEIM,7:PSET(150,32+F*20):
EXECPT:RETURN
220 GOSUB230:POKEIM,8:PSET(150,34+F*20):
EXECPT:RETURN
230 POKERB,1:POKEIM,5:PSET(142,24+F*20),
-1:EXECPT:RETURN
240 GOSUB260:POKEIM,9:PSET(8,88):EXECPT:
RETURN
250 GOSUB260:POKEIM,10:PSET(8,94):EXECPT
:RETURN
260 POKERB,1:POKEIM,6:PSET(0,76),-1:EXEC
PT:RETURN
270 GOSUB290:POKEIM,9:PSET(296,88):EXECX
P:RETURN
280 GOSUB290:POKEIM,10:PSET(296,94):EXEC
XP:RETURN
290 POKERB,1:POKEIM,6:PSET(288,76),-1:EX
ECXP:RETURN
310 POKERB,1:POKEIM,12:PSET(142,44+F*20)
,-1:EXECPT:RETURN
320 GOSUB310:BOX(143,74+F*20)-(144,75+F*
20):W=20*F+7:POKESA+W+3,E:POKEW+SA,&HF5:
RETURN
330 C=1:RETURN
332 POKEIM,18:PSET(248,86),-1:EXECMT:W=5
5:GOSUB1:POKESA+35,255:RETURN
340 POKERB,1:POKEIM,16:PSET(208+16*F,67+
F*20):EXECPT:W=34+20*F:GOSUB1:RETURN
350 POKEIM,15:PSET(200,62+F*20),-1:EXECP
T:W=32+20*F:GOSUB1:RETURN
360 POKEIM,14:PSET(88,26+F*20):EXECPT:RE
TURN
370 POKEIM,13:PSET(210,26+F*20):EXECPT:R
ETURN
380 C=2:RETURN
382 POKEIM,18:PSET(40,86),-1:EXECXM:W=42
:GOSUB1:POKESA+24,255:RETURN
390 C=3:RETURN
392 POKEIM,19:PSET(248,75),-1:EXECMT:W=5
5:GOSUB1:POKESA+35,255:RETURN
400 C=4:RETURN
402 POKEIM,19:PSET(40,75),-1:EXECXM:W=42
:GOSUB1:POKESA+24,255:RETURN
410 POKEIM,38:PSET(96-16*F,26+F*10):EXEC
PT:RETURN
420 H=1:RETURN
422 POKEIM,35:PSET(110-16*F,46+F*20),-1:
EXECMT:RETURN
430 POKEIM,3:PSET(200+8*F,92+F*20),-1:EX
ECPT:POKEIM,36:PSET(208+8*F,58+F*20),-1:
EXECPT:W=32+20*F:GOSUB1:RETURN
440 POKEIM,34:PSET(158,46+F*20),-1:EXECP
T:BOX(146,42+F*20)-(182,82+20*F):RETURN
450 POKEIM,37:PSET(208+8*F,56+F*20),-1:E
XECPT:RETURN
510 PSET(232,94),-1:POKEIM,17:EXECMT:W=5
4:E=&HF4:GOSUB2:POKESA+34,255:IFN=63ANDP
EEK(P+209)=1THENPSET(232,78),-1:POKEIM,2
3:POKECL,128:EXECPT
512 RETURN
520 PSET(56,99+20*F),-1:POKEIM,25:EXECMS
:W=23+20*F:GOSUB2:RETURN
530 PSET(88,100+20*F),-1:POKEIM,26:EXECM
S:W=25+20*F:GOSUB2:RETURN
540 PSET(56,110),-1:POKEIM,26:POKECL,128
:EXECPS:W=43:GOSUB2:RETURN
550 PSET(248,100),-1:POKEIM,29:EXECMS:W=
35:GOSUB2:RETURN
560 GOSUB510:PSET(232,80),-1:POKEIM,30:E
XECMS:RETURN
570 PSET(72,90),-1:POKEIM,23:POKECL,128:
EXECPS:W=24:GOSUB2:RETURN
580 PSET(248,94+20*F),-1:POKEIM,28:EXECM
S:W=35+20*F:GOSUB2:RETURN
590 GOSUB580:RETURN
600 GOSUB580:RETURN
610 PSET(72,92+20*F),-1:POKEIM,27:EXECMS
:W=24+20*F:GOSUB2:RETURN
620 GOSUB610:RETURN
630 GOSUB510:PSET(232,73),-1:POKEIM,24:E
XECMS:RETURN
640 GOSUB510:PSET(224,92),-1:POKEIM,22:P
OKERB,1:EXECMS:RETURN
650 GOSUB510:PSET(232,78),-1:POKEIM,23:E
XECMS:RETURN
700 E=1:X=0
730 W=INT(RND(-N*2+X)*11)+64:GOSUB4:IFV>
0THENX=X+1:GOTO730
740 GOSUB2:POKEP+220,(W-60)*2:V=16*(W MO
D20):IFPEEK(P+136)>0THEN770ELSEIFN=32THE
NGOSUB754:GOSUB756:GOSUB758:RETURN
745 IFPEEK(P+202)>0THENRETURN
750 ONINT(RND(-N)*4+1)GOTO752,754,756,75
8:RETURN
752 PSET(V,140),-1:POKEIM,114:EXECPT:RET
URN
754 PSET(V,142),-1:POKEIM,115:EXECPT:RET
URN
756 PSET(V+24,140),-1:POKEIM,114:EXECXP:
RETURN
758 PSET(V+24,150),-1:POKEIM,116:EXECXP:
RETURN
770 PSET(V,140),-1:POKEIM,31:EXECPT:RETU
RN
800 DEFINTA-Z:P=&H5000:SC=&H58F7:FL=&H5A
0C:EF=&H5A28:MT=&H5900:PT=&H5946:XM=&H59
86:XP=&H59CC:RO=&H500D:RB=&H500C:CL=&H50
22:MF=&H5023:FO=&H5021:IM=&H5013:LG=&H50
16:LR=&H5017
805 NS=&H501E:EL=&H5AD9:MS=&H5A4D:PS=&H5
A96:SA=&H42C0:TP=&H4390:EN=&H4399:BO=&H4
3A2:IO=&H43B4
807 POKEP+192,99:EXEC&H43AB
810 N=0:CONSOLE0,24:CLS:GOSUB90:SCREEN7,
4,0:LOCATE5,5:PRINTCHR$(20)"Aventurier,
tu peux :":LOCATE9,9:PRINT"1. Entrer dan
s le chateau":LOCATE9,11:PRINT"2. Aller
chez le marchand"
820 K$=INPUT$(1):IFK$="1"THEN900ELSEIFK$
<>"2"THEN820
830 CLS:EXEC&H43BD:CONSOLE16,24
840 CLS:EXEC&H43C6
845 K$=INPUT$(1):PRINTK$:IFK$="0"THEN810
ELSEIFASC(K$)>48ANDASC(K$)<53THENPOKE&H5
0AF,VAL(K$)ELSE840
850 EXEC&H43CF:FORKL=1TO800:NEXT:GOTO840
900 POKEP+172,4:POKEP+171,0:POKEP+165,0:
POKEP+167,3:POKEP+164,0
980 POKEP+157,11
1000 V=PEEK(P+157)+1:IFN=12ANDV=1THEN810
ELSEN=V:CLS:CONSOLE0,20:CLS:SCREEN0,0,0:
CONSOLE21,24:SCREEN7,4:CONSOLE0,20:IFPEE
K(P+190)>0THENLOCATE9,11:COLOR7,0:PRINT"
C'est un passage secret!":FORV=0TO4000:N
EXT:SCREEN0,0:CLS
1020 EXECTP:C=0:H=0:COLOR0,0:POKECL,0:D=
PEEK(P+128)+1:OND GOSUB110,120,130,140,1
50,160,150,180:IFPEEK(P+228)=2THENGOSUB2
6
1030 ONPEEK(P+145)GOSUB210,220,230:ONPEE
K(P+146)GOSUB240,250,260:ONPEEK(P+147)GO
SUB270,280,290:IFD=8THENF=2
1055 IFPEEK(P+139)>0THENGOSUB5000
1057 IFPEEK(P+137)>0ANDPEEK(P+202)=0THEN
PSET(32,77),-1:POKEIM,113:EXECPT
1060 E=254:ONPEEK(P+142)GOSUB310,320,330
,340,350,360,370,380,390,400,410,420,430
,440,450:POKEIM,11:IFPEEK(P+129)=1THENPS
ET(16,57),-1:EXECPT
1072 IFPEEK(P+131)=1THENPSET(288,57),-1:
EXECXP
1080 IFPEEK(P+135)>0THENGOSUB700
1085 IFN=62THENLOCATE21,15:PRINT"*"
1090 IFPEEK(P+140)>0THENPOKEP+&H49,85+2*
PEEK(P+218):POKEP+&H43,2:EXEC&H55D0
1095 IFN=3ORN=62THENPOKESA+50,3
1100 CONSOLE0,2:SCREEN4,4:CONSOLE3,20:IF
PEEK(P+&H21)>0THENGOSUB30ELSESCREEN5,0
1102 IFH=1THENGOSUB422
1110 POKERB,1:ONC GOSUB332,382,392,402:P
OKERB,0:IFC<>0THEN1200
1120 E=4:POKENS,3:ONPEEK(P+141)GOSUB510,
520,530,540,550,560,570,580,590,600,610,
620,630,640,650
1159 PY=23:CO=12
1200 IFPEEK(P+144)=0THEN1300
1210 POKEIM,21:IFRND(-N)>.5THENPSET(0,24
):EXECMT ELSEPSET(280,24):EXECXM
1300 IFPEEK(P+143)=0THEN1400
1310 E=5:POKEIM,20:IFF=2ORRND(-N)>.5THEN
PSET(116,140),-1:W=67:GOSUB1:EXECMT ELSE
PSET(176,120),-1:EXECXM:W=51:GOSUB1
1400 COLOR7,4:LOCATE1,22:PRINT"Forces: "
CHR$(20);:CONSOLE0,2:EXECEN
1420 GOSUB5:IFR=0THENONL GOSUB60,70,80:I
FPEEK(P+186)=0THENR=40
1425 ONPEEK(P+175)GOTO1000,1500,9,50,40,
1700,9,9,4000
1430 IFPEEK(P+168)=1THENI=4:LOCATE15,2:C
OLOR7,1:PRINT"IMPOSSIBLE";:COLOR7,4
1435 IFI>0THENI=I-1:IFI=1THENLOCATE15,2:
PRINT" ";
1437 IFPEEK(P+228)>0THENPLAY"O5A200T1SI"
1440 IFR>0THENR=R-1:IFR=1THENCLS
1490 GOTO1420
1500 POKEFO,0:CONSOLE0,20:COLOR0,0:CLS:G
OSUB26
1510 LINE(96,167)-(110,145):LINE-(140,13
0):LINE-(180,130):LINE-(210,145):LINE-(2
23,167):PSET(0,24):POKELG,12:POKELR,144:
POKEMF,170:POKECL,0:EXECFL:PSET(224,24):
EXECFL
1520 CONSOLE3,20:SCREEN5,0:IFRND(-7*N)>.
5THENPSET(110,100),-1:POKEIM,35:EXECMT
1530 IFRND(-2*N)>.6THENPSET(140,155),-1:
POKEIM,20:EXECMT
1590 CONSOLE0,2:EXECIO:SCREEN7,4:CLS:PRI
NT:PRINTTAB(7)"C'est une oubliette.":GOT
O1400
1700 PSET(152,62):POKERB,1:POKEIM,117:EX
ECMT:GOTO1430
4000 GOSUB30:GOTO1430
5000 IFPEEK(P+140)>0THENE=255ELSEE=2
5010 IFRND(-N*4)<.5THENPOKEP+218,0:W=66E
LSEPOKEP+218,1:W=73
5020 GOSUB2:IFPEEK(P+202)>0THENRETURNELS
EIFW=66THENFORV=0TO4:PSET(112-V*4,134+7*
V):NEXT:RETURN
5030 PSET(216,60):LINE-(216,99):PSET(218
,90):LINE-(218,124):RETURN