1 CALL &BB48:MEMORY &6F7F:LOAD"z1",&8000:LOAD"z2",&8E80:LOAD"z3",&6F80:CALL &9F65:DIM o$(100):E0=INT(RND(1)*5):GOSUB 100:POKE &84B1,PEEK(&9FCE):POKE &84B2,PEEK(&9FCF):jr=PEEK(&9FCB):H=PEEK(&9FCC):mn=PEEK(&9FCD):P7=PEEK(&9FD3)
2 FOR b1=1 TO 5:M(b1)=PEEK(&9FD3+b1):NEXT:FOR b1=1 TO 5:B(b1)=PEEK(&9FD8+b1):NEXT:M2=PEEK(&9FDE):B3=PEEK(&9FDF):P8=PEEK(&9FF9):J=PEEK(&9FFA) 
5 ej=0:CLS#2:CLS#3:GOSUB90
7 CLS#2:CALL &8000:PEN 0:PAPER 1:CALL &7D2A:GOSUB 95:POKE &89DE,0:CALL &8668:IF PEEK(&89DE)<>0 AND PEEK(109+PEEK(&89DE))=0 THEN GOSUB 8000 
8 IF PEEK(&84B1)=1 AND PEEK(&84B2)=1 THEN 50 
9 GOSUB 9110:GOSUB 6000:GOSUB 9200:GOTO 8600 
50 r0=1:POKE &79A0,126:POKE &79A1,195:POKE &79A2,80:POKE &7A73,0:POKE &7A74,198:CALL &79A7  
51 CLS#2:PRINT#2,"Pour entrer  il faut payer";10+E0;" p.o":GOSUB9320:GOSUB9320:CLS#2:PRINT#2,"Qui paye ?":GOSUB490:PEN0:PAPER1:LOCATE25,16:PRINT"PARTIR   ";:PEN1:PAPER2:PRINT"  "
55 CALL&9E00:IFPEEK(&9E07)<6THENIFmn(PEEK(&9E07))-(10+E0)<0THENGOSUB910:GOTO51ELSE60ELSEIFPEEK(&9E07)=6THEN957ELSE55
60 mn(PEEK(&9E07))=mn(PEEK(&9E07))-(10+E0):CLS#2:PRINT#2,"Vous pouvez  passer...":r0=0:GOTO9
90 IF P8=1 THEN IF J=H THEN P8=0:GOTO 957 ELSE RETURN ELSE RETURN 
95 IF PEEK(63)=1 THEN RETURN ELSE IF PEEK(&84B1)=PEEK(63) THEN CLS #2 ELSE PEN 0:PAPER 1:LOCATE 25,10:PRINT "            ":LOCATE  25,11:PRINT "            " 
96 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"fcps":fi=1:WHILE NOT EOF:INPUT#9,P0$(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
110 PRINT"JR":LOCATE32,3:PRINT"HR":LOCATE37,3:PRINT"MN":EVERY249.600000024,1GOSUB114:PEN0:PAPER1:RETURN
114 GOSUB90:mn=mn+1:IFmn=60THENIFH=23THENjr=jr+1:H=0:mn=0ELSEH=H+1:mn=0:GOSUB300
116 rt$=STR$(mn):GOSUB120:mn$=rt$:rt$=STR$(H):GOSUB120:H$=rt$:rt$=STR$(jr):GOSUB120:jr$=rt$:PEN1:PAPER0:LOCATE25,3:PRINT jr$:LOCATE30,3:PRINT H$:LOCATE35,3:PRINT mn$:PEN0:PAPER1:RETURN
120 IFVAL(rt$)<10THENrt$="0"+RIGHT$(rt$,1):RETURNELSErt$=RIGHT$(rt$,2):RETURN
270 R4=0:FORb1=1TO100:GOSUB9090:IFpr=1THEN272ELSENEXT:RETURN
272 IFN5=0THENPRINT#2:PRINT#2,"vous voyez":PRINT#2,N;N0$:RETURN
274 WHILER4<N5:R4=R4+1
276 CALL&9E00:IFPEEK(&9E07)=18THENPRINT#2:PRINT#2," Il n'y a":PRINT#2," rien...":WEND:PRINT#2:PRINT#2,"il y a":PRINT#2,N;N0$:ch=1:RETURNELSEIFPEEK(&9E07)=30THEN276ELSERETURN
300 IFN3=1THENRETURNELSEFORr1=1TO5:IFpv(r1)=0THEN308ELSEF(r1)=F(r1)-1:M(r1)=M(r1)+1:B(r1)=B(r1)+1:IFM(r1)>48+F(r1)THENF(r1)=F(r1)-4
305 IFB(r1)>10+CINT(F(r1)/2)THENF(r1)=F(r1)-5
306 IFF(r1)<2THENpv(r1)=pv(r1)-INT(RND(1)*10)+1
308 NEXT:GOSUB9110:RETURN
350 ej=1:PAPER#3,0:CLS#3:CLS#2:PEN#3,3:INK3,18:PRINT#3:PRINT#3:PEN#3,1:PRINT#3,"  SANTE DU GROUPE":PRINT#3:PRINT#3:FORr2=1TO5:sa$="":sb$="":sc$="":IFpv(r2)=0THEN357ELSEIFM(r2)>10+CINT(F(r2)/2)THENsa$="faim"
352 IFB(r2)>5+CINT(F(r2)/4)THENsb$="soif"
354 IFF(r2)<6-CINT(F(r2)/4)THENsc$="sommeil"
355 PEN#3,2:IFsa$=""ANDsb$=""ANDsc$=""THENPRINT#3," ";UPPER$(ps$(r2));:PEN#3,3:PRINT#3," va bien":GOTO357
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 P4$="mange"ELSE IF t%=2 THEN P4$="boit"ELSE IF t%=3 THEN P4$="dort"ELSE IF t%=4 THEN 878 
360 IFP4$="boit"ANDB3=0ORP4$="mange"ANDM2=0THENGOSUB910:GOTO878ELSECLS#2:PRINT#2," Qui ";P4$:GOSUB490
362 CALL&9E00:IFPEEK(&9E07)<6THENt%=PEEK(&9E07):GOTO364ELSE362
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 IFP4$="mange"THENM2=M2-1:M(t%)=0ELSEB3=B3-1:B(t%)=0
368 IFP4$="mange"ANDM2>0THEN500ELSEIFP4$="boit"ANDB3>0THEN500
370 IFP4$="mange"THENa1=22:a2=40:a3=78:a4=81:a5=98:a6=101ELSEIFP4$="boit"THENa1=15:a2=19:a3=39:a4=45:a5=81:a6=84
372 fi=0:OPENIN"fcob":WHILENOTEOF:fi=fi+1:INPUT#9,k$:IFfi>a1ANDfi<a2ORfi>a3ANDfi<a4ORfi>a5ANDfi<a6THENo$(fi)=k$
374 WEND:CLOSEIN:IFI0=1THENRETURNELSEGOSUB710:GOTO878
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  ":N3=1:PEN#2,0:PAPER#2,1
382 CALL &9E00:IF PEEK(&9E07)<>30 THEN F(t%)=F(t%)+INT(drm):N3=0:GOTO 878 ELSE IF drm>5 OR F(t%)+INT(drm)>19 THEN 382 ELSE drm=drm+0.01:GOTO 382
400 CLS#2
402 RESTORE790:PRINT#2:PRINT#2:FORk1=1TOv0:READk$:NEXT:FORk1=1TOv1:READk$:PEN#2,0:PAPER#2,1:PRINT#2,k$;STRING$(9-LEN(k$),".");:PEN#2,1:PAPER#2,2:PRINT#2,k1:NEXT:PAPER#2,1:PEN#2,0
410 CALL&9E00:IFPEEK(&9E07)<v1+1THENt%=PEEK(&9E07):RETURNELSE410
450 CLS#2:PRINT#2:PRINT#2,"Vous parlez :":v0=8:v1=5:GOSUB402:RETURN
460 CLS#2:PRINT#2:PRINT#2,"Nous sommes:":v0=13:v1=5:GOSUB402:RETURN
470 CLS#2:PRINT#2:PRINT#2,"Vous       :":v0=18:v1=4:GOSUB402:RETURN
490 PRINT#2:PRINT#2:FORr1=1TO5:IFpv(r1)=0THEN495ELSEPEN#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 EI:CALL&9E00:PEN1:PAPER0:CALL&84B9:ONPEEK(&84AF)GOTO610,610,610,610,610,950,950,950,950,950,950,675,680,800,880,350,610,615,700,720,660,670,8100,8200,610,610,610,7200,610,500
610 SOUND1,478,10,15:GOTO500
615 CLS#2:PRINT#2:PRINT#2," Il n'y a":PRINT#2," rien...":GOSUB270:GOTO500
650 CLS#2:GOSUB910:GOTO500
660 P4$="achete":GOTO7000
670 P4$="vole":GOTO7000
675 B0=PEEK(&84B1):L0=PEEK(&84B2):POKE&8B85,0:CALL&8B82:IFPEEK(&8B86)=1THEN650ELSE8310
680 POKE&8B85,1:CALL&8B82:IFPEEK(&8B86)=1THEN650ELSE950
700 IFb1>100THEN650ELSEIFVAL(RIGHT$(o$(b1),1))<>0ANDPEEK(&89DE)<>0THEN650ELSECLS#2:FORb1=1TO100:GOSUB9090:IFpr=1THENIFch=1THENPRINT#2,"Qui prend ?":GOSUB490ELSE650ELSENEXT:GOTO650
702 CALL&9E00:IFPEEK(&9E07)<6THENt%=PEEK(&9E07):IFP(t%)>P7+F(t%)THEN650ELSEde=t%:GOSUB8500:o$(b1)=LEFT$(o$(b1),5)+"p"+RIGHT$(STR$(t%),1):P(t%)=P(t%)+(P0^2+0.5):ch=0:GOSUB710:GOTO500ELSE702
710 CLS#2:PEN 2:PAPER 0:LOCATE 24,21:PRINT"OK":PEN 0:PAPER 1:SOUND 1,478,10,15:FOR t=1 TO 500:NEXT:PEN 1:PAPER 0:LOCATE 24,21:PRINT"  ":RETURN
720 IFPEEK(&89DE)<>0THEN650ELSECLS#2:PRINT#2,"Qui laisse ?":GOSUB490
722 CALL&9E00:IFPEEK(&9E07)<6THENFORb1=1TO100:IFMID$(o$(b1),6,1)="p"ANDVAL(MID$(o$(b1),7,1))=PEEK(&9E07)THEN724ELSENEXT:GOTO650ELSE722
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:FORb1=1TO100:IFMID$(o$(b1),6,1)="p"ANDVAL(MID$(o$(b1),7,1))=PEEK(&9E07)THENGOSUB9100:PRINT#3,N0$ELSE728
727 CALL&9E00:IFPEEK(&9E07)=20THEN734ELSEIFPEEK(&9E07)=30THEN727
728 NEXT:PRINT#3,"Rien d'autre..."
729 CALL&9E00:IFPEEK(&9E07)=30THEN729ELSE878
734 P(VAL(MID$(o$(b1),7,1)))=P(VAL(MID$(o$(b1),7,1)))-(P0^2+0.5):IFPEEK(&84B1)<10THENbl$="0"+RIGHT$(STR$(PEEK(&84B1)),1)ELSEbl$=RIGHT$(STR$(PEEK(&84B1)),1)
738 de=VAL(MID$(o$(b1),7,1)):GOSUB8550:o$(b1)=LEFT$(o$(b1),5)+"v"+RIGHT$(STR$(PEEK(63)),1)+bl$+RIGHT$(STR$(PEEK(&84B2)),1):GOSUB710:IFR=1THENRETURNELSE878
780 DATA unvitri,hypno,emera,fusis,tanaris 
782 DATA ishtar,belgora,granhalf,emera,dormahot 
784 DATA ishtar,fusis,tanaris,zephir,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
788 DATA bouclier,heaume,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,MANGER,BOIRE,DORMIR,FIN,OUI,NON,FIN,BONJOUR,ACTION,TOI,MOI,RIEN,MARCHANDS,PELERINS,GUERRIERS,VOLEURS,AMIS,FLATTEZ,MENACEZ,INJURIEZ,ATTENDEZ  
795 DATA paix a toi,bonjour,comment ca  va,belle  jour-nee,vous etes   gentil,je suis hugo,je suis     martin,je suis     orora,je suis     jacques
796 DATA G1Guerrier,M3Magicien,E2Elfe,C3Clerc,H2Chevalier,V2Voleur,N4Nain,T4Tinigen
800 ej=1:PAPER#3,0:CLS#3:PEN#3,1:INK 3,2: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):FORn1=1TO5:LOCATE#3,10,14+n1:PRINT#3,STRING$(10," "):NEXT:IFpv(tr)<1THENCLS#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)):IFpv(tr)<1THEN870ELSELOCATE#3,1,5:PRINT#3,C$(tr);"     ":PEN#3,1:LOCATE#3,17,6:PRINT#3,F(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):IF N(tr)=1 THEN RESTORE 780 ELSE IF N(tr)=2 THEN RESTORE 782 ELSE RESTORE 784 
840 FORn2=1TO5:READs2$:IFs1$=LEFT$(s2$,1)THENLOCATE#3,12,15+n2:PRINT#3,UPPER$(s2$)
850 NEXT:NEXT
870 CALL&9E00:IFPEEK(&9E07)<>30THENtr=tr+1ELSE870
876 IFps$(tr)=""THEN878ELSE802
878 ej=0:CLS#3:GOSUB90:PAPER#3,3:CLS#3:GOTO5
880 ej=1:I0=0:PAPER#3,0:CLS#3:tr=0:PEN#3,3:INK3,20:FORr1=1TO5:IFpv(r1)=0THEN890ELSEPEN#3,1:PRINT#3:PRINT#3,UPPER$(ps$(r1));:PEN#3,3:PRINT#3," porte :"
884 PEN#3,2:FORr2=1TO100:o2$="p"+RIGHT$(STR$(r1),1):IFMID$(o$(r2),6,2)=o2$THENcd=VAL(LEFT$(o$(r2),2)):RESTORE786:I0=1:FORr3=1TOcd:READN0$:NEXT:PRINT#3,N0$
885 NEXT:IFI0=0THENPRINT#3,"rien"
888 CALL&9E00:IFPEEK(&9E07)<>30THEN890ELSE888
890 I0=0:NEXT:GOTO878
910 FORb1=1TO2:FORb2=1TO400:NEXT:PEN1:PAPER2:LOCATE24,21:PRINT" impossible ":FORb2=1TO400:NEXT:PEN1:PAPER0:LOCATE24,21:PRINT"            ":NEXT:CLS#2:RETURN
950 GOTO7
957 INK 3,24,0:SPEED INK 20,20:PAPER#3,0:CLS#3:PEN#3,3:PRINT#3:PRINT#3:PRINT#3:PRINT#3,"       METTEZ":PRINT#3:PEN#3,2:PRINT#3,"         LA":PRINT#3:PEN#3,3:PRINT#3,"       FACE 1":PRINT#3:PEN#3,2:PRINT#3," et appuyer sur une ":PRINT#3
958 PRINT#3,"       touche":CALL &7DA0:GOSUB 10000:MEMORY &96FF:GOSUB 12130:RUN"w86"
1000 WINDOW#5,3,14,A7,A7+4:PAPER#5,1:PEN#5,0:CLS#5:A7=400-((8*(5+A7))*2):FOR ds=1 TO 10:PLOT 200,A7:DRAWR(-30+A0)+ds,20,1:NEXT:RETURN
6000 IFPEEK(63)<>1THENRETURNELSEIFPEEK(&84B1)=7ANDPEEK(&84B2)=1THENPOKE&8DCD,1ELSEIFPEEK(&84B1)=10ANDPEEK(&84B2)=1THENPOKE&8DCD,2ELSERETURN
6010 PEN0:PAPER1:CLS#2:PRINT#2,"  Il y a un    manuscrit":GOSUB9320:CALL&8DCE:RETURN
7000 IFPEEK(&89DE)=0ORPEEK(109+PEEK(&89DE))=1THENGOSUB910:GOTO500ELSECLS#2:PRINT#2,"Qui ";P4$;" ?":GOSUB490
7005 IFP4$="vole"THENP5$="e "+P4$ELSEP5$="'"+P4$
7010 CALL&9E00:IFPEEK(&9E07)<6THENt%=PEEK(&9E07):CLS#2:GOSUB8000:PEN0:PAPER1:LOCATE25,10:PRINT STRING$(12," "):LOCATE#2,1,2:PRINT#2,"Qu";P5$;" ":PRINT#2,UPPER$(ps$(t%))ELSE7010
7020 CALL&9E00:IFPEEK(&9E07)<N4+1THENt1%=PEEK(&9E07)ELSE7020
7030 px=E0+INT(VAL(RIGHT$(o$(A(t1%)),1))*10.25):IFP4$="vole"THEN7100ELSEIFmn(t%)-px<0THENGOSUB910:GOTO500ELSEb1=A(t1%)
7040 P0=VAL(MID$(o$(b1),3,1)):IFP(t%)>P7+F(t%)THEN650ELSEo$(b1)=LEFT$(o$(b1),5)+"p"+RIGHT$(STR$(t%),1):P(t%)=P(t%)+(P0^2+0.5):mn(t%)=mn(t%)-px:de=t%:GOSUB8500:GOSUB710:GOSUB8000:GOTO500
7100 C1=((4*D(t1%))+(3*I(t1%))+(2*F(t1%))+INT(LOG10(ex(t1%)+1)*N(t1%))+INT(RND(1)*30+1))-INT(px/2):IFC1>120THENex(t1%)=ex(t1%)+(10*C1):b1=A(t1%):px=0:GOTO7040
7110 CLS#2:A7=3:A0=0:GOSUB 1000:PRINT#5:PRINT#5," AU VOLEUR !  AU VOLEUR!":PRINT#2,"Le marchand":PRINT#2,"a vu ";ps$(t1%):PRINT#2,"voler...":GOSUB 9320:GOSUB 9320:PRINT#2,"Des gardes   arrivent,vousetes pris...":GOSUB 9320:GOSUB 9320
7120 IF PEEK(63)<>1 THEN 957 ELSE PRINT#2,"Vous etes    condamne a 1 heure de  ca-chot":I0=1:P4$="mange":GOSUB 370:P4$="boit":GOSUB 370:FOR b1=1 TO 100:IF MID$(o$(b1),6,1)="p"THEN o$(b1)=LEFT$(o$(b1),5)+"v3107" 
7130 NEXT:I0=0:J=H+1:P8=1:POKE &84B1,7:POKE &84B2,6:POKE &84AE,0:GOTO 878 
7200 CLS #2:PRINT #2,"OK (o/n) ?"
7202 t$=INKEY$:IF t$="o" THEN 7205 ELSE IF t$="n" THEN 500 ELSE 7202
7205 GOSUB 10000:FOR S0=0 TO 21:POKE &9FE0+S0,PEEK(110+S0):NEXT:POKE &9FF8,PEEK(63):MEMORY &7D9F:GOSUB 12130:CLS#2:PRINT CHR$(7):PRINT#2," METTEZ une":PRINT#2," DISQUETTE":PRINT#2," et pressez":PRINT#2," une touche":DI:CALL &BB18 
7210 SAVE"f&fb",b,&9FCB,48:GOSUB 12050:PRINT#2,"ok":PRINT#2,"Remettez la  FACE 2   et  appuyez sur  une touche.":POKE &7DC1,&81:CALL &7DA0:POKE &7DC1,1:EI:RUN
8000 N4=0:FORZ=1TO5:A(Z)=0:NEXT:FORz2=1TO100:IFVAL(MID$(o$(z2),7,1))=PEEK(63)ANDMID$(o$(z2),6,1)="v"THENGOSUB8002
8001 NEXT:IFN4=0THENPOKE109+PEEK(&89DE),1:GOTO7ELSEPEN0:PAPER1:LOCATE25,10:PRINT"il propose :":GOTO8010
8002 IFVAL(MID$(o$(z2),8,2))=PEEK(&84B1)ANDVAL(MID$(o$(z2),10,1))=PEEK(&84B2)ANDVAL(MID$(o$(z2),13,1))<>0THEN8004ELSERETURN
8004 N4=N4+1:IFN4>5THENRETURNELSEA(N4)=z2:RETURNELSERETURN
8010 DI:FORZ=1TO5:RESTORE786:IFA(Z)=0THENRETURNELSEFORch=1TOVAL(LEFT$(o$(A(Z)),2)):READO$:NEXT:PEN2:PAPER1:LOCATE25,11+Z:PRINT Z;" ":PEN0:PAPER1:LOCATE27,11+Z:PRINT UPPER$(LEFT$(O$,8))
8012 PEN3:PAPER1:LOCATE35,11+Z:PRINT E0+INT(VAL(RIGHT$(o$(A(Z)),1))*10.25):NEXT:EI:RETURN
8100 CLS#2:PRINT#2,"Qui donne ?":GOSUB490
8105 CALL&9E00:IFPEEK(&9E07)<6THENp1%=PEEK(&9E07):IFmn(p1%)<1ORpv(p1%)<1THENGOSUB910:GOTO500ELSE8110ELSE8105
8110 CLS#2:PRINT#2,"a qui donne ":PRINT#2,ps$(p1%);" ?":GOSUB490
8120 CALL&9E00:IFPEEK(&9E07)<6THENp2%=PEEK(&9E07):IFp2%=p1%ORpv(p2%)=0THENGOSUB910:GOTO500ELSE8130ELSE8120
8130 CLS#2:PRINT#2:PRINT#2,"Varier  :  ":PRINT#2,"Valider : C  ":LOCATE#2,1,6:PRINT#2,UPPER$(ps$(p1%)):LOCATE#2,1,7:PRINT#2,UPPER$(ps$(p2%))
8140 PEN#2,2:LOCATE#2,9,6:PRINT#2,mn(p1%):LOCATE#2,9,7:PRINT#2,mn(p2%):PEN#2,0:CALL&9E00
8150 IFPEEK(&9E07)=6ANDmn(p1%)>0THENmn(p1%)=mn(p1%)-1:mn(p2%)=mn(p2%)+1ELSEIFPEEK(&9E07)=7ANDmn(p2%)>0THENmn(p1%)=mn(p1%)+1:mn(p2%)=mn(p2%)-1ELSEIFPEEK(&9E07)=14THENCLS#2:GOTO500
8152 GOTO8140
8200 IFPEEK(&89DE)=0ORPEEK(109+PEEK(&89DE))=1THENGOSUB910:GOTO500ELSECLS#2:PRINT#2,"Vous pouvez  Marchander : ":PRINT#2:FORb1=1TO100:IFMID$(o$(b1),6,1)="p"THENGOSUB9100:PRINT#2,UPPER$(N0$)ELSE8210
8205 CALL&9E00:IFPEEK(&9E07)=6THEN8210ELSEIFPEEK(&9E07)=7THEN8220ELSE8205
8210 NEXT:PRINT#2,"Rien d'autre..."
8212 CALL&9E00:IFPEEK(&9E07)=30THEN8212ELSE500
8220 A7=3:A0=0:GOSUB1000:PRINT#5:PRINT#5," ";N0$" !":PRINT#5:PRINT#5," Hum...":GOSUB9320:cx=PEEK(&89DE):O0=E0+10+INT(RND(1)*50):IFcx=10ORcx=13THENIFb1<23ORb1>83THEN8250
8222 IFcx=2ORcx=3ORcx=4ORcx=7ORcx=8ORcx=11ORcx=12THENIFb1>22ANDb1<40ORb1=79ORb1=80THEN8250ELSE8230ELSEIFcx=6THENIFb1>39ANDb1<45ORb1>80ANDb1<84THEN8250
8226 IFcx=5ORcx=9THENIFb1>44ANDb1<64THEN8250ELSE8230ELSEIFcx=1THENIFb1>63ANDb1<79THEN8250
8230 GOSUB9320:CLS#5:PRINT#5,"   Ca  ne  ":PRINT#5:PRINT#5," m'interesse ":PRINT#5,"     pas !":GOSUB9320:GOSUB9320:GOTO878
8250 CLS#5:PRINT#5," Je vous en  propose  :":PRINT#5:PRINT#5," ";O0;" p.o"
8260 v0=5:v1=3:GOSUB400:IFt%=1THEN8270ELSEIFt%=2THEN8280ELSEIFt%=3THEN878
8270 R=1:GOSUB734:R=0:IFPEEK(&89DE)<10THENnu$="0"+RIGHT$(STR$(PEEK(&89DE)),1)ELSEnu$=RIGHT$(STR$(PEEK(&89DE)),1)
8275 o$(b1)=o$(b1)+nu$+RIGHT$(STR$(INT(O0/10)),1):mn(VAL(MID$(o$(b1),7,1)))=mn(VAL(MID$(o$(b1),7,1)))+O0:GOTO878
8280 CLS#5:M0=0:RESTORE8300:FORm1=1TOINT(RND(1)*5)+1:READm$:NEXT:PRINT#5:PRINT#5," "+m$:FORb2=1TO100:IFVAL(MID$(o$(b2),11,2))=PEEK(&89DE)ANDMID$(o$(b2),6,1)="v"ANDVAL(MID$(o$(b2),7,1))=PEEK(63)THENM0=M0+1
8282 NEXT:IFM0<3ORO0>99THENM0=0:IFO0>(60-INT(RND(1)*10))THENPRINT#5," Je ne peux  pas plus...":GOTO8260ELSEO0=O0+INT(RND(1)*(INT(RND(1)*10)+5)):GOTO8250
8284 M0=0:P6=INT(RND(1)*100):IFP6=50THENPRINT#5," ouais !     je vois...":O0=O0+INT(RND(1)*(INT(RND(1)*5)+1)):GOTO8250ELSEPRINT#5,"C'est mon   dernier prix":GOTO8260
8300 DATAbof...,je vois...,mince...,par ISHTAR !,hum !!!
8310 IFG=1THEN8350ELSECLS#2:PRINT#2,"La porte est fermee.":GOSUB9320:PRINT#2,"Qui l'ouvre ?":GOSUB490:PRINT#2:PEN0:PAPER1:LOCATE25,17:PRINT"PARTIR   ";:PEN1:PAPER2:PRINT"  "
8320 CALL&9E00:IFPEEK(&9E07)<6THENIFpv(PEEK(&9E07))<1THENGOSUB910:GOTO8320ELSECLS#2:PRINT#2,ps$(PEEK(&9E07)):PRINT#2,"essaye d'ou- vrir la porte"ELSEIFPEEK(&9E07)=6THEN8360ELSE8320
8330 p%=PEEK(&9E07):C=(4.15*D(p%))+(1.5*F(p%))+(nv*INT(LOG10(ex(p%)+1)))+INT(RND(1)*20):GOSUB 9320:IF C>100 THEN PRINT#2,"Il y arrive.":GOSUB 9320:GOTO 8350 ELSE PRINT#2,"Ca ne marche pas...":GOSUB 9320:GOTO 8360 
8350 GOTO950
8360 CLS#2:POKE&84B1,B0:POKE&84B2,L0:GOTO500
8500 IFb1>15ANDb1<19ORb1>39ANDb1<45ORb1>80ANDb1<84THENB3=B3+1ELSEIFb1>20ANDb1<40ORb1=99THENM2=M2+1ELSEIFb1=16THENpv(de)=pv(de)-(100*INT(RND(1)*6)+1)ELSEIFb1>16ANDb1<19THENF(de)=F(de)+4
8510 IFb1>85ANDb1<88THENF(de)=F(de)-3:pv(de)=pv(de)-50ELSEIFb1>44ANDb1<48THEND(de)=D(de)+2:F(de)=F(de)+2ELSEIFb1>47ANDb1<51THENF(de)=F(de)+3ELSEIFb1>50ANDb1<55THENE(de)=E(de)-3
8520 IFb1>54ANDb1<57THENF(de)=F(de)+4ELSEIFb1>56ANDb1<59THENF(de)=F(de)+1:D(de)=D(de)+3ELSEIFb1>58ANDb1<64THENF(de)=F(de)+2:E(de)=E(de)-3ELSEIFb1>63ANDb1<67THENP7=P7+25
8530 IFb1>66ANDb1<69THENF(de)=F(de)+1ELSEIFb1>68ANDb1<75THENE(de)=E(de)-1
8540 ex(de)=ex(de)+INT(RND(1)*10)+1:RETURN
8550 IFb1>15ANDb1<19ORb1>39ANDb1<45ORb1>80ANDb1<84THENB3=B3-1ELSEIFb1>20ANDb1<40ORb1=99THENM2=M2-1ELSEIFb1>44ANDb1<48THEND(de)=D(de)-2:F(de)=F(de)-2ELSEIFb1>47ANDb1<51THENF(de)=F(de)-3
8560 IFb1>50ANDb1<55THENE(de)=E(de)+3ELSEIFb1>54ANDb1<57THENF(de)=F(de)-4ELSEIFb1>56ANDb1<59THENF(de)=F(de)-1:D(de)=D(de)-3ELSEIFb1>58ANDb1<64THENF(de)=F(de)-2:E(de)=E(de)+3
8570 IFb1>63ANDb1<67THENP7=P7-25ELSEIFb1>66ANDb1<69THENF(de)=F(de)-1ELSEIFb1>68ANDb1<75THENE(de)=E(de)+1
8580 RETURN
8600 pr=INT(RND(1)*100):IF pr<85 THEN 500 ELSE IF G=1 THEN G=0 ELSE G=1 
8610 CLS #2:IF pr<90 THEN PRINT#2,"Une personne sort c'est :":IF pr<95 THEN PRINT#2,"une femme":GOTO 500 ELSE PRINT#2,"un homme":GOTO 500 
8620 IF pr=92 THEN P3=1 ELSE IF pr=94 THEN P3=2 ELSE IF pr=96 THEN P3=3 ELSE IF pr=98 THEN P3=4 ELSE 500
8630 POKE&79A0,16:POKE&79A1,197:POKE&79A2,40:POKE&7A73,41:POKE&7A74,197+P3:CALL&79A7:A7=9:A0=25:GOSUB1000:PRINT#5:PRINT#5," bonjour":GOSUB9320
8640 CLS #5:GOSUB 450:IF t%=1 THEN ph=INT(RND(1)*2)+1:GOTO 8690 ELSE IF t%=3 THEN ph=4+P3:GOTO 8690 ELSE IF t%=5 THEN 7 ELSE IF t%=2 THEN GOSUB 470:IF t%=1 THEN ph=4:GOTO 8690 ELSE 7  
8650 GOSUB460:IFt%=1ORt%=5ORt%=2THENph=INT(RND(1)*3)+1:GOTO8690ELSE7
8690 RESTORE795:FORL=1TOph:READph$:NEXT:PRINT#5:PRINT#5,ph$:GOSUB9320:GOSUB9320:GOTO8640
9000 FORnp=1TO5:IFP0$(np)=""THEN9020
9010 IFASC(LEFT$(P0$(np),1))<57THENGOSUB9030ELSEps$(np)=ps$(np)+LEFT$(P0$(np),1):P0$(np)=RIGHT$(P0$(np),LEN(P0$(np))-1):GOTO9010
9020 NEXT:RETURN
9030 F(np)=VAL(LEFT$(P0$(np),2)):I(np)=VAL(MID$(P0$(np),3,2)):S(np)=VAL(MID$(P0$(np),5,2)):D(np)=VAL(MID$(P0$(np),7,2)):E(np)=VAL(MID$(P0$(np),9,2)):pv(np)=VAL(MID$(P0$(np),11,4)):mn(np)=VAL(MID$(P0$(np),15,4))
9040 ex(np)=VAL(MID$(P0$(np),19,6)):C$(np)=MID$(P0$(np),25,1):x=VAL(MID$(P0$(np),26,2)):y=VAL(MID$(P0$(np),28,2)):ca=VAL(MID$(P0$(np),30,2)):st$(np)=MID$(P0$(np),33,3):N(np)=VAL(MID$(P0$(np),32,1)):RESTORE 796: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:IFMID$(o$(b1),6,1)="v"ANDVAL(MID$(o$(b1),7,1))=PEEK(63)THENIFVAL(MID$(o$(b1),8,2))=PEEK(&84B1)ANDVAL(MID$(o$(b1),10,1))=PEEK(&84B2)THEN9100ELSERETURNELSERETURN
9100 pr=1:RESTORE786:cd=VAL(LEFT$(o$(b1),2)):FORb2=1TOcd:READN0$:NEXT:P0=VAL(MID$(o$(b1),3,1)):N5=VAL(MID$(o$(b1),4,1)):N5=N5+CINT(RND(1)*10):N=VAL(MID$(o$(b1),5,1)):RETURN
9110 FORC0=1TO5:vt=F(C0):GOSUB9180:F(C0)=vt:vt=I(C0):GOSUB9180:I(C0)=vt:vt=S(C0):GOSUB9180:S(C0)=vt:vt=D(C0):GOSUB9180:D(C0)=vt:vt=E(C0):GOSUB9180:E(C0)=vt
9120 IF pv(C0)<1 THEN pv(C0)=0 ELSE IF pv(C0)>1000 THEN pv(C0)=1000 
9130 IFmn(C0)<1THENmn(C0)=0ELSEIFmn(C0)>9999THENmn(C0)=9999
9140 IF ex(C0)<0 THEN ex(C0)=0 ELSE IF ex(C0)>(30000*N(c0)) THEN N(C0)=N(C0)+1
9150 NEXT:RETURN
9180 IF vt<1 THEN vt=0:RETURN ELSE IF vt>20 THEN vt=20:RETURN ELSE RETURN 
9200 mrt=0:FOR h0=1 TO 5:IF pv(h0)>1 THEN mrt=1
9210 NEXT:IF mrt=0 THEN CLEAR:MEMORY &8FFF:LOAD "f&f5",&9000:MODE 1:CALL &9000 ELSE RETURN  
9320 FORw=1TO1000:NEXT:RETURN
10000 POKE &9FCB,jr:POKE &9FCC,H:POKE &9FCD,mn:POKE &9FD3,P7:FOR b1=1 TO 5:POKE &9FD3+b1,M(b1):NEXT:FOR b1=1 TO 5:POKE &9FD8+b1,B(b1):NEXT:POKE &9FDE,M2:POKE &9FDF,B3:POKE &9FCE,PEEK(&84B1):POKE &9FCF,PEEK(&84B2):POKE &9FF9,P8:POKE &9FFA,J:RETURN 
12000 v$="":IFv<10THENv$="0":RETURNELSERETURN
12010 v$="":IFv<100THENGOSUB12000:v$=v$+"0":RETURNELSERETURN
12020 v$="":IFv<1000THENGOSUB12010:v$=v$+"0":RETURNELSERETURN
12030 v$="":IFv<10000THENGOSUB12020:v$=v$+"0":RETURNELSERETURN
12040 v$=v$+RIGHT$(STR$(v),LEN(STR$(v))-1):RETURN
12050 FORb1=1TO5:IFP0$(b1)=""THEN12100ELSEv=x:GOSUB12000:GOSUB12040:x$=v$:v=y:GOSUB12000:GOSUB12040:y$=v$:v=ca:GOSUB12000:GOSUB12040:ca$=v$
12060 v=F(b1):GOSUB12000:GOSUB12040:f$=v$:v=I(b1):GOSUB12000:GOSUB12040:i$=v$:v=S(b1):GOSUB12000:GOSUB12040:s$=v$:v=D(b1):GOSUB12000:GOSUB12040:d$=v$:v=E(b1):GOSUB12000:GOSUB12040:e$=v$:v=pv(b1):GOSUB12020:GOSUB12040:pv$=v$
12070 IFC$(b1)="Chevalier"THENC$(b1)="H"ELSEC$(b1)=UPPER$(LEFT$(C$(b1),1))
12080 IFca$="100"THENca$="00"
12090 v=mn(b1):GOSUB12020:GOSUB12040:mn$=v$:v=ex(b1):GOSUB12030:GOSUB12040:ex$="0"+v$:P0$(b1)=ps$(b1)+f$+i$+s$+d$+e$+pv$+mn$+ex$+C$(b1)+x$+y$+ca$+RIGHT$(STR$(N(b1)),1)+st$(b1)
12100 NEXT:OPENOUT"fcps":FORb1=1TO5:IFP0$(b1)=""THEN12120ELSEPRINT#9,P0$(b1)
12120 NEXT:CLOSEOUT:OPENOUT"fo":FORb1=1TO100:PRINT#9,o$(b1):NEXT:CLOSEOUT:RETURN
12130 a$="fcps":b$="fo":|ERA,@a$:|ERA,@b$:GOSUB 12050:RETURN
