1 CALL &BB48:BORDER 0:MEMORY &6B5F:IF PEEK(63)<>0 THEN 2 ELSE LOAD"code0",&8000:CALL &8000
2 PAPER 0:LOCATE 24,20:PRINT "     ":DI:GOSUB 95:LOAD"code2",&8D00:LOAD"code1",&6B60:CALL &9F65:DIM o$(100):LOAD"fcmo1",&7260:IF PEEK(61)=1 THEN POKE 100,1:fo$="fcob":fp$="fcp1"ELSE fo$="fo":fp$="fcps" 
4 POKE 63,0:GOSUB 100:GOSUB 208:EI
5 ej=0:CLS#2:CLS#3:GOSUB 90
7 GOSUB 10000
8 DI:GOSUB 220:IF PEEK(A8+2048)=0 THEN PEN 1 ELSE PEN 0 
9 EI:GOSUB 250:GOSUB 9200:GOTO 500
90 INK 0,0:INK 1,25:INK 3,18:POKE &9273,PEEK(&94D7):CALL &9270:RETURN
95 J=PEEK(&9FCB):hr=PEEK(&9FCC):mn=PEEK(&9FCD):P4=PEEK(&9FD3):FOR b1=1 TO 5:M(b1)=PEEK(&9FD3+b1):NEXT:FOR b1=1 TO 5:B(b1)=PEEK(&9FD8+b1):NEXT:M=PEEK(&9DFE):B=PEEK(&9DFF):RETURN
100 WINDOW#2,25,37,7,17:WINDOW#3,2,21,2,21:PEN#2,0:PAPER#2,1:CLS#2:PAPER#3,3:OPENIN fp$:fi=1:WHILE NOT EOF:INPUT#9,P1$(fi):fi=fi+1:WEND:CLOSEIN:OPENIN fo$:fi=1:WHILE NOT EOF:INPUT#9,o$(fi):fi=fi+1:WEND:CLOSEIN:GOSUB 9000:PEN 2:PAPER 0:LOCATE 27,3
109 PRINT"JR":LOCATE 32,3:PRINT"HR":LOCATE 37,3:PRINT"MN":GOSUB 112:EVERY 249.6,1 GOSUB 114:RETURN
112 POKE &94D3,x:POKE &94D4,y:cb=ca-(10*INT(ca/10)):IF cb=0 THEN cb=10
113 POKE &94D5,((cb-1)*20)+x:POKE &94D6,(INT(ca/10)*20)+y:POKE &94D7,ca:RETURN 
114 GOSUB 90:mn=mn+1:IF mn=60 THEN IF hr=23 THEN J=J+1:hr=0:mn=0:ELSE hr=hr+1:mn=0:GOSUB 300
116 rt$=STR$(mn):GOSUB 120:mn$=rt$:rt$=STR$(hr):GOSUB 120:hr$=rt$:rt$=STR$(J):GOSUB 120:J$=rt$:PEN 1:PAPER 0:LOCATE 25,3:PRINT J$:LOCATE 30,3:PRINT hr$:LOCATE 35,3:PRINT mn$:RETURN
120 IF VAL(rt$)<10 THEN rt$="0"+RIGHT$(rt$,1):RETURN ELSE rt$=RIGHT$(rt$,2):RETURN
208 FOR a=1 TO 320 STEP 64:PLOT 14+a,382:DRAWR 0,-318,0:PLOT 14,384-a:DRAWR 320,0:NEXT:PLOT 14,64:DRAWR 320,0,0:RETURN
220 A8=49234+(x+(x-2))+(80*(y-2))+80:O=INT(A8/256):POKE 60,O:POKE 61,A8-(256*O):POKE 62,160:POKE 63,80:CALL &A000:RETURN
250 oq=0:PRINT CHR$(22);CHR$(1):LOCATE x+1,y+1:PAPER 3:PRINT CHR$(249):PRINT CHR$(22);CHR$(0):GOSUB 208:SOUND 1,2000,1,15:RETURN
270 R0=0:FOR b1=1 TO 100:GOSUB 9090:IF pr=1 THEN 272 ELSE NEXT:RETURN
272 IF N6=0 THEN PRINT#2:PRINT#2,"vous voyez":PRINT#2,N3;N4$:RETURN
274 WHILE R0<N6:R0=R0+1
276 CALL &9E00:IF PEEK(&9E07)=18 THEN PRINT#2:PRINT#2," Il n'y a":PRINT#2," rien...":WEND:PRINT#2:PRINT#2,"il y a":PRINT#2,N3;N4$:ch=1:RETURN ELSE IF PEEK(&9E07)=30 THEN 276 ELSE RETURN
300 IF N5=1 THEN RETURN ELSE FOR r1=1 TO 5:IF pv(r1)=0 THEN 308 ELSE fe(r1)=fe(r1)-1:M(r1)=M(r1)+1:B(r1)=B(r1)+1:IF M(r1)>48+fe(r1)THEN fe(r1)=fe(r1)-4
305 IF B(r1)>10+CINT(fe(r1)/2)THEN fe(r1)=fe(r1)-5
306 IF fe(r1)<2 THEN pv(r1)=pv(r1)-INT(RND(1)*10)+1
308 NEXT:GOSUB 9110:RETURN
350 ej=1:PAPER#3,0:CLS#3:PEN#3,3:INK 3,18:PRINT#3:PRINT#3:PEN#3,1:PRINT#3,"  SANTE DU GROUPE":PRINT#3:PRINT#3:FOR r2=1 TO 5:sa$="":sb$="":sc$="":IF pv(r2)=0 THEN 357 ELSE IF M(r2)>10+CINT(fe(r2)/2)THEN sa$="faim"
352 IF B(r2)>5+CINT(fe(r2)/4)THEN sb$="soif"
354 IF fe(r2)<6-CINT(fe(r2)/4)THEN sc$="sommeil"
355 PEN#3,2:IF sa$=""AND sb$=""AND sc$=""THEN PRINT#3," ";UPPER$(ps$(r2));:PEN#3,3:PRINT#3," va bien":GOTO 357
356 PEN#3,2:PRINT#3," ";UPPER$(ps$(r2));:PEN#3,3:PRINT#3," a ";sa$:PRINT#3,STRING$(LEN(ps$(r2))+3," ");sb$:PRINT#3,STRING$(LEN(ps$(r2))+3," ");sc$
357 NEXT:v0=1:v1=4:GOSUB 400:IF t%=1 THEN P1$="mange"ELSE IF t%=2 THEN P1$="boit"ELSE IF t%=3 THEN P1$="dort"ELSE IF t%=4 THEN 878 ELSE 357
360 IF P1$="boit"AND B=0 OR P1$="mange"AND M=0 THEN GOSUB 910:GOTO 878 ELSE CLS#2:PRINT#2," Qui ";P1$:GOSUB 490
362 CALL &9E00:IF PEEK(&9E07)<6 THEN t%=PEEK(&9E07):GOTO 364 ELSE 362
364 IF P1$="dort"THEN 380 ELSE IF P1$="boit"THEN pv(t%)=pv(t%)+(50*INT(RND(1)*6)):fe(t%)=fe(t%)+2
366 IF P1$="mange"THEN M=M-1:M(t%)=0 ELSE B=B-1:B(t%)=0
368 IF P1$="mange"AND M>0 THEN 500 ELSE IF P1$="boit"AND B>0 THEN 500
370 IF P1$="mange"THEN a1=22:a2=40:a3=78:a4=81:a5=98:a6=101 ELSE IF P1$="boit"THEN a1=15:a2=19:a3=39:a4=45:a5=81:a6=84
372 fi=0:OPENIN"fcob":WHILE NOT EOF:fi=fi+1:INPUT#9,k$:IF fi>a1 AND fi<a2 OR fi>a3 AND fi<a4 OR fi>a5 AND fi<a6 THEN o$(fi)=k$
374 WEND:CLOSEIN:GOSUB 710:GOTO 878
380 drm=0:CLS #2:PRINT#2:PRINT#2:PEN#2,1:PAPER#2,2:PRINT#2,"             ":PRINT#2," TIR ou COPY ":PRINT#2,"   pour le   ":PRINT#2,"  reveiller  ":N5=1:PEN#2,0:PAPER#2,1
382 CALL &9E00:IF PEEK(&9E07)<>30 THEN fe(t%)=fe(t%)+INT(drm):N5=0:GOTO 878 ELSE IF drm>5 OR fe(t%)+INT(drm)>19 THEN 382 ELSE drm=drm+0.01:GOTO 382 
400 RESTORE 790:PRINT#2:PRINT#2:FOR b1=1 TO v0:READ k$:NEXT:CLS#2:FOR b1=1 TO v1:READ k$:PEN#2,0:PAPER#2,1:PRINT#2,k$;STRING$(9-LEN(k$),".");:PEN#2,1:PAPER#2,2:PRINT#2,b1:NEXT
410 CALL &9E00:IF PEEK(&9E07)<v1+1 THEN t%=PEEK(&9E07):PEN#2,0:PAPER#2,1:RETURN ELSE 410
490 PRINT#2:PRINT#2:FOR r1=1 TO 5:IF pv(r1)=0 THEN 495 ELSE PEN#2,0:PAPER#2,1:PRINT#2,UPPER$(ps$(r1));STRING$(9-LEN(ps$(r1)),".");:PEN#2,1:PAPER#2,2:PRINT#2,r1
495 NEXT:PEN#2,0:PAPER#2,1:RETURN
500 wt=wt+1:IF wt=10 THEN wt=0:GOSUB 3000
502 CALL &9E00:PEN 1:PAPER 0:CALL &94D0
600 ca=PEEK(&94D7):ON PEEK(&9E07)GOTO 610,610,610,610,610,950,950,950,950,610,610,610,610,800,880,350,612,615,700,720,610,610,610,610,610,610,610,610,610,500
610 SOUND 1,478,10,15:GOTO 500
612 DI:ej=1:PAPER#3,0:CLS#3:INK 1,25:INK 3,11:INK 2,6:GOSUB 660:CALL &9F9C:CALL &8000:GOSUB 900:CALL &9FA5
613 CALL &9E00:IF PEEK(&9E07)<>30 THEN EI:PAPER#3,3:CLS#3:INK 3,18:GOTO 670 ELSE 613
615 PRINT#2:PRINT#2," Il n'y a":PRINT#2," rien...":GOSUB 270:GOTO 500
650 CLS#2:GOSUB 910:GOTO 500
660 M1=PEEK(&94D3):M2=PEEK(&94D4):M3=PEEK(&94D5):M4=PEEK(&94D6):M5=PEEK(&94D7):RETURN
670 POKE &94D3,M1:POKE &94D4,M2:POKE &94D5,M3:POKE &94D6,M4:POKE &94D7,M5:CALL &9F65:ej=0:GOTO 7
700 CLS#2:FOR b1=1 TO 100:GOSUB 9090:IF pr=1 THEN IF ch=1 THEN PRINT#2,"Qui prend ?":GOSUB 490 ELSE 650 ELSE NEXT:GOTO 650
702 CALL &9E00:IF PEEK(&9E07)<6 THEN t%=PEEK(&9E07):IF P(t%)>P4+fe(t%)THEN 650 ELSE o$(b1)=LEFT$(o$(b1),5)+"p"+RIGHT$(STR$(t%),1):P(t%)=P(t%)+(P^2+0.5):ch=0:GOSUB 710:GOTO 600 ELSE 702
710 CLS#2:LOCATE 24,21:PRINT"OK":SOUND 1,478,10,15:FOR t=1 TO 500:NEXT:LOCATE 24,21:PRINT"  ":RETURN
720 CLS#2:PRINT#2,"Qui laisse ?":GOSUB 490
722 CALL &9E00:IF PEEK(&9E07)<6 THEN FOR b1=1 TO 100:IF MID$(o$(b1),6,1)="p"AND VAL(MID$(o$(b1),7,1))=PEEK(&9E07)THEN 724 ELSE NEXT:GOTO 650 ELSE 722
724 PAPER#3,0:CLS#3:PRINT#3:PEN#3,1:PRINT#3,UPPER$(ps$(PEEK(&9E07)));:PEN#3,3:PRINT#3," peut laisser:":PEN#3,2:FOR b1=1 TO 100:IF MID$(o$(b1),6,1)="p"AND VAL(MID$(o$(b1),7,1))=PEEK(&9E07)THEN GOSUB 9100:PRINT#3,N4$ELSE 728
727 CALL &9E00:IF PEEK(&9E07)=20 THEN 734 ELSE IF PEEK(&9E07)=30 THEN 727
728 NEXT:PRINT#3,"Rien d'autre..."
729 CALL &9E00:IF PEEK(&9E07)=30 THEN 729 ELSE 878
734 P(VAL(MID$(o$(b1),7,1)))=P(VAL(MID$(o$(b1),7,1)))-(P^2+0.5):IF ca<10 THEN ca$="00"+RIGHT$(STR$(ca),1)ELSE IF ca<100 THEN ca$="0"+RIGHT$(STR$(ca),2)ELSE ca$=RIGHT$(STR$(ca),3)
736 IF x<10 THEN x$="0"+RIGHT$(STR$(x),1)ELSE x$=RIGHT$(STR$(x),2)
737 IF y<10 THEN y$="0"+RIGHT$(STR$(y),1)ELSE y$=RIGHT$(STR$(y),2)
738 o$(b1)=LEFT$(o$(b1),5)+ca$+x$+y$:GOSUB 710:GOTO 878
780 DATA unvitri 102106206111201,hypno   102110405001101,emera   4051206102222,fusis   000008602020033,tanaris 
782 DATA ishtar,belgora 102107504120001,granhalf203110705220401,emera   000090812220403,dormahot203130810320202
784 DATA ishtar,fusis   000008603030035,tanaris,zephir  102120305220101,polyg
786 DATA epee DEINOS,collier eternel,baton de GOLANUR,cristal noir,medaillon de CALAAN,rubis de TANARIS,potion,fiole,parchemin,rouleau de papier,sac,jambon,poulet,cochon,cerf,sanglier,champignon,fruit,poisson,eau,vin,liqueur,couteau,epee,bouclier,heaume
788 DATA hache,masse,arc,lance,hussite,pointe,musette,sandale,etoffe,cape,draperie,pain,vin,eau,bibelot,antidote,pepites,lampe,torche,allumeur,legumes,luth 
790 DATA rien,BOIRE,MANGER,DORMIR,FIN 
795 DATA G1Guerrier,M3Magicien,E2Elfe,C3Clerc,H2Chevalier,V2Voleur,N4Nain,T4Tinigen
800 ej=1:PAPER#3,0:CLS#3:PEN#3,1:INK 3,2:GOSUB 900:tr=1
802 PEN#3,3:LOCATE#3,1,6:PRINT#3,"Force       :":LOCATE#3,1,7:PRINT#3,"Intelligence:":LOCATE#3,1,4:PRINT#3,"Niveau      :":LOCATE#3,1,15:PRINT#3,"Sort(s):":LOCATE#3,1,8:PRINT#3,"Sagesse     :":LOCATE#3,1,9:PRINT#3,"Dexterite   :":LOCATE#3,1,10
821 PRINT#3,"Clsse armure:":LOCATE#3,1,11:PRINT#3,"Pts de vie  :":LOCATE#3,1,12:PRINT#3,"Monnaie     :":LOCATE#3,1,13:PRINT#3,"Experience  :":PEN#3,3:LOCATE#3,16,11:PRINT#3,"0000":LOCATE#3,16,12:PRINT#3,"0000":LOCATE#3,14,13:PRINT#3,"000000":PEN#3,1
822 LOCATE#3,17,4:PRINT#3,N(tr):FOR n1=1 TO 5:LOCATE#3,10,14+n1:PRINT#3,STRING$(10," "):NEXT:IF pv(tr)<1 THEN CLS#3:LOCATE#3,9,8:PRINT#3,"MORT"
824 PEN#3,2:LOCATE#3,1,2:PRINT#3,STRING$(19," "):LOCATE#3,10-(LEN(ps$(tr))/2),2:PRINT#3,UPPER$(ps$(tr)):IF pv(tr)<1 THEN 870 ELSE LOCATE#3,1,5:PRINT#3,C$(tr);"     ":PEN#3,1:LOCATE#3,17,6:PRINT#3,fe(tr)
825 LOCATE#3,17,7:PRINT#3,I(tr):LOCATE#3,17,8:PRINT#3,S(tr):LOCATE#3,17,9:PRINT#3,D(tr):LOCATE#3,17,10:PRINT#3,E(tr):LOCATE#3,20-(LEN(STR$(pv(tr)))-1),11:PRINT#3,RIGHT$(STR$(pv(tr)),LEN(STR$(pv(tr)))-1):LOCATE#3,20-(LEN(STR$(mn(tr)))-1),12
826 PRINT#3,RIGHT$(STR$(mn(tr)),LEN(STR$(mn(tr)))-1):LOCATE#3,20-(LEN(STR$(ex(tr)))-1),13:PRINT#3,RIGHT$(STR$(ex(tr)),LEN(STR$(ex(tr)))-1)
830 IF ST$(tr)="" OR ST$(tr)=" " THEN LOCATE#3,10,15:PRINT#3,"AUCUN SORT":GOTO 870 ELSE FOR n1=1 TO LEN(ST$(tr)):s1$=MID$(ST$(tr),n1,1):GOSUB 895 
840 FOR n2=1 TO 5:READ s2$:IF s1$=LEFT$(s2$,1)THEN LOCATE#3,12,15+n2:PRINT#3,UPPER$(LEFT$(s2$,8))
850 NEXT:NEXT
870 CALL &9E00:IF PEEK(&9E07)<>30 THEN tr=tr+1 ELSE 870
876 IF P1$(tr)=""THEN 878 ELSE 802
878 ej=0:CLS#3:GOSUB 90:PAPER#3,3:CLS#3:GOTO 5
880 ej=1:I0=0:PAPER#3,0:CLS#3:tr=0:PEN#3,3:INK 3,20:FOR r1=1 TO 5:IF pv(r1)=0 THEN 890 ELSE PEN#3,1:PRINT#3:PRINT#3,UPPER$(ps$(r1));:PEN#3,3:PRINT#3," porte :"
884 PEN#3,2:FOR r2=1 TO 100:o2$="p"+RIGHT$(STR$(r1),1):IF MID$(o$(r2),6,2)=o2$THEN cd=VAL(LEFT$(o$(r2),2)):RESTORE 786:I0=1:FOR r3=1 TO cd:READ N4$:NEXT:PRINT#3,N4$
885 NEXT:IF I0=0 THEN PRINT#3,"rien"
888 CALL &9E00:IF PEEK(&9E07)<>30 THEN 890 ELSE 888
890 I0=0:NEXT:GOTO 878
895 IF N(tr)=1 THEN RESTORE 780 ELSE IF N(tr)=2 THEN RESTORE 782 ELSE RESTORE 784
896 RETURN
900 CLS#2:PAPER#2,1:PEN#2,2:PRINT#2,"APPUYER sur ":PRINT#2,"TIR ou COPY ":PRINT#2,"pour passer":PAPER#2,1:PEN#2,0:RETURN
910 FOR b1=1 TO 2:FOR b2=1 TO 400:NEXT:PEN 1:PAPER 2:LOCATE 24,21:PRINT" impossible ":FOR b2=1 TO 400:NEXT:PEN 1:PAPER 0:LOCATE 24,21:PRINT"            ":NEXT:RETURN
950 CLS#2:ca=PEEK(&94D7):x=PEEK(&94D3):y=PEEK(&94D4):POKE &92C3,ca:POKE &92C4,x:POKE &92C5,y:CALL &9340:CALL &938E:CALL &6BE3:IF PEEK(&6C63)=0 THEN 960 ELSE GOSUB 1000:GOTO 12000
960 EI:IF ca=ct THEN 8 ELSE 7
1000 POKE &9FCB,J:POKE &9FCC,hr:POKE &9FCD,mn:POKE &9FCE,1:POKE &9FCF,1:POKE &9FD3,P4:FOR b1=1 TO 5:POKE &9FD3+b1,M(b1):NEXT:FOR b1=1 TO 5:POKE &9FD8+b1,B(b1):NEXT:POKE &9FDE,M:POKE &9FDF,B:POKE &9FE0,PEEK((256*PEEK(&6C62)+PEEK(&6C61)+2))-48:RETURN
3000 IF ej=1 THEN RETURN ELSE POKE &8F93,0:POKE &8F3A,PEEK(&94D3):POKE &8F3B,PEEK(&94D4):POKE &8F39,PEEK(&94D7):CALL &8F30:IF PEEK(&8F40)=1 THEN 3100 ELSE RETURN
3100 CLS #2:DI:A9=(256*PEEK(&8F3F))+PEEK(&8F3E):M0=A9:W=PEEK(A9):w4=PEEK(A9+11):FOR r4=1 TO w4:F(r4)=PEEK(A9+1):P2(r4)=(256*PEEK(A9+6))+PEEK(A9+5):P0(r4)=(256*PEEK(A9+8))+PEEK(A9+7):NEXT:I1=PEEK(A9+2):D=PEEK(A9+3):AC=PEEK(A9+4) 
3110 ej=1:INK 3,9:INK 2,6:CLS#3:GOSUB 208:GOSUB 660:CALL &9F95:POKE &8410,PEEK(&8F3E):POKE &8411,PEEK(&8F3F):AB=&8383:FOR r1=1 TO 5:POKE AB+8,C(r1):P2=INT(pv(r1)/256):P3=pv(r1)-(256*P2):POKE AB+15,P3:POKE AB+16,P2:AB=AB+22:NEXT:PEN 0:PAPER 1:LOCATE 25,13
3115 PRINT"BOUGEZ:":FOR pr=1 TO 5:IF pv(pr)=0 THEN 3116 ELSE LOCATE 32,12+pr:PRINT UPPER$(LEFT$(ps$(pr),6))
3116 NEXT:CALL &8380
3120 AA=&83F1:FOR E=0 TO 24:IF PEEK(AA+E)>0 AND PEEK(AA+E)<6 THEN 3130
3125 NEXT:GOTO 4000
3130 A7=AA+E:D0=(E+1)-(5*INT((E)/5)):IF PEEK(A7-5)>5 AND PEEK(A7-5)<15 AND(A7-5)>&83F0 THEN nm=PEEK(A7-5):GOSUB 5000:IF pv(nu)=0 THEN 3125 
3140 IF PEEK(A7+5)>5 AND PEEK(A7+5)<15 AND(A7+5)<&8409 THEN nm=PEEK(A7+5):GOSUB 5000:IF pv(nu)=0 THEN 3125
3150 IF PEEK(A7+1)>5 AND PEEK(A7+1)<15 AND D0<5 THEN nm=PEEK(A7+1):GOSUB 5000:IF pv(nu)=0 THEN 3125
3160 IF PEEK(A7-1)>5 AND PEEK(A7-1)<15 AND D0>1 THEN nm=PEEK(A7-1):GOSUB 5000:GOTO 3125 ELSE 3125
4000 CLS#2:PEN 0:PAPER 1:LOCATE 25,12:PRINT"Autre combat";:PEN 1:PAPER 2:PRINT"1":PEN 0:PAPER 1:LOCATE 25,13:PRINT"Retraite....";:PEN 1:PAPER 2:PRINT"2":PEN 1:PAPER 0
4010 CALL &9E00:IF PEEK(&9E07)=2 THEN V=0:GOTO 4600 ELSE IF PEEK(&9E07)=1 THEN 4020 ELSE 4010
4020 CLS#3:CLS#2:POKE M0+11,w4:GOSUB 208:CALL &8380:GOTO 3120:FOR Z=1 TO w4:F=F+F(Z):P6=P6+P2(Z):P0=P0+P0(Z):NEXT:F=INT(F/w4):P6=INT(P6/w4):P0=INT(P0/w4):POKE M0+1,F:V3=INT(P6/256):V4=P6-V3
4500 POKE M0+6,V3:POKE M0+5,V4:V3=INT(P0/256):V4=P0-V3:POKE M0+8,V3:POKE M0+7,V4:POKE M0+11,w4:RETURN
4600 CALL &9FA5:IF V=1 THEN POKE M0+14,ca-10:GOTO 670 ELSE y=y+2:IF y>20 THEN y=20
4601 x=x-2:IF x<1 THEN x=1
4602 POKE M0+9,ABS(PEEK(M0+9)-5):POKE M0+10,ABS(PEEK(M0+10)-5):ca=M5:GOSUB 112:CALL &9F65:ej=0:GOTO 7
5000 V=0:nu=PEEK(AA+E):IF nu>5 THEN RETURN ELSE nm=nm-5:CLS#2:PRINT#2:PRINT#2:PRINT#2,ps$(nu):PRINT#2,"combat contre":PRINT#2,"un monstre...":GOSUB 9320
5010 PEN#2,0:PAPER#2,1:CLS#2:LOCATE#2,1,4:PRINT#2,"Combattre..":LOCATE#2,1,5:PRINT#2,"Sort(s)....":LOCATE#2,1,6:PRINT#2,"Fuir.......":PAPER#2,2:PEN#2,1:FOR b1=1 TO 3:LOCATE#2,12,3+b1:PRINT#2,RIGHT$(STR$(b1),1):NEXT:PEN#2,0:PAPER#2,1
5020 CALL &84A1:CALL &9E00:t%=PEEK(&9E07):IF t%=1 THEN 5030 ELSE IF t%=2 THEN 5260
5022 IF t%=3 THEN P5=INT(RND(1)*60)+20:ex(nu)=ex(nu)-P5:PRINT#2,ps$(nu):PRINT#2,"perd :":PRINT#2,P5;"points":PRINT#2,"experience":GOSUB 9320:GOSUB 9110:RETURN ELSE 5020
5030 CLS#2:cd=0:cp=0:c1=0:CALL &9F65:PEN 1:PAPER 0
5040 CALL &84A1:CALL &9E00:IF PEEK(&9E07)<>30 THEN RETURN ELSE GOSUB 9300:GOSUB 9315
5050 GOSUB 9110:IF c1=0 THEN ms$=ps$(nu):GOSUB 9400:ms$="attaque":GOSUB 9400 ELSE ms$="le monstre":GOSUB 9400:ms$="attaque":GOSUB 9400
5060 GOSUB 9110:IF c1=0 THEN cd=(4*fe(nu))+(3*D(nu))+2*I(nu)+E(nu)+((INT(LOG10(ABS(ABS(ex(nu))+1)))*3)*N(nu))+INT(RND(1)*5)+t3%*N(nu):cp=(4*(20-AC))+(3*F(nm))+(2*D)+I1+(INT(LOG10(ABS(P0(nm))+1))*3)+INT(RND(1)*5):GOTO 5080
5070 cd=(4*F(nm))+(3*D)+2*I1+AC+(INT(LOG10(ABS(P0(nm)+1)))*3)+INT(RND(1)*5):cp=(4*(20-E(nu)))+(3*fe(nu))+(2*D(nu))+I(nu)+((INT(LOG10(ex(nu)+1))*3)*N(nu))+INT(RND(1)*5)+t3%*N(nu)
5080 IF cd>cp AND c1=0 THEN ms$="et touche...":GOSUB 9400:GOTO 5120
5090 IF cd>cp AND c1=1 THEN ms$="vous etes":GOSUB 9400:ms$="touche...":GOSUB 9400:GOTO 5130
5100 IF cd<cp AND c1=0 THEN ms$="et rate...":GOSUB 9400:GOTO 5140
5110 IF cd<cp AND c1=1 THEN ms$="il vous a":GOSUB 9400:ms$="rate...":GOSUB 9400:GOTO 5150 ELSE 5050
5120 ex(nu)=ex(nu)+(cd-cp):F(nm)=F(nm)-1:P0(nm)=P0(nm)-(cd-cp):P2(nm)=P2(nm)-((cd-cp)*5):GOSUB 9110:GOTO 5160
5130 P0(nm)=P0(nm)+(cd-cp):fe(nu)=fe(nu)-1:ex(nu)=ex(nu)-(cd-cp):pv(nu)=pv(nu)-((cd-cp)*5):GOSUB 9110:GOTO 5160
5140 fe(nu)=fe(nu)-1:P0(nm)=P0(nm)+(cp-cd):GOSUB 9110:GOTO 5160
5150 F(nm)=F(nm)-1:ex(nu)=ex(nu)+(cp-cd):GOSUB 9110
5160 IF P2(nm)<1 THEN CLS#2:PEN 0:PAPER 1:PRINT#2,"Un monstre   est aneanti":w4=w4-1:IF w4<1 THEN V=1:GOTO 4600 ELSE FOR E0=0 TO 24:IF PEEK(&83F1+E0)=nm+5 THEN POKE &83F1+E0,0:CALL &84A1:RETURN ELSE NEXT
5170 IF P2(nm)<(INT(100/w4)+I1+INT(RND(1)*100))THEN 5175 ELSE 5230
5175 fu=INT(RND(1)*10):IF fu>5 THEN CLS#2:PRINT#2,"le monstre   fuit..."ELSE 5230
5176 IF w4=1 THEN V=1:GOTO 4600 ELSE FOR E0=0 TO 24:IF PEEK(&83F1+E0)=nm+5 THEN A7=&83F1+E0:D0=(E0+1)-(5*INT((E0)/5))ELSE NEXT  
5180 IF PEEK(A7-5)=0 AND(A7-5)>&83F0 THEN POKE A7-5,nm+5:GOTO 5200
5182 IF PEEK(A7+5)=0 AND(A7+5)<&8409 THEN POKE A7+5,nm+5:GOTO 5200
5184 IF PEEK(A7+1)=0 AND D0<5 THEN POKE A7+1,nm+5:GOTO 5200
5186 IF PEEK(A7-1)=0 AND D0>1 THEN POKE A7-1,nm+5
5189 PRINT#2,"Mais  il  ne peut  pas... ":GOSUB 9320:CLS#2:GOTO 5230
5200 POKE A7,0:CALL &84A1:RETURN
5230 IF pv(nu)<1 THEN 9210 ELSE IF c1=0 AND cd>cp AND(cd-cp)>30 THEN c1=0:GOTO 5040
5240 IF c1=1 AND cd>cp AND(cd-cp)>30 THEN c1=1:GOTO 5040
5250 IF c1=0 THEN c1=1:GOTO 5050 ELSE c1=0:GOTO 5040
5260 IF ST$(nu)=""THEN GOSUB 910:GOTO 5010 ELSE tr=nu:GOSUB 895
5262 CLS#2:PRINT#2," Quel sort : ":FOR n%=1 TO 5:READ st$:st$=LEFT$(st$,8):PEN 0:PAPER 1:LOCATE 25,10+n%:PRINT UPPER$(st$);"...":PEN 2:PAPER 1:LOCATE 36,10+n%:PRINT n%:NEXT:PEN 0:PAPER 1
5300 CALL &9E00:t%=PEEK(&9E07):IF t%=30 THEN 5300 ELSE IF N(nu)=1 THEN IF t%=5 THEN GOSUB 910:GOTO 5010 ELSE 5305 ELSE IF N(nu)=2 THEN IF t%=1 THEN GOSUB 910:GOTO 5010 ELSE 5305 ELSE IF t%=1 OR t%=3 OR t%=5 THEN GOSUB 910:GOTO 5010
5305 tr=nu:GOSUB 895:FOR n%=1 TO t%:READ st$:NEXT:FOR n1%=1 TO LEN(ST$(nu)):S7$=MID$(ST$(nu),n1%,1):IF LEFT$(st$,1)=S7$THEN 5340 ELSE NEXT:GOSUB 910:GOTO 5010
5340 s4$=LEFT$(st$,8):s5$=MID$(st$,9,4):t1%=VAL(MID$(st$,13,2)):t2%=VAL(MID$(st$,15,1)):t3%=VAL(MID$(st$,16,2)):s6$=MID$(st$,18,6):S$=LEFT$(s4$,1):FOR n%=1 TO w4:P2(nm)=P2(nm)-t1%:NEXT:pv(nu)=pv(nu)-t2%:CLS#2
5360 PRINT#2,UPPER$(ps$(nu));"lance le sort";s4$:GOSUB 9320:t4%=VAL(LEFT$(s5$,2)):t5%=VAL(RIGHT$(s5$,2)):FOR i=80 TO 220 STEP 12:INK 3,24:SOUND 1,i,10:INK 3,9:NEXT:FOR i=220 TO 80 STEP-12:INK 3,24:SOUND 2,i,5:INK 3,9:NEXT
5365 IF W>t4%AND W<t5%THEN 5390 ELSE 5400
5370 IF S$="u"OR S$="b"THEN IF I1>15 THEN 5390 ELSE 5400
5380 IF S$="f"AND I1>16 THEN 5390 ELSE 5400
5390 PRINT#2,"le sort est  contre par   le monstre":t3%=0:GOSUB 9320:GOTO 5440
5400 FOR k=1 TO 6:t5%=VAL(MID$(s6$,k,1))
5410 IF k=1 THEN fe(nu)=fe(nu)+t5%ELSE IF k=2 THEN FOR r4=1 TO w4:F(r4)=F(r4)-t5%:NEXT ELSE IF k=3 THEN D(nu)=D(nu)+t5%ELSE IF k=4 THEN D=D-t5%ELSE IF k=5 THEN E(nu)=E(nu)-t5%ELSE IF k=6 THEN C=C+t5%
5420 ex(nu)=ex(nu)+(t5%*w4):NEXT:PRINT#2,"et touche le monstre":GOSUB 9110
5440 IF LEFT$(st$,1)="d"THEN 5010 ELSE st$="":FOR n%=1 TO LEN(ST$(nu)):IF n%=n1%THEN 5445 ELSE st$=st$+MID$(ST$(nu),n%,1)
5445 NEXT:ST$(nu)=st$:GOTO 5010
9000 FOR np=1 TO 5:IF P1$(np)=""THEN 9020
9010 IF ASC(LEFT$(P1$(np),1))<57 THEN GOSUB 9030 ELSE ps$(np)=ps$(np)+LEFT$(P1$(np),1):P1$(np)=RIGHT$(P1$(np),LEN(P1$(np))-1):GOTO 9010
9020 NEXT:RETURN
9030 fe(np)=VAL(LEFT$(P1$(np),2)):I(np)=VAL(MID$(P1$(np),3,2)):S(np)=VAL(MID$(P1$(np),5,2)):D(np)=VAL(MID$(P1$(np),7,2)):E(np)=VAL(MID$(P1$(np),9,2)):pv(np)=VAL(MID$(P1$(np),11,4)):mn(np)=VAL(MID$(P1$(np),15,4))
9040 ex(np)=VAL(MID$(P1$(np),19,6)):C$(np)=MID$(P1$(np),25,1):x=VAL(MID$(P1$(np),26,2)):y=VAL(MID$(P1$(np),28,2)):ca=VAL(MID$(P1$(np),30,2)):ST$(np)=MID$(P1$(np),33,3):N(np)=VAL(MID$(P1$(np),32,1)):RESTORE 795:FOR b1=1 TO 8 
9050 READ cc$:IF LEFT$(cc$,1)=C$(np)THEN C(np)=VAL(MID$(cc$,2,1)):C$(np)=RIGHT$(cc$,LEN(cc$)-2)
9060 NEXT:IF I(np)<9 OR S(np)<9 THEN ST$(np)=""
9080 RETURN
9090 pr=0:C3$=MID$(o$(b1),6,3):IF ASC(C3$)>64 THEN RETURN ELSE C3=VAL(C3$):xo=VAL(MID$(o$(b1),9,2)):yo=VAL(RIGHT$(o$(b1),2)):IF C3=ca AND xo=x AND yo=y THEN 9100 ELSE RETURN
9100 pr=1:RESTORE 786:cd=VAL(LEFT$(o$(b1),2)):FOR b2=1 TO cd:READ N4$:NEXT:P=VAL(MID$(o$(b1),3,1)):N6=VAL(MID$(o$(b1),4,1)):N6=N6+CINT(RND(1)*10):N3=VAL(MID$(o$(b1),5,1)):RETURN
9110 FOR C2=1 TO 5:vt=fe(C2):GOSUB 9180:fe(C2)=vt:vt=I(C2):GOSUB 9180:I(C2)=vt:vt=S(C2):GOSUB 9180:S(C2)=vt:vt=D(C2):GOSUB 9180:D(C2)=vt:vt=E(C2):GOSUB 9180:E(C2)=vt
9120 IF pv(C2)<1 THEN pv(C2)=0 ELSE IF pv(C2)>1000 THEN pv(C2)=1000
9130 IF mn(C2)<1 THEN mn(C2)=0 ELSE IF mn(C2)>9999 THEN mn(C2)=9999
9140 IF ex(C2)<0 THEN ex(C2)=0 ELSE IF ex(C2)>(30000*N(c2)) THEN N(C2)=N(C2)+1
9145 IF N(C2)>3 THEN N(C2)=3:ex(C2)=90000
9150 NEXT:FOR R=1 TO w4:IF F(R)<1 THEN F(R)=0 ELSE IF F(R)>20 THEN F(R)=20
9152 IF P2(R)<1 THEN P2(R)=0 ELSE IF P2(R)>1000 THEN P2(R)=1000
9154 IF P0(R)<1 THEN P0(R)=0 ELSE IF P0(R)>30000 THEN P0(R)=30000
9160 NEXT:vt=I1:GOSUB 9180:I1=vt:vt=S0:GOSUB 9180:S0=vt:vt=D:GOSUB 9180:D=vt:vt=C:GOSUB 9180:C=vt:RETURN
9180 IF vt<1 THEN vt=0:RETURN ELSE IF vt>20 THEN vt=20:RETURN ELSE RETURN
9200 M6=0:FOR H=1 TO 5:IF pv(H)>1 THEN M6=1
9205 NEXT:IF M6=0 THEN CLEAR:MEMORY &9FFF:RUN"f&f3"ELSE RETURN
9210 GOSUB 9200:CLS#2:PRINT#2:PRINT#2,UPPER$(ps$(nu)):PRINT#2,"est mort...":pv(nu)=0:POKE AA+E,0:AB=&8383+((nu-1)*22):POKE AB+15,0:POKE AB+16,0:POKE AB+8,0:CALL &84A1:GOSUB 9320:GOSUB 9320:RETURN 
9300 PEN 1:PAPER 2:LOCATE 25,9:PRINT STRING$(13," "):LOCATE 25,9:PRINT ps$(nu):LOCATE 25,13:PRINT"Un monstre   ":PEN 0:PAPER 1:l=10:GOSUB 9310:l=14:GOSUB 9310:RETURN
9310 PEN 0:PAPER 1:LOCATE 25,l:PRINT"Force...   00":LOCATE 25,l+1:PRINT"Pt Vie.. 0000":LOCATE 25,l+2:PRINT"Pt Exp..00000":RETURN
9315 C0=fe(nu):l=10:GOSUB 9318:C0=pv(nu):l=11:GOSUB 9318:C0=ex(nu):l=12:GOSUB 9318:C0=F(nm):l=14:GOSUB 9318:C0=P2(nm):l=15:GOSUB 9318:C0=P0(nm):l=16:GOSUB 9318:RETURN
9318 C0$=RIGHT$(STR$(C0),LEN(STR$(C0))-1):LOCATE 38-LEN(C0$),l:PEN 2:PAPER 1:PRINT C0$:RETURN
9320 FOR T0=1 TO 1000:NEXT:RETURN
9400 IF LEN(ms$)<13 THEN ms$=ms$+" ":GOTO 9400 ELSE PEN 1:PAPER 3:LOCATE 25,8:PRINT ms$:GOSUB 9320:LOCATE 25,8:PEN 0:PAPER 1:PRINT STRING$(13," "):RETURN
10000 DI:CLS#2:ct=ca:S3=1:CALL &8DC0:INK 1,25:INK 3,18:POKE &9273,PEEK(&94D7):CALL &9270:POKE &92C3,PEEK(&94D7):POKE &92C4,PEEK(&94D3):POKE &92C5,PEEK(&94D4):CALL &92D2:EI:POKE &8F93,1:POKE &8F3A,PEEK(&94D3):POKE &8F3B,PEEK(&94D4):POKE &8F39,PEEK(&94D7)
10010 CALL &8F30:IF PEEK(&8F40)=1 THEN 5000 ELSE RETURN
12000 MEMORY &8FFF:A0=&8FFF:FOR b1=1 TO 5:POKE A0+1,fe(b1):POKE A0+2,I(b1):POKE A0+3,S(b1):POKE A0+4,D(b1):POKE A0+5,E(b1):v1=INT(pv(b1)/256):v2=pv(b1)-(256*v1):POKE A0+6,v2:POKE A0+7,v1:v1=INT(mn(b1)/256)
12030 v2=mn(b1)-(256*v1):POKE A0+8,v2:POKE A0+9,v1:v1=INT(ex(b1)/256):v2=ex(b1)-(256*v1):POKE A0+10,v2:POKE A0+11,v1:POKE A0+12,x:POKE A0+13,y:POKE A0+14,ca:POKE A0+15,N(b1)
12035 IF LEN(ST$(b1))<3 THEN ST$(b1)=ST$(b1)+" ":GOTO 12035
12040 FOR n0=1 TO 3:POKE A0+15+n0,ASC(MID$(ST$(b1),n0,1)):NEXT:A0=A0+18:NEXT:a$="fo":|ERA,@a$:OPENOUT"fo":FOR b1=1 TO 100:PRINT#9,o$(b1):NEXT:CLOSEOUT:CLEAR:RUN"transit"