La maison est terminée
This commit is contained in:
parent
d396f48671
commit
fcd9274d6b
Binary file not shown.
|
@ -0,0 +1,429 @@
|
|||
0 GOTO 9000
|
||||
1 GOTO 10
|
||||
10 HOME
|
||||
19 DIM S(10)
|
||||
20 DIM C(10)
|
||||
30 SALLE = 1
|
||||
40 DIM P$(2)
|
||||
50 DIM O(O)
|
||||
60 FOR X = 1 TO O
|
||||
70 O(X) = Q(X)
|
||||
80 NEXT X
|
||||
100 IF S(2) = 0 THEN 200
|
||||
110 IF C(2) THEN C(2) = C(2) - 1
|
||||
120 IF S(3) THEN 200
|
||||
130 PRINT "On y voit rien. Mieux vaudrait allumer pour eviter les ennuis."
|
||||
140 IF C(3) THEN C(3) = C(3) - 1
|
||||
150 GOTO 1000
|
||||
200 GOTO 210
|
||||
210 PRINT
|
||||
215 IF SALLE > 11 THEN 230
|
||||
220 ON SALLE GOSUB 8010,8020,8030,8040,8050,8060,8070,8080,8090,8100,8110: GOTO 300
|
||||
230 ON SALLE GOSUB 0,0,0,0,0,0,0,0,0,0,0,8120,8130,8140,8150,8160,8170: GOTO 300
|
||||
250 PRINT "Erreur de programme": STOP
|
||||
300 F = 0
|
||||
310 FOR X = 1 TO O
|
||||
315 RW = O(X)
|
||||
320 IF RW < > (SALLE) THEN GOTO 500
|
||||
330 IF F THEN 400
|
||||
340 PRINT "Il y a aussi:"
|
||||
350 F = 1
|
||||
400 PRINT " ";O$(X)
|
||||
500 NEXT X
|
||||
1000 GOTO 1010
|
||||
1010 T = 1
|
||||
1020 GOTO 2000
|
||||
1100 IF C(1) THEN C(1) = C(1) - 1
|
||||
1110 IF C(4) THEN C(4) = C(4) - 1
|
||||
1120 INPUT "Que faites vous?>";Y$
|
||||
1140 HOME
|
||||
1150 Y = 0
|
||||
1160 PRINT ">";Y$
|
||||
1170 P$(2) = "00"
|
||||
1200 FOR W = 1 TO 2
|
||||
1210 GOSUB 6000
|
||||
1220 IF Y > LEN (Y$) THEN 1300
|
||||
1230 IF P$(W) = "00" THEN 1210
|
||||
1240 NEXT W
|
||||
1300 IF P$(1) < > "00" THEN 1600
|
||||
1310 PRINT "Pardon?"
|
||||
1320 GOTO 100
|
||||
1600 GOTO 1610
|
||||
1610 Z = 1
|
||||
1620 T$ = MID$ (M$(SALLE),Z,2)
|
||||
1630 IF T$ = "00" THEN 1900
|
||||
1640 IF T$ < > P$(1) THEN 1700
|
||||
1650 SALLE = VAL ( MID$ (M$(SALLE),Z + 2,2))
|
||||
1660 GOTO 100
|
||||
1700 Z = Z + 4
|
||||
1710 GOTO 1620
|
||||
1900 T = 0
|
||||
1910 XX0 = 0
|
||||
2000 GOTO 2010
|
||||
2010 CP = 0
|
||||
2100 CP = CP + 1
|
||||
2110 IF T = 0 THEN 2300
|
||||
2120 E$ = C$(CP)
|
||||
2130 GOTO 2600
|
||||
2300 IF CP < = (A) THEN 2400
|
||||
2310 IF XXO THEN 1000
|
||||
2320 PRINT "Impossible ";
|
||||
2330 IF VAL (P$(1)) < 13 THEN PRINT "prendre cette direction";
|
||||
2340 PRINT "."
|
||||
2350 GOTO 100
|
||||
2400 IF LEFT$ (A$(CP),2) < > P$(1) THEN 2100
|
||||
2410 Y$ = MID$ (A$(CP),3,2)
|
||||
2420 IF Y$ < > "00" AND Y$ < > P$(2) THEN 2100
|
||||
2430 E$ = MID$ (A$(CP),5)
|
||||
2600 GOTO 2610
|
||||
2610 E = 1
|
||||
2700 IF MID$ (E$,E,1) = "." THEN 3000
|
||||
2710 TYPE = ASC ( MID$ (E$,E,1)) - 64
|
||||
2720 N = VAL ( MID$ (E$,E + 1,2))
|
||||
2800 ON (TYPE) GOSUB 2900,2910,2920,2930,2940,2950,2960,2970
|
||||
2810 IF NOT OK THEN GOTO 2100
|
||||
2820 E = E + 3
|
||||
2830 GOTO 2700
|
||||
2900 OK = (N = SALLE)
|
||||
2905 RETURN
|
||||
2910 OK = (O(N) = SALLE OR O(N) < 0)
|
||||
2915 RETURN
|
||||
2920 OK = (O(N) < > SALLE AND O(N) > = 0)
|
||||
2925 RETURN
|
||||
2930 OK = (O(N) < 0)
|
||||
2935 RETURN
|
||||
2940 OK = (S(N) < > 0)
|
||||
2945 RETURN
|
||||
2950 OK = (S(N) = 0)
|
||||
2955 RETURN
|
||||
2960 OK = (C(N) = 1)
|
||||
2965 RETURN
|
||||
2970 OK = ( INT ( RND (1) * 100) < = N)
|
||||
2975 RETURN
|
||||
3000 GOTO 3010
|
||||
3010 XXO = 1
|
||||
3020 E = E + 1
|
||||
3100 IF MID$ (E$,E,1) = "." THEN 2100
|
||||
3105 IF MID$ (E$,E,1) = "" THEN TYPE = 0: GOTO 3120
|
||||
3110 TYPE = ASC ( MID$ (E$,E,1)) - 64
|
||||
3120 IF MID$ (E$,E + 1,1) < > "." THEN N = VAL ( MID$ (E$,E + 1,2))
|
||||
3200 BREAK = 0
|
||||
3205 IF TYPE > 11 THEN GOTO 3215
|
||||
3210 ON TYPE GOSUB 4000,4100,4200,4300,4400,4500,4600,4700,4800,4900,5000: GOTO 3220
|
||||
3215 ON TYPE GOSUB 0,0,0,0,0,0,0,0,0,0,0,5100,5200,5300,5400,5500,5600: GOTO 3220
|
||||
3218 PRINT "Erreur de programme": STOP
|
||||
3220 IF BREAK = 100 THEN 100
|
||||
3221 IF BREAK = 1000 THEN 1000
|
||||
3222 IF BREAK = 1100 THEN 1100
|
||||
3230 E = E + 3
|
||||
3240 GOTO 3100
|
||||
4000 PRINT
|
||||
4010 PRINT "Vous tenez:"
|
||||
4020 F = 1
|
||||
4030 FOR X = 1 TO O
|
||||
4040 IF O(X) > = 0 THEN 4070
|
||||
4050 PRINT " ";O$(X)
|
||||
4060 F = 0
|
||||
4070 NEXT X
|
||||
4080 IF F THEN PRINT " Rien."
|
||||
4090 BREAK = 100
|
||||
4095 RETURN
|
||||
4100 IF S(1) < 5 THEN 4140
|
||||
4110 PRINT "Vous ne pouvez porter plus."
|
||||
4120 BREAK = 100
|
||||
4130 RETURN
|
||||
4140 IF O(N) = - 1 THEN 4180
|
||||
4150 O(N) = - 1
|
||||
4160 S(1) = S(1) + 1
|
||||
4170 RETURN
|
||||
4180 PRINT "Vous l'avez deja."
|
||||
4190 GOTO 4120
|
||||
4200 IF O(N) = - 1 THEN 4240
|
||||
4210 PRINT "Vous n'avez pas";O$(N)
|
||||
4220 BREAK = 100
|
||||
4230 RETURN
|
||||
4240 O(N) = SALLE
|
||||
4250 S(1) = S(1) - 1
|
||||
4260 RETURN
|
||||
4300 PRINT
|
||||
4302 IF N > 11 AND N < 22 THEN 4312
|
||||
4303 IF N > 21 AND N < 32 THEN 4313
|
||||
4304 IF N > 31 AND N < 41 THEN 4314
|
||||
4305 IF N > 41 THEN 4315
|
||||
4310 ON N GOSUB 7010,7020,7030,7040,7050,7060,7070,7080,7090,7100: GOTO 4320
|
||||
4312 ON (N - 10) GOSUB 7110,7120,7130,7140,7150,7160,7170,7180,7190,7200: GOTO 4320
|
||||
4313 ON (N - 20) GOSUB 7210,7220,7230,7240,7250,7260,7270,7280,7290,7300: GOTO 4320
|
||||
4314 ON (N - 30) GOSUB 7310,7320,7330,7340,7350,7360,7370,7380,7390,7400: GOTO 4320
|
||||
4315 ON (N - 40) GOSUB 7410,7420,7430,7440,7450,7460: GOTO 4320
|
||||
4316 PRINT "Erreur de programme": STOP
|
||||
4320 RETURN
|
||||
4400 S(N) = 1
|
||||
4410 RETURN
|
||||
4500 S(N) = 0
|
||||
4510 RETURN
|
||||
4600 C(N) = VAL ( MID$ (E$,E + 3,2))
|
||||
4610 E = E + 2
|
||||
4620 RETURN
|
||||
4700 X = O(N)
|
||||
4710 O(N) = O(N + 1)
|
||||
4720 O(N + 1) = X
|
||||
4730 RETURN
|
||||
4800 O(N) = SALLE
|
||||
4810 RETURN
|
||||
4900 IF O(N) < 0 THEN S(1) = S(1) - 1
|
||||
4910 O(N) = 0
|
||||
4920 RETURN
|
||||
5000 SALLE = N
|
||||
5010 RETURN
|
||||
5100 PRINT "D'acccord."
|
||||
5200 BREAK = 1000
|
||||
5210 RETURN
|
||||
5300 BREAK = 1100
|
||||
5310 RETURN
|
||||
5400 BREAK = 100
|
||||
5410 RETURN
|
||||
5500 PRINT "Etes vous sur?";
|
||||
5510 INPUT W$
|
||||
5520 PRINT W$
|
||||
5530 IF LEFT$ (W$,1) < > "O" THEN RETURN
|
||||
5600 GOTO 9999
|
||||
6000 GOTO 6010
|
||||
6010 W$ = ""
|
||||
6015 P$(W) = "00"
|
||||
6020 GOSUB 6600
|
||||
6025 IF (FIN) THEN RETURN
|
||||
6030 FOR Q = 1 TO 4
|
||||
6040 W$ = W$ + MID$ (Y$,Y,1)
|
||||
6050 GOSUB 6500
|
||||
6060 IF (FIN) THEN 6100
|
||||
6070 NEXT Q
|
||||
6080 GOSUB 6500
|
||||
6090 IF (FIN) = 0 THEN 6080
|
||||
6100 IF W$ = " " THEN RETURN
|
||||
6110 FOR Q = 1 TO V
|
||||
6120 IF W$ = MID$ (V$(Q),3) THEN 6200
|
||||
6130 NEXT Q
|
||||
6140 RETURN
|
||||
6200 P$(W) = LEFT$ (V$(Q),2)
|
||||
6210 RETURN
|
||||
6500 Y = Y + 1
|
||||
6510 FIN = (Y > LEN (Y$))
|
||||
6520 IF (FIN) THEN RETURN
|
||||
6530 FIN = ( MID$ (Y$,Y,1) = " ")
|
||||
6540 RETURN
|
||||
6600 Y = Y + 1
|
||||
6610 FIN = (Y > LEN (Y$))
|
||||
6620 IF (FIN) THEN RETURN
|
||||
6630 IF MID$ (Y$,Y,1) = " " THEN 6600
|
||||
6640 RETURN
|
||||
7010 PRINT "La generatrice vient d'exploser. La maison n'existe plus. Vous non plus."
|
||||
7015 RETURN
|
||||
7020 PRINT "L'ascenseur ne bouge pas. Il faut peut-etre du courant?"
|
||||
7025 RETURN
|
||||
7030 PRINT "La porte vient de se fermer. Impossible de l'ouvrir."
|
||||
7035 RETURN
|
||||
7040 PRINT "Vous avez raison. La curiosite est un vilain defaut..."
|
||||
7045 RETURN
|
||||
7050 PRINT "L'odeur que vous sentiez etait celle d'un gaz explosif. Vous etes mort."
|
||||
7055 RETURN
|
||||
7060 PRINT "Il faudrait peut-etre du feu..."
|
||||
7065 RETURN
|
||||
7070 PRINT "Ah, Ah...Vous etes mon prisonnier!"
|
||||
7075 RETURN
|
||||
7080 PRINT "Vous avez dit papier? Quel papier?"
|
||||
7085 RETURN
|
||||
7090 PRINT "Bravez les interdits!"
|
||||
7095 RETURN
|
||||
7100 PRINT "Elle l'air de s'emballer..."
|
||||
7105 RETURN
|
||||
7110 PRINT "La generatrice se met en marche."
|
||||
7115 RETURN
|
||||
7120 PRINT "Impossible, elle ne veut rien savoir."
|
||||
7125 RETURN
|
||||
7130 PRINT "Bravo. Je ne savais pas que vous aviez des dons d'electricien."
|
||||
7135 RETURN
|
||||
7140 PRINT "Votre machine est reparee mais elle sent le chaud."
|
||||
7145 RETURN
|
||||
7150 PRINT "La machine est reparee. Dommage qu'il n'y ait pas de courant."
|
||||
7155 RETURN
|
||||
7160 PRINT "Il faudrait peut etre des outils."
|
||||
7165 RETURN
|
||||
7170 PRINT "L'ascenseur semble monter..."
|
||||
7175 RETURN
|
||||
7180 PRINT "L'ascenseur ne bouge pas."
|
||||
7185 RETURN
|
||||
7190 PRINT "Le cable vient de casser. Vous vous ecrasez en bas. Mort."
|
||||
7195 RETURN
|
||||
7200 PRINT "Il fait noir. Il faudrait allumer."
|
||||
7205 RETURN
|
||||
7210 PRINT "Vous vous ecrasez au sol."
|
||||
7215 RETURN
|
||||
7220 PRINT "Il y a une clef."
|
||||
7225 RETURN
|
||||
7230 PRINT "La porte est fermee a clef."
|
||||
7235 RETURN
|
||||
7240 PRINT "Tiens, la porte du placard se referme."
|
||||
7245 RETURN
|
||||
7250 PRINT "La generatrice vient d'exploser, l'ascenseur est detruit.": PRINT "Vous vous en rechappez de justesse."
|
||||
7255 RETURN
|
||||
7260 PRINT "Vous etes mort electrocute."
|
||||
7265 RETURN
|
||||
7270 PRINT "Vous avez raison. Rien ne sert de courrir."
|
||||
7275 RETURN
|
||||
7280 PRINT "Dehors il fait noir. On ne voit pas le sol."
|
||||
7285 RETURN
|
||||
7290 PRINT "C'est deja fait."
|
||||
7295 RETURN
|
||||
7300 PRINT "Vous etes au bout de la corde."
|
||||
7305 RETURN
|
||||
7310 PRINT "Vraiment pas au point cette machine! Vous etes mort."
|
||||
7315 RETURN
|
||||
7320 PRINT "Il faudrait peut-etre ouvrir la fenetre."
|
||||
7325 RETURN
|
||||
7330 PRINT "Tant pis. On a essaye."
|
||||
7335 RETURN
|
||||
7340 PRINT "Bravo, quel trait de genie!"
|
||||
7345 RETURN
|
||||
7350 PRINT "Une trappe s'ouvre sous vos pieds. Vous etes mort."
|
||||
7355 RETURN
|
||||
7360 PRINT "Sage precaution."
|
||||
7365 RETURN
|
||||
7370 PRINT "C'est du poison. Vous etes mort."
|
||||
7375 RETURN
|
||||
7380 PRINT "Vous apprenez a piloter une soucoupe en 1 lecon."
|
||||
7385 RETURN
|
||||
7390 PRINT "Ca ne se pilote pas comme ca!"
|
||||
7395 RETURN
|
||||
7400 PRINT "C'est de l'acide. Vous etes mort."
|
||||
7405 RETURN
|
||||
7410 PRINT "Il y a de l'eau. Vous vous noyez."
|
||||
7415 RETURN
|
||||
7420 PRINT "Ouf! Vous vous retrouvez dehors..."
|
||||
7425 RETURN
|
||||
7430 PRINT "Sain et sauf..."
|
||||
7435 RETURN
|
||||
7440 PRINT "Ca marche... Mais il n'y avait pas assez de carburant."
|
||||
7445 RETURN
|
||||
7450 PRINT "Mais vous etes tout bleu! Ce doit etre les pillules."
|
||||
7455 RETURN
|
||||
7460 PRINT "Et irradie. Vous mourez au bout de quelques jours."
|
||||
7465 RETURN
|
||||
8010 PRINT "Vous etes devant une maison. La porte est ouverte."
|
||||
8015 RETURN
|
||||
8020 PRINT "Vous etes dans le couloir. Il y a une porte a l'est et une porte a l'ouest."
|
||||
8025 RETURN
|
||||
8030 PRINT "Vous etes dans le salon. Il y a une porte a l'ouest."
|
||||
8035 RETURN
|
||||
8040 PRINT "Il y a une drole d'odeur."
|
||||
8045 RETURN
|
||||
8050 PRINT "Il y a une grosse machine qui ressemble a une generatrice avec un bouton vert,": PRINT "un bouton rouge. Il y a une porte au nord."
|
||||
8055 RETURN
|
||||
8060 PRINT "Une machinerie d'ascenseur. Une porte au nord."
|
||||
8065 RETURN
|
||||
8070 PRINT "Il y a plein de materiel"
|
||||
8075 RETURN
|
||||
8080 PRINT "Vous etes dans un ascenseur. Il y a un bouton HAUT, un bouton BAS."
|
||||
8085 RETURN
|
||||
8090 PRINT "L'ascenseur vient de s'arreter."
|
||||
8095 RETURN
|
||||
8100 PRINT "La piece est humide. Il ya a des fils qui trainent par terre.": PRINT "Il y a une fenetre et une porte au nord."
|
||||
8105 RETURN
|
||||
8110 PRINT "La porte derriere vous vient de se refermer. Bonjour..Comment ecrivez": PRINT "vous ceci en 4 lettres?"
|
||||
8115 RETURN
|
||||
8120 PRINT "PASSE,PRESENT,AVENIR": PRINT "PASSE,PRESENT ET AVENIR"
|
||||
8125 RETURN
|
||||
8130 PRINT "Vous vous retrouvez dans le laboratoire du professeur. Il y a une porte": PRINT "en fer a l'ouest. Une porte au sud marquee <<DANGER>>."
|
||||
8135 RETURN
|
||||
8140 PRINT "Il y a une douche. Un trou dans le sol."
|
||||
8145 RETURN
|
||||
8150 PRINT "Il y a un cube noir d'au moins une tonne. Une echelle monte. Une porte a l'est."
|
||||
8155 RETURN
|
||||
8160 PRINT "Vous etes dans une bibliotheque."
|
||||
8165 RETURN
|
||||
8170 PRINT "Vous etes dans une soucoupe sur une terasse."
|
||||
8175 RETURN
|
||||
9000 O = 20: DIM Q(20): DIM O$(20)
|
||||
9010 Q(1) = 2:Q(2) = 0:Q(3) = 2:Q(4) = 0:Q(5) = 6:Q(6) = 7:Q(7) = 3:Q(8) = 6:Q(9) = 0:Q(10) = 10
|
||||
9020 Q(11) = 16:Q(12) = 0:Q(13) = 13:Q(14) = 0:Q(15) = 13:Q(16) = 0:Q(17) = 13:Q(18) = 0
|
||||
9030 Q(19) = 13:Q(20) = 16
|
||||
9040 O$(1) = "BRIQUET":O$(2) = "BRIQUET ALLUME":O$(3) = "BOUGIE"
|
||||
9050 O$(4) = "BOUGIE ALLUMEE":O$(5) = "PLACARD":O$(6) = "OUTILS":O$(7) = "PAPIER"
|
||||
9060 O$(8) = "FILS ARRACHES":O$(9) = "FILS REPARES":O$(10) = "UNE CORDE"
|
||||
9070 O$(11) = "GANTS CAOUTCHOUC":O$(12) = "GANTS ENFILES":O$(13) = "PILLULE K"
|
||||
9080 O$(14) = "PILLULE K AVALEE":O$(15) = "PILLULE Z":O$(16) = "PILLULE Z AVALEE"
|
||||
9090 O$(17) = "PILLULE Q":O$(18) = "PILLULE Q AVALEE":O$(19) = "PISTOLET LASER"
|
||||
9100 O$(20) = "LIVRE"
|
||||
9200 V = 72: DIM V$(72)
|
||||
9205 V$(1) = "01N":V$(2) = "01NORD":V$(3) = "02E":V$(4) = "02EST":V$(5) = "03S"
|
||||
9210 V$(6) = "03SUD":V$(7) = "04O":V$(8) = "04OUES":V$(9) = "05M":V$(10) = "05MONT"
|
||||
9215 V$(11) = "06D":V$(12) = "06DESC":V$(13) = "07ENTR":V$(14) = "07AVAN"
|
||||
9220 V$(15) = "05HAUT":V$(16) = "06BAS":V$(17) = "13LIT":V$(18) = "35REGA"
|
||||
9225 V$(19) = "14TOUR":V$(20) = "14RETO":V$(21) = "15PREN":V$(22) = "15RAMA"
|
||||
9230 V$(23) = "16PAPI":V$(24) = "17ALLU":V$(25) = "18BOUG":V$(26) = "19APPU"
|
||||
9235 V$(27) = "19ENFO":V$(28) = "20VERT":V$(29) = "21ROUG":V$(30) = "22OUTI"
|
||||
9240 V$(31) = "23OUVR":V$(32) = "55DOUC":V$(33) = "25PLAC":V$(34) = "26PORT"
|
||||
9245 V$(35) = "27ASCE":V$(36) = "28BRIQ":V$(37) = "29REPA":V$(38) = "29DEPA"
|
||||
9250 V$(39) = "30RIEN":V$(40) = "31MACH":V$(41) = "32POSE":V$(42) = "33QUIT"
|
||||
9255 V$(43) = "35DECR":V$(44) = "34INVE":V$(45) = "36CLEF":V$(46) = "31FILS"
|
||||
9260 V$(47) = "37CORD":V$(48) = "38FENE":V$(49) = "39ACCR":V$(50) = "40SAUT"
|
||||
9265 V$(51) = "39ATTA":V$(52) = "41SORT":V$(53) = "42FERM":V$(54) = "43CECI"
|
||||
9270 V$(55) = "44ATTE":V$(56) = "45TAPE":V$(57) = "46FRAP":V$(58) = "47PASS"
|
||||
9275 V$(59) = "47AVEN":V$(60) = "48PRES":V$(61) = "49MET":V$(62) = "50AVAL"
|
||||
9280 V$(63) = "51GANT":V$(64) = "52K":V$(65) = "53Q":V$(66) = "54Z":V$(67) = "49ENFI"
|
||||
9285 V$(68) = "56LASE":V$(69) = "56PIST":V$(70) = "57LIVR":V$(71) = "58DEMA"
|
||||
9290 V$(72) = "58PILO"
|
||||
9300 R = 17: DIM M$(17)
|
||||
9310 M$(1) = "00":M$(2) = "0204040500":M$(3) = "0405020200":M$(4) = "040200"
|
||||
9320 M$(5) = "0106020300":M$(6) = "0108030500":M$(7) = "00":M$(8) = "030600"
|
||||
9330 M$(9) = "00":M$(10) = "011100":M$(11) = "00":M$(12) = "00":M$(13) = "00"
|
||||
9340 M$(14) = "021300":M$(15) = "05170216011300":M$(16) = "041500":M$(17) = "061500"
|
||||
9400 C = 12:C = C + 1: DIM C$(13)
|
||||
9410 C$(1) = "A04E05.D05Q.":C$(2) = "E04F10.G0405E10.":C$(3) = "G04A10.G0499F09D25."
|
||||
9420 C$(4) = "A04F05.D20.":C$(5) = "E06F10.G0405E10.":C$(6) = "G04.D01Q."
|
||||
9430 C$(7) = "A10E09.D26Q.":C$(8) = "A10E07.F06F07F04F08.":C$(9) = "A11F07.G0103E07."
|
||||
9440 C$(10) = "A11G01.D35Q.":C$(11) = "A12.F06F04.":C$(12) = "A12.F08F05F07."
|
||||
9450 C$(13) = ".N."
|
||||
9500 A = 91: DIM A$(91)
|
||||
9505 A$(1) = "0700A01.D03K02O.":A$(2) = "3000A01.D04Q.":A$(3) = "1528B01.B01L."
|
||||
9510 A$(4) = "1518B03.B03L.":A$(5) = "1718B03C01.D06N."
|
||||
9515 A$(6) = "1718B01B03.H03E05E03L.":A$(7) = "1728B01.H01E055E03L."
|
||||
9520 A$(8) = "3400.A00.":A$(9) = "3300.P00.":A$(10) = "3500.O00."
|
||||
9525 A$(11) = "3218B03.C03L."
|
||||
9530 A$(12) = "3228B01.C01L.":A$(13) = "1316D07.D07N.":A$(14) = "1516B07.B07D22N."
|
||||
9535 A$(15) = "1316C07.D08N.":A$(16) = "1416C07.D08N.":A$(17) = "1416D07.D09N."
|
||||
9540 A$(18) = "1920A05F06F04.E04D11D10N.":A$(19) = "1921A05F06F04.D11E03E06N."
|
||||
9545 A$(20) = "1921A05E04.D12N.":A$(21) = "1920A05E06.D12N."
|
||||
9550 A$(22) = "1536A03F08.E08L.":A$(23) = "2325A06F08.D23N."
|
||||
9555 A$(24) = "2325A06E08C06.K07F08O.":A$(25) = "1522A07B06.B06D24K06L."
|
||||
9560 A$(26) = "2325A06E08B06.K06N.":A$(27) = "2931A06D06E06B08.D13E07H08N."
|
||||
9563 A$(28) = "2931A06D06E04B08.D14H08E07N."
|
||||
9565 A$(29) = "2931A06D06F04F06B08.D15H08E07N.":A$(30) = "2931A06C06B08.D16N."
|
||||
9570 A$(31) = "0500A08E07E06.D17K09O.":A$(32) = "0500A08F07F08.D18E08N."
|
||||
9575 A$(33) = "0600A08F07F08.D18E08N.":A$(34) = "0500A08F08F06.D18E08N."
|
||||
9580 A$(35) = "0600A08F08F06.D18E08N.":A$(36) = "0500A08E08.D19Q."
|
||||
9585 A$(37) = "0600A08F08.D19Q.":A$(38) = "0600A08E07E06.D19Q."
|
||||
9590 A$(39) = "4100A09.E09K10O.":A$(40) = "0600A09.D19Q.":A$(41) = "3000A09.D27N."
|
||||
9595 A$(42) = "2338A10F04.E04L.":A$(43) = "4238A10F04.D29N."
|
||||
9600 A$(44) = "4238A10E04.F04L.":A$(45) = "4238A10F04.D29N."
|
||||
9605 A$(46) = "3937A10E04F06.E06L.":A$(47) = "0600A10E06.E08D30N."
|
||||
9610 A$(48) = "4000A10E07.D21Q.":A$(49) = "4000A10E04.D21Q."
|
||||
9615 A$(50) = "4000A10F04.D23N.":A$(51) = "0500A10E08.F08D33N."
|
||||
9620 A$(52) = "4400A09.D27N.":A$(53) = "4300A11.D34K12O.":A$(54) = "4543A11.D34K12O."
|
||||
9625 A$(55) = "4643A11.D34K12O.":A$(56) = "3222B06.C06L.":A$(57) = "1947A12.D31Q."
|
||||
9630 A$(58) = "1948A12.Q13O.":A$(59) = "4951B11F04.E04H11D36N."
|
||||
9635 A$(60) = "0400A13F04.D26Q.":A$(61) = "0400A13E04.F04K14O."
|
||||
9640 A$(62) = "5053B17.D37Q.":A$(63) = "5054F05B15.E05H15L.":A$(64) = "5054E05.D29N."
|
||||
9645 A$(65) = "5052F08B13.E08H13L.":A$(66) = "5052E08.D29N.":A$(67) = "1552B13.B13L."
|
||||
9650 A$(68) = "1553B17.B17L.":A$(69) = "1554B15.B15L.":A$(70) = "3252B13.C13L."
|
||||
9655 A$(71) = "3253B17.C17L.":A$(72) = "3254B15.C15L.":A$(73) = "1556B15.B15L."
|
||||
9660 A$(74) = "3256B15.C15L.":A$(75) = "0300A13.E06K15O.":A$(76) = "1557B20.B20L."
|
||||
9665 A$(77) = "3257B20.C20L.":A$(78) = "1357B20F07.D38E07N."
|
||||
9670 A$(79) = "1357B20E07.D29N.":A$(80) = "1551E11.B11L.":A$(81) = "3251B11.C11L."
|
||||
9675 A$(82) = "5800A17F07.D39N.":A$(83) = "5800A17E07.D44D21Q."
|
||||
9680 A$(84) = "1555A14F05.D40Q.":A$(85) = "1555A14E06E05F08.F06F05L."
|
||||
9685 A$(86) = "0600A14F08.D41Q.":A$(87) = "1555A14E06E05E08.F06L."
|
||||
9690 A$(88) = "0600A14E08F05F06.D42D43Q.":A$(89) = "0600A14E08E05E06.D42D45D46Q."
|
||||
9695 A$(90) = "0600A14E08E05F06.D42D43D45Q.":A$(91) = "0600A14E08F05E06.D42D46Q."
|
||||
9900 GOTO 1
|
||||
9999 END
|
||||
29100 K = (O(N) = SALLE OR O(N) < 0)
|
|
@ -0,0 +1,429 @@
|
|||
0 GOTO 9000
|
||||
1 GOTO 10
|
||||
10 HOME
|
||||
19 DIM S(10)
|
||||
20 DIM C(10)
|
||||
30 SALLE = 1
|
||||
40 DIM P$(2)
|
||||
50 DIM O(O)
|
||||
60 FOR X = 1 TO O
|
||||
70 O(X) = Q(X)
|
||||
80 NEXT X
|
||||
100 IF S(2) = 0 THEN 200
|
||||
110 IF C(2) THEN C(2) = C(2) - 1
|
||||
120 IF S(3) THEN 200
|
||||
130 PRINT "On y voit rien. Mieux vaudrait allumer pour eviter les ennuis."
|
||||
140 IF C(3) THEN C(3) = C(3) - 1
|
||||
150 GOTO 1000
|
||||
200 GOTO 210
|
||||
210 PRINT
|
||||
215 IF SALLE > 11 THEN 230
|
||||
220 ON SALLE GOSUB 8010,8020,8030,8040,8050,8060,8070,8080,8090,8100,8110: GOTO 300
|
||||
230 ON SALLE GOSUB 0,0,0,0,0,0,0,0,0,0,0,8120,8130,8140,8150,8160,8170: GOTO 300
|
||||
250 PRINT "Erreur de programme": STOP
|
||||
300 F = 0
|
||||
310 FOR X = 1 TO O
|
||||
315 RW = O(X)
|
||||
320 IF RW < > (SALLE) THEN GOTO 500
|
||||
330 IF F THEN 400
|
||||
340 PRINT "Il y a aussi:"
|
||||
350 F = 1
|
||||
400 PRINT " ";O$(X)
|
||||
500 NEXT X
|
||||
1000 GOTO 1010
|
||||
1010 T = 1
|
||||
1020 GOTO 2000
|
||||
1100 IF C(1) THEN C(1) = C(1) - 1
|
||||
1110 IF C(4) THEN C(4) = C(4) - 1
|
||||
1120 INPUT "Que faites vous?>";Y$
|
||||
1140 HOME
|
||||
1150 Y = 0
|
||||
1160 PRINT ">";Y$
|
||||
1170 P$(2) = "00"
|
||||
1200 FOR W = 1 TO 2
|
||||
1210 GOSUB 6000
|
||||
1220 IF Y > LEN (Y$) THEN 1300
|
||||
1230 IF P$(W) = "00" THEN 1210
|
||||
1240 NEXT W
|
||||
1300 IF P$(1) < > "00" THEN 1600
|
||||
1310 PRINT "Pardon?"
|
||||
1320 GOTO 100
|
||||
1600 GOTO 1610
|
||||
1610 Z = 1
|
||||
1620 T$ = MID$ (M$(SALLE),Z,2)
|
||||
1630 IF T$ = "00" THEN 1900
|
||||
1640 IF T$ < > P$(1) THEN 1700
|
||||
1650 SALLE = VAL ( MID$ (M$(SALLE),Z + 2,2))
|
||||
1660 GOTO 100
|
||||
1700 Z = Z + 4
|
||||
1710 GOTO 1620
|
||||
1900 T = 0
|
||||
1910 XX0 = 0
|
||||
2000 GOTO 2010
|
||||
2010 CP = 0
|
||||
2100 CP = CP + 1
|
||||
2110 IF T = 0 THEN 2300
|
||||
2120 E$ = C$(CP)
|
||||
2130 GOTO 2600
|
||||
2300 IF CP < = (A) THEN 2400
|
||||
2310 IF XXO THEN 1000
|
||||
2320 PRINT "Impossible ";
|
||||
2330 IF VAL (P$(1)) < 13 THEN PRINT "prendre cette direction";
|
||||
2340 PRINT "."
|
||||
2350 GOTO 100
|
||||
2400 IF LEFT$ (A$(CP),2) < > P$(1) THEN 2100
|
||||
2410 Y$ = MID$ (A$(CP),3,2)
|
||||
2420 IF Y$ < > "00" AND Y$ < > P$(2) THEN 2100
|
||||
2430 E$ = MID$ (A$(CP),5)
|
||||
2600 GOTO 2610
|
||||
2610 E = 1
|
||||
2700 IF MID$ (E$,E,1) = "." THEN 3000
|
||||
2710 TYPE = ASC ( MID$ (E$,E,1)) - 64
|
||||
2720 N = VAL ( MID$ (E$,E + 1,2))
|
||||
2800 ON (TYPE) GOSUB 2900,2910,2920,2930,2940,2950,2960,2970
|
||||
2810 IF NOT OK THEN GOTO 2100
|
||||
2820 E = E + 3
|
||||
2830 GOTO 2700
|
||||
2900 OK = (N = SALLE)
|
||||
2905 RETURN
|
||||
2910 OK = (O(N) = SALLE OR O(N) < 0)
|
||||
2915 RETURN
|
||||
2920 OK = (O(N) < > SALLE AND O(N) > = 0)
|
||||
2925 RETURN
|
||||
2930 OK = (O(N) < 0)
|
||||
2935 RETURN
|
||||
2940 OK = (S(N) < > 0)
|
||||
2945 RETURN
|
||||
2950 OK = (S(N) = 0)
|
||||
2955 RETURN
|
||||
2960 OK = (C(N) = 1)
|
||||
2965 RETURN
|
||||
2970 OK = ( INT ( RND (1) * 100) < = N)
|
||||
2975 RETURN
|
||||
3000 GOTO 3010
|
||||
3010 XXO = 1
|
||||
3020 E = E + 1
|
||||
3100 IF MID$ (E$,E,1) = "." THEN 2100
|
||||
3105 IF MID$ (E$,E,1) = "" THEN TYPE = 0: GOTO 3120
|
||||
3110 TYPE = ASC ( MID$ (E$,E,1)) - 64
|
||||
3120 IF MID$ (E$,E + 1,1) < > "." THEN N = VAL ( MID$ (E$,E + 1,2))
|
||||
3200 BREAK = 0
|
||||
3205 IF TYPE > 11 THEN GOTO 3215
|
||||
3210 ON TYPE GOSUB 4000,4100,4200,4300,4400,4500,4600,4700,4800,4900,5000: GOTO 3220
|
||||
3215 ON TYPE GOSUB 0,0,0,0,0,0,0,0,0,0,0,5100,5200,5300,5400,5500,5600: GOTO 3220
|
||||
3218 PRINT "Erreur de programme": STOP
|
||||
3220 IF BREAK = 100 THEN 100
|
||||
3221 IF BREAK = 1000 THEN 1000
|
||||
3222 IF BREAK = 1100 THEN 1100
|
||||
3230 E = E + 3
|
||||
3240 GOTO 3100
|
||||
4000 PRINT
|
||||
4010 PRINT "Vous tenez:"
|
||||
4020 F = 1
|
||||
4030 FOR X = 1 TO O
|
||||
4040 IF O(X) > = 0 THEN 4070
|
||||
4050 PRINT " ";O$(X)
|
||||
4060 F = 0
|
||||
4070 NEXT X
|
||||
4080 IF F THEN PRINT " Rien."
|
||||
4090 BREAK = 100
|
||||
4095 RETURN
|
||||
4100 IF S(1) < 5 THEN 4140
|
||||
4110 PRINT "Vous ne pouvez porter plus."
|
||||
4120 BREAK = 100
|
||||
4130 RETURN
|
||||
4140 IF O(N) = - 1 THEN 4180
|
||||
4150 O(N) = - 1
|
||||
4160 S(1) = S(1) + 1
|
||||
4170 RETURN
|
||||
4180 PRINT "Vous l'avez deja."
|
||||
4190 GOTO 4120
|
||||
4200 IF O(N) = - 1 THEN 4240
|
||||
4210 PRINT "Vous n'avez pas";O$(N)
|
||||
4220 BREAK = 100
|
||||
4230 RETURN
|
||||
4240 O(N) = SALLE
|
||||
4250 S(1) = S(1) - 1
|
||||
4260 RETURN
|
||||
4300 PRINT
|
||||
4302 IF N > 11 AND N < 22 THEN 4312
|
||||
4303 IF N > 21 AND N < 32 THEN 4313
|
||||
4304 IF N > 31 AND N < 41 THEN 4314
|
||||
4305 IF N > 41 THEN 4315
|
||||
4310 ON N GOSUB 7010,7020,7030,7040,7050,7060,7070,7080,7090,7100: GOTO 4320
|
||||
4312 ON (N - 10) GOSUB 7110,7120,7130,7140,7150,7160,7170,7180,7190,7200: GOTO 4320
|
||||
4313 ON (N - 20) GOSUB 7210,7220,7230,7240,7250,7260,7270,7280,7290,7300: GOTO 4320
|
||||
4314 ON (N - 30) GOSUB 7310,7320,7330,7340,7350,7360,7370,7380,7390,7400: GOTO 4320
|
||||
4315 ON (N - 40) GOSUB 7410,7420,7430,7440,7450,7460: GOTO 4320
|
||||
4316 PRINT "Erreur de programme": STOP
|
||||
4320 RETURN
|
||||
4400 S(N) = 1
|
||||
4410 RETURN
|
||||
4500 S(N) = 0
|
||||
4510 RETURN
|
||||
4600 C(N) = VAL ( MID$ (E$,E + 3,2))
|
||||
4610 E = E + 2
|
||||
4620 RETURN
|
||||
4700 X = O(N)
|
||||
4710 O(N) = O(N + 1)
|
||||
4720 O(N + 1) = X
|
||||
4730 RETURN
|
||||
4800 O(N) = SALLE
|
||||
4810 RETURN
|
||||
4900 IF O(N) < 0 THEN S(1) = S(1) - 1
|
||||
4910 O(N) = 0
|
||||
4920 RETURN
|
||||
5000 SALLE = N
|
||||
5010 RETURN
|
||||
5100 PRINT "D'acccord."
|
||||
5200 BREAK = 1000
|
||||
5210 RETURN
|
||||
5300 BREAK = 1100
|
||||
5310 RETURN
|
||||
5400 BREAK = 100
|
||||
5410 RETURN
|
||||
5500 PRINT "Etes vous sur?";
|
||||
5510 INPUT W$
|
||||
5520 PRINT W$
|
||||
5530 IF LEFT$ (W$,1) < > "O" THEN RETURN
|
||||
5600 GOTO 9999
|
||||
6000 GOTO 6010
|
||||
6010 W$ = ""
|
||||
6015 P$(W) = "00"
|
||||
6020 GOSUB 6600
|
||||
6025 IF (FIN) THEN RETURN
|
||||
6030 FOR Q = 1 TO 4
|
||||
6040 W$ = W$ + MID$ (Y$,Y,1)
|
||||
6050 GOSUB 6500
|
||||
6060 IF (FIN) THEN 6100
|
||||
6070 NEXT Q
|
||||
6080 GOSUB 6500
|
||||
6090 IF (FIN) = 0 THEN 6080
|
||||
6100 IF W$ = " " THEN RETURN
|
||||
6110 FOR Q = 1 TO V
|
||||
6120 IF W$ = MID$ (V$(Q),3) THEN 6200
|
||||
6130 NEXT Q
|
||||
6140 RETURN
|
||||
6200 P$(W) = LEFT$ (V$(Q),2)
|
||||
6210 RETURN
|
||||
6500 Y = Y + 1
|
||||
6510 FIN = (Y > LEN (Y$))
|
||||
6520 IF (FIN) THEN RETURN
|
||||
6530 FIN = ( MID$ (Y$,Y,1) = " ")
|
||||
6540 RETURN
|
||||
6600 Y = Y + 1
|
||||
6610 FIN = (Y > LEN (Y$))
|
||||
6620 IF (FIN) THEN RETURN
|
||||
6630 IF MID$ (Y$,Y,1) = " " THEN 6600
|
||||
6640 RETURN
|
||||
7010 PRINT "La generatrice vient d'exploser. La maison n'existe plus. Vous non plus."
|
||||
7015 RETURN
|
||||
7020 PRINT "L'ascenseur ne bouge pas. Il faut peut-etre du courant?"
|
||||
7025 RETURN
|
||||
7030 PRINT "La porte vient de se fermer. Impossible de l'ouvrir."
|
||||
7035 RETURN
|
||||
7040 PRINT "Vous avez raison. La curiosite est un vilain defaut..."
|
||||
7045 RETURN
|
||||
7050 PRINT "L'odeur que vous sentiez etait celle d'un gaz explosif. Vous etes mort."
|
||||
7055 RETURN
|
||||
7060 PRINT "Il faudrait peut-etre du feu..."
|
||||
7065 RETURN
|
||||
7070 PRINT "Ah, Ah...Vous etes mon prisonnier!"
|
||||
7075 RETURN
|
||||
7080 PRINT "Vous avez dit papier? Quel papier?"
|
||||
7085 RETURN
|
||||
7090 PRINT "Bravez les interdits!"
|
||||
7095 RETURN
|
||||
7100 PRINT "Elle l'air de s'emballer..."
|
||||
7105 RETURN
|
||||
7110 PRINT "La generatrice se met en marche."
|
||||
7115 RETURN
|
||||
7120 PRINT "Impossible, elle ne veut rien savoir."
|
||||
7125 RETURN
|
||||
7130 PRINT "Bravo. Je ne savais pas que vous aviez des dons d'electricien."
|
||||
7135 RETURN
|
||||
7140 PRINT "Votre machine est reparee mais elle sent le chaud."
|
||||
7145 RETURN
|
||||
7150 PRINT "La machine est reparee. Dommage qu'il n'y ait pas de courant."
|
||||
7155 RETURN
|
||||
7160 PRINT "Il faudrait peut etre des outils."
|
||||
7165 RETURN
|
||||
7170 PRINT "L'ascenseur semble monter..."
|
||||
7175 RETURN
|
||||
7180 PRINT "L'ascenseur ne bouge pas."
|
||||
7185 RETURN
|
||||
7190 PRINT "Le cable vient de casser. Vous vous ecrasez en bas. Mort."
|
||||
7195 RETURN
|
||||
7200 PRINT "Il fait noir. Il faudrait allumer."
|
||||
7205 RETURN
|
||||
7210 PRINT "Vous vous ecrasez au sol."
|
||||
7215 RETURN
|
||||
7220 PRINT "Il y a une clef."
|
||||
7225 RETURN
|
||||
7230 PRINT "La porte est fermee a clef."
|
||||
7235 RETURN
|
||||
7240 PRINT "Tiens, la porte du placard se referme."
|
||||
7245 RETURN
|
||||
7250 PRINT "La generatrice vient d'exploser, l'ascenseur est detruit.": PRINT "Vous vous en rechappez de justesse."
|
||||
7255 RETURN
|
||||
7260 PRINT "Vous etes mort electrocute."
|
||||
7265 RETURN
|
||||
7270 PRINT "Vous avez raison. Rien ne sert de courrir."
|
||||
7275 RETURN
|
||||
7280 PRINT "Dehors il fait noir. On ne voit pas le sol."
|
||||
7285 RETURN
|
||||
7290 PRINT "C'est deja fait."
|
||||
7295 RETURN
|
||||
7300 PRINT "Vous etes au bout de la corde."
|
||||
7305 RETURN
|
||||
7310 PRINT "Vraiment pas au point cette machine! Vous etes mort."
|
||||
7315 RETURN
|
||||
7320 PRINT "Il faudrait peut-etre ouvrir la fenetre."
|
||||
7325 RETURN
|
||||
7330 PRINT "Tant pis. On a essaye."
|
||||
7335 RETURN
|
||||
7340 PRINT "Bravo, quel trait de genie!"
|
||||
7345 RETURN
|
||||
7350 PRINT "Une trappe s'ouvre sous vos pieds. Vous etes mort."
|
||||
7355 RETURN
|
||||
7360 PRINT "Sage precaution."
|
||||
7365 RETURN
|
||||
7370 PRINT "C'est du poison. Vous etes mort."
|
||||
7375 RETURN
|
||||
7380 PRINT "Vous apprenez a piloter une soucoupe en 1 lecon."
|
||||
7385 RETURN
|
||||
7390 PRINT "Ca ne se pilote pas comme ca!"
|
||||
7395 RETURN
|
||||
7400 PRINT "C'est de l'acide. Vous etes mort."
|
||||
7405 RETURN
|
||||
7410 PRINT "Il y a de l'eau. Vous vous noyez."
|
||||
7415 RETURN
|
||||
7420 PRINT "Ouf! Vous vous retrouvez dehors..."
|
||||
7425 RETURN
|
||||
7430 PRINT "Sain et sauf..."
|
||||
7435 RETURN
|
||||
7440 PRINT "Ca marche... Mais il n'y avait pas assez de carburant."
|
||||
7445 RETURN
|
||||
7450 PRINT "Mais vous etes tout bleu! Ce doit etre les pillules."
|
||||
7455 RETURN
|
||||
7460 PRINT "Et irradie. Vous mourez au bout de quelques jours."
|
||||
7465 RETURN
|
||||
8010 PRINT "Vous etes devant une maison. La porte est ouverte."
|
||||
8015 RETURN
|
||||
8020 PRINT "Vous etes dans le couloir. Il y a une porte a l'est et une porte a l'ouest."
|
||||
8025 RETURN
|
||||
8030 PRINT "Vous etes dans le salon. Il y a une porte a l'ouest."
|
||||
8035 RETURN
|
||||
8040 PRINT "Il y a une drole d'odeur."
|
||||
8045 RETURN
|
||||
8050 PRINT "Il y a une grosse machine qui ressemble a une generatrice avec un bouton vert,": PRINT "un bouton rouge. Il y a une porte au nord."
|
||||
8055 RETURN
|
||||
8060 PRINT "Une machinerie d'ascenseur. Une porte au nord."
|
||||
8065 RETURN
|
||||
8070 PRINT "Il y a plein de materiel"
|
||||
8075 RETURN
|
||||
8080 PRINT "Vous etes dans un ascenseur. Il y a un bouton HAUT, un bouton BAS."
|
||||
8085 RETURN
|
||||
8090 PRINT "L'ascenseur vient de s'arreter."
|
||||
8095 RETURN
|
||||
8100 PRINT "La piece est humide. Il ya a des fils qui trainent par terre.": PRINT "Il y a une fenetre et une porte au nord."
|
||||
8105 RETURN
|
||||
8110 PRINT "La porte derriere vous vient de se refermer. Bonjour..Comment ecrivez": PRINT "vous ceci en 4 lettres?"
|
||||
8115 RETURN
|
||||
8120 PRINT "PASSE,PRESENT,AVENIR": PRINT "PASSE,PRESENT ET AVENIR"
|
||||
8125 RETURN
|
||||
8130 PRINT "Vous vous retrouvez dans le laboratoire du professeur. Il y a une porte": PRINT "en fer a l'ouest. Une porte au sud marquee <<DANGER>>."
|
||||
8135 RETURN
|
||||
8140 PRINT "Il y a une douche. Un trou dans le sol."
|
||||
8145 RETURN
|
||||
8150 PRINT "Il y a un cube noir d'au moins une tonne. Une echelle monte. Une porte a l'est."
|
||||
8155 RETURN
|
||||
8160 PRINT "Vous etes dans une bibliotheque."
|
||||
8165 RETURN
|
||||
8170 PRINT "Vous etes dans une soucoupe sur une terasse."
|
||||
8175 RETURN
|
||||
9000 O = 20: DIM Q(20): DIM O$(20)
|
||||
9010 Q(1) = 2:Q(2) = 0:Q(3) = 2:Q(4) = 0:Q(5) = 6:Q(6) = 7:Q(7) = 3:Q(8) = 6:Q(9) = 0:Q(10) = 10
|
||||
9020 Q(11) = 16:Q(12) = 0:Q(13) = 13:Q(14) = 0:Q(15) = 13:Q(16) = 0:Q(17) = 13:Q(18) = 0
|
||||
9030 Q(19) = 13:Q(20) = 16
|
||||
9040 O$(1) = "BRIQUET":O$(2) = "BRIQUET ALLUME":O$(3) = "BOUGIE"
|
||||
9050 O$(4) = "BOUGIE ALLUMEE":O$(5) = "PLACARD":O$(6) = "OUTILS":O$(7) = "PAPIER"
|
||||
9060 O$(8) = "FILS ARRACHES":O$(9) = "FILS REPARES":O$(10) = "UNE CORDE"
|
||||
9070 O$(11) = "GANTS CAOUTCHOUC":O$(12) = "GANTS ENFILES":O$(13) = "PILLULE K"
|
||||
9080 O$(14) = "PILLULE K AVALEE":O$(15) = "PILLULE Z":O$(16) = "PILLULE Z AVALEE"
|
||||
9090 O$(17) = "PILLULE Q":O$(18) = "PILLULE Q AVALEE":O$(19) = "PISTOLET LASER"
|
||||
9100 O$(20) = "LIVRE"
|
||||
9200 V = 72: DIM V$(72)
|
||||
9205 V$(1) = "01N":V$(2) = "01NORD":V$(3) = "02E":V$(4) = "02EST":V$(5) = "03S"
|
||||
9210 V$(6) = "03SUD":V$(7) = "04O":V$(8) = "04OUES":V$(9) = "05M":V$(10) = "05MONT"
|
||||
9215 V$(11) = "06D":V$(12) = "06DESC":V$(13) = "07ENTR":V$(14) = "07AVAN"
|
||||
9220 V$(15) = "05HAUT":V$(16) = "06BAS":V$(17) = "13LIT":V$(18) = "35REGA"
|
||||
9225 V$(19) = "14TOUR":V$(20) = "14RETO":V$(21) = "15PREN":V$(22) = "15RAMA"
|
||||
9230 V$(23) = "16PAPI":V$(24) = "17ALLU":V$(25) = "18BOUG":V$(26) = "19APPU"
|
||||
9235 V$(27) = "19ENFO":V$(28) = "20VERT":V$(29) = "21ROUG":V$(30) = "22OUTI"
|
||||
9240 V$(31) = "23OUVR":V$(32) = "55DOUC":V$(33) = "25PLAC":V$(34) = "26PORT"
|
||||
9245 V$(35) = "27ASCE":V$(36) = "28BRIQ":V$(37) = "29REPA":V$(38) = "29DEPA"
|
||||
9250 V$(39) = "30RIEN":V$(40) = "31MACH":V$(41) = "32POSE":V$(42) = "33QUIT"
|
||||
9255 V$(43) = "35DECR":V$(44) = "34INVE":V$(45) = "36CLEF":V$(46) = "31FILS"
|
||||
9260 V$(47) = "37CORD":V$(48) = "38FENE":V$(49) = "39ACCR":V$(50) = "40SAUT"
|
||||
9265 V$(51) = "39ATTA":V$(52) = "41SORT":V$(53) = "42FERM":V$(54) = "43CECI"
|
||||
9270 V$(55) = "44ATTE":V$(56) = "45TAPE":V$(57) = "46FRAP":V$(58) = "47PASS"
|
||||
9275 V$(59) = "47AVEN":V$(60) = "48PRES":V$(61) = "49MET":V$(62) = "50AVAL"
|
||||
9280 V$(63) = "51GANT":V$(64) = "52K":V$(65) = "53Q":V$(66) = "54Z":V$(67) = "49ENFI"
|
||||
9285 V$(68) = "56LASE":V$(69) = "56PIST":V$(70) = "57LIVR":V$(71) = "58DEMA"
|
||||
9290 V$(72) = "58PILO"
|
||||
9300 R = 17: DIM M$(17)
|
||||
9310 M$(1) = "00":M$(2) = "0204040500":M$(3) = "0405020200":M$(4) = "040200"
|
||||
9320 M$(5) = "0106020300":M$(6) = "0108030500":M$(7) = "00":M$(8) = "030600"
|
||||
9330 M$(9) = "00":M$(10) = "011100":M$(11) = "00":M$(12) = "00":M$(13) = "00"
|
||||
9340 M$(14) = "021300":M$(15) = "05170216011300":M$(16) = "041500":M$(17) = "061500"
|
||||
9400 C = 12:C = C + 1: DIM C$(13)
|
||||
9410 C$(1) = "A04E05.D05Q.":C$(2) = "E04F10.G0405E10.":C$(3) = "G04A10.G0499F09D25."
|
||||
9420 C$(4) = "A04F05.D20.":C$(5) = "E06F10.G0405E10.":C$(6) = "G04.D01Q."
|
||||
9430 C$(7) = "A10E09.D26Q.":C$(8) = "A10E07.F06F07F04F08.":C$(9) = "A11F07.G0103E07."
|
||||
9440 C$(10) = "A11G01.D35Q.":C$(11) = "A12.F06F04.":C$(12) = "A12.F08F05F07."
|
||||
9450 C$(13) = ".N."
|
||||
9500 A = 91: DIM A$(91)
|
||||
9505 A$(1) = "0700A01.D03K02O.":A$(2) = "3000A01.D04Q.":A$(3) = "1528B01.B01L."
|
||||
9510 A$(4) = "1518B03.B03L.":A$(5) = "1718B03C01.D06N."
|
||||
9515 A$(6) = "1718B01B03.H03E05E03L.":A$(7) = "1728B01.H01E055E03L."
|
||||
9520 A$(8) = "3400.A00.":A$(9) = "3300.P00.":A$(10) = "3500.O00."
|
||||
9525 A$(11) = "3218B03.C03L."
|
||||
9530 A$(12) = "3228B01.C01L.":A$(13) = "1316D07.D07N.":A$(14) = "1516B07.B07D22N."
|
||||
9535 A$(15) = "1316C07.D08N.":A$(16) = "1416C07.D08N.":A$(17) = "1416D07.D09N."
|
||||
9540 A$(18) = "1920A05F06F04.E04D11D10N.":A$(19) = "1921A05F06F04.D11E03E06N."
|
||||
9545 A$(20) = "1921A05E04.D12N.":A$(21) = "1920A05E06.D12N."
|
||||
9550 A$(22) = "1536A03F08.E08L.":A$(23) = "2325A06F08.D23N."
|
||||
9555 A$(24) = "2325A06E08C06.K07F08O.":A$(25) = "1522A07B06.B06D24K06L."
|
||||
9560 A$(26) = "2325A06E08B06.K06N.":A$(27) = "2931A06D06E06B08.D13E07H08N."
|
||||
9563 A$(28) = "2931A06D06E04B08.D14H08E07N."
|
||||
9565 A$(29) = "2931A06D06F04F06B08.D15H08E07N.":A$(30) = "2931A06C06B08.D16N."
|
||||
9570 A$(31) = "0500A08E07E06.D17K09O.":A$(32) = "0500A08F07F08.D18E08N."
|
||||
9575 A$(33) = "0600A08F07F08.D18E08N.":A$(34) = "0500A08F08F06.D18E08N."
|
||||
9580 A$(35) = "0600A08F08F06.D18E08N.":A$(36) = "0500A08E08.D19Q."
|
||||
9585 A$(37) = "0600A08F08.D19Q.":A$(38) = "0600A08E07E06.D19Q."
|
||||
9590 A$(39) = "4100A09.E09K10O.":A$(40) = "0600A09.D19Q.":A$(41) = "3000A09.D27N."
|
||||
9595 A$(42) = "2338A10F04.E04L.":A$(43) = "4238A10F04.D29N."
|
||||
9600 A$(44) = "4238A10E04.F04L.":A$(45) = "4238A10F04.D29N."
|
||||
9605 A$(46) = "3937A10E04F06.E06L.":A$(47) = "0600A10E06.E08D30N."
|
||||
9610 A$(48) = "4000A10E07.D21Q.":A$(49) = "4000A10E04.D21Q."
|
||||
9615 A$(50) = "4000A10F04.D23N.":A$(51) = "0500A10E08.F08D33N."
|
||||
9620 A$(52) = "4400A09.D27N.":A$(53) = "4300A11.D34K12O.":A$(54) = "4543A11.D34K12O."
|
||||
9625 A$(55) = "4643A11.D34K12O.":A$(56) = "3222B06.C06L.":A$(57) = "1947A12.D31Q."
|
||||
9630 A$(58) = "1948A12.Q13O.":A$(59) = "4951B11F04.E04H11D36N."
|
||||
9635 A$(60) = "0400A13F04.D26Q.":A$(61) = "0400A13E04.F04K14O."
|
||||
9640 A$(62) = "5053B17.D37Q.":A$(63) = "5054F05B15.E05H15L.":A$(64) = "5054E05.D29N."
|
||||
9645 A$(65) = "5052F08B13.E08H13L.":A$(66) = "5052E08.D29N.":A$(67) = "1552B13.B13L."
|
||||
9650 A$(68) = "1553B17.B17L.":A$(69) = "1554B15.B15L.":A$(70) = "3252B13.C13L."
|
||||
9655 A$(71) = "3253B17.C17L.":A$(72) = "3254B15.C15L.":A$(73) = "1556B15.B15L."
|
||||
9660 A$(74) = "3256B15.C15L.":A$(75) = "0300A13.E06K15O.":A$(76) = "1557B20.B20L."
|
||||
9665 A$(77) = "3257B20.C20L.":A$(78) = "1357B20F07.D38E07N."
|
||||
9670 A$(79) = "1357B20E07.D29N.":A$(80) = "1551E11.B11L.":A$(81) = "3251B11.C11L."
|
||||
9675 A$(82) = "5800A17F07.D39N.":A$(83) = "5800A17E07.D44D21Q."
|
||||
9680 A$(84) = "1555A14F05.D40Q.":A$(85) = "1555A14E06E05F08.F06F05L."
|
||||
9685 A$(86) = "0600A14F08.D41Q.":A$(87) = "1555A14E06E05E08.F06L."
|
||||
9690 A$(88) = "0600A14E08F05F06.D42D43Q.":A$(89) = "0600A14E08E05E06.D42D45D46Q."
|
||||
9695 A$(90) = "0600A14E08E05F06.D42D43D45Q.":A$(91) = "0600A14E08F05E06.D42D46Q."
|
||||
9900 GOTO 1
|
||||
9999 END
|
||||
29100 K = (O(N) = SALLE OR O(N) < 0)
|
|
@ -0,0 +1,475 @@
|
|||
*
|
||||
* La maison du Professeur Folibus
|
||||
*
|
||||
* (c) 1982, Alain BrŽgŽon
|
||||
* (c) 2023, Brutal Deluxe Software (Apple II)
|
||||
*
|
||||
|
||||
mx %11
|
||||
lst off
|
||||
|
||||
*-----------------------------------
|
||||
* PLAYMUSIC
|
||||
*-----------------------------------
|
||||
|
||||
playMUSIC
|
||||
sty $1e
|
||||
stx $1f
|
||||
|
||||
LDA #$01
|
||||
STA $09
|
||||
STA $1D
|
||||
PHA
|
||||
PHA
|
||||
PHA
|
||||
BNE LA04D
|
||||
LA038 INY
|
||||
LDA ($1E),Y
|
||||
STA $09
|
||||
INY
|
||||
LDA ($1E),Y
|
||||
STA $1D
|
||||
LA042 LDA $1E
|
||||
CLC
|
||||
ADC #$03
|
||||
STA $1E
|
||||
BCC LA04D
|
||||
INC $1F
|
||||
LA04D LDY #$00
|
||||
LDA ($1E),Y
|
||||
CMP #$01
|
||||
BEQ LA038
|
||||
BCS LA067
|
||||
PLA
|
||||
PLA
|
||||
PLA
|
||||
LA05A LDX #$49
|
||||
INY
|
||||
LDA ($1E),Y
|
||||
BNE LA063
|
||||
LDX #$C9
|
||||
LA063 BIT KBDSTROBE
|
||||
RTS
|
||||
|
||||
LA067 STA $08
|
||||
JSR LA05A
|
||||
STX LA0B6
|
||||
STA $06
|
||||
LDX $09
|
||||
LA073 LSR
|
||||
DEX
|
||||
BNE LA073
|
||||
STA LA0AE+1
|
||||
JSR LA05A
|
||||
STX LA0EE
|
||||
STA $07
|
||||
LDX $1D
|
||||
LA084 LSR
|
||||
DEX
|
||||
BNE LA084
|
||||
STA LA0E6+1
|
||||
*
|
||||
PLA
|
||||
TAY
|
||||
PLA
|
||||
TAX
|
||||
PLA
|
||||
BNE LA098
|
||||
LA095 BIT SPKR
|
||||
LA098 CMP #$00
|
||||
BMI LA09F
|
||||
NOP
|
||||
BPL LA0A2
|
||||
LA09F BIT SPKR
|
||||
LA0A2 STA $4E
|
||||
BIT KBD
|
||||
BMI LA063
|
||||
DEY
|
||||
BNE LA0AE
|
||||
BEQ LA0B4
|
||||
LA0AE CPY #$36
|
||||
BEQ LA0B6
|
||||
BNE LA0B8
|
||||
LA0B4 LDY $06
|
||||
LA0B6 EOR #$40
|
||||
LA0B8 BIT $4E
|
||||
BVC LA0C3
|
||||
BVS LA0BE
|
||||
LA0BE BPL LA0C9
|
||||
NOP
|
||||
BMI LA0CC
|
||||
LA0C3 NOP
|
||||
BMI LA0C9
|
||||
NOP
|
||||
BPL LA0CC
|
||||
LA0C9 CMP SPKR
|
||||
LA0CC DEC $4F
|
||||
BNE LA0E1
|
||||
DEC $08
|
||||
BNE LA0E1
|
||||
BVC LA0D9
|
||||
BIT SPKR
|
||||
LA0D9 PHA
|
||||
TXA
|
||||
PHA
|
||||
TYA
|
||||
PHA
|
||||
JMP LA042
|
||||
|
||||
LA0E1 DEX
|
||||
BNE LA0E6
|
||||
BEQ LA0EC
|
||||
LA0E6 CPX #$0C
|
||||
BEQ LA0EE
|
||||
BNE LA0F0
|
||||
LA0EC LDX $07
|
||||
LA0EE EOR #$80
|
||||
LA0F0 BVS LA095
|
||||
NOP
|
||||
BVC LA098
|
||||
NOP
|
||||
|
||||
*--- End of player
|
||||
|
||||
*--- INTRODUCTION (Prelude)
|
||||
|
||||
zikINTRODUCTION
|
||||
hex 0C80000C2B800C19800C1C800C19400C
|
||||
hex 2B400C19560C2B560C80000C2B800C19
|
||||
hex 800C1C800C19400C2B400C19560C2B56
|
||||
hex 0102020C80000C26800C18800C19800C
|
||||
hex 18390C26390C18400C26400C80000C26
|
||||
hex 800C18800C19800C18440C26440C1840
|
||||
hex 0C26400103030C80000C22800C18800C
|
||||
hex 19800C18390C22390C18560C22560C80
|
||||
hex 000C22800C18800C19800C18560C2256
|
||||
hex 0C18390C22390102020C80000C20800C
|
||||
hex 19800C1C800C19560C20560C19560C20
|
||||
hex 560C4C000C204C0C194C0C1C4C0C1944
|
||||
hex 0C20440C19440C20440101010C80000C
|
||||
hex 26800C19800C1C800C19400C20400C22
|
||||
hex 400C20400C26390C20390C22390C2039
|
||||
hex 0C33000C2B330C2D330C33000102020C
|
||||
hex 2D000C202D0C1C330C20330C1C390C20
|
||||
hex 390C1C400C20400C44000C20440C1C4C
|
||||
hex 0C204C0C1C560C20560C1C600C206001
|
||||
hex 01010C22560C1C560C15560C16560C15
|
||||
hex 560C1C560C20000C1C000C22560C1C56
|
||||
hex 0C20560C1C560C2B560C22560C26000C
|
||||
hex 2B000102020C4C000C334C0C204C0C22
|
||||
hex 4C0C204C0C334C0C204C0C334C0C5600
|
||||
hex 0C33560C20560C22560C204C0C334C0C
|
||||
hex 20560C33560103030C4C000C264C0C2B
|
||||
hex 4C0C264C0C2B000C2D000C33000C3900
|
||||
hex 0C20720C22720C26720C15000C16000C
|
||||
hex 19000C1C000C20000102020C22560C26
|
||||
hex 560C2B560C15560C1C560C15560C2200
|
||||
hex 0C1C000C2B560C26560C22560C1C560C
|
||||
hex 20560C22560C26000C2B000101010C1E
|
||||
hex 560C2B560C24560C26560C243C0C2B3C
|
||||
hex 0C1E330C2B330C19560C2B560C24560C
|
||||
hex 26560C243C0C2B3C0C1E330C2B330102
|
||||
hex 020C60000C26600C1C600C19600C1860
|
||||
hex 0C1C600C26600C2B600C30000C26300C
|
||||
hex 1C330C19330C18390C1C390C22720C26
|
||||
hex 720103030C28660C22660C28660C2266
|
||||
hex 0C1C300C22300C1C330C22330C28390C
|
||||
hex 22390C28390C22390C1C400C22400C1C
|
||||
hex 440C22440102020C204C0C224C0C2633
|
||||
hex 0C20330C22300C20300C1C300C22300C
|
||||
hex 204C0C224C0C264C0C2B4C0C30000C33
|
||||
hex 000C39000C40000101010C44000C3044
|
||||
hex 0C2B440C30440C2B440C30440C2B000C
|
||||
hex 30000102020C72000C30720C2B720C30
|
||||
hex 720C2B720C30720C2B000C3000010101
|
||||
hex 0C40000C33400C24400C26400C24800C
|
||||
hex 33800C24800C33800102020C40000C33
|
||||
hex 400C24400C26400C24800C33800C2480
|
||||
hex 0C33800103030C40000C30400C26400C
|
||||
hex 2B400C26800C30800C26800C30800102
|
||||
hex 020C40000C30400C26400C2B400C2680
|
||||
hex 0C30800C26800C30800103030C40000C
|
||||
hex 22400C18400C19400C18800C22800C18
|
||||
hex 800C22800102020C40000C22400C1840
|
||||
hex 0C19400C18800C22800C18800C228001
|
||||
hex 01010C40000C2B400C19400C1C400C19
|
||||
hex 800C20800C22800C26800C2B800C3080
|
||||
hex 0C33800C39800C40000C44000C4C000C
|
||||
hex 56000102020C5A000C395A0C265A0C22
|
||||
hex 5A0C205A0C265A0C22000C2000010401
|
||||
hex 0101010C5A000C395A0C265A0C225A0C
|
||||
hex 205A0C265A0C22000C20000102020C60
|
||||
hex 000C39600C2B600C26600C22600C2B60
|
||||
hex 0C26000C22000103030C60000C39600C
|
||||
hex 2B600C26600C22600C2B600C26000C22
|
||||
hex 000101010C60000C39600C2B300C2230
|
||||
hex 0C1C300C16300C15560102020C15000C
|
||||
hex 39000C33000C2D000C2B000C26000C22
|
||||
hex 000C20000103030C1C560C22560C2B56
|
||||
hex 0C26560C22560C20560C1C000C190001
|
||||
hex 02020C18560C1C560C22560C20560C1C
|
||||
hex 560C19560C18000C15000103030C1422
|
||||
hex 0C15220C16220C15220C15280C18280C
|
||||
hex 19280C18280C182B0C1C2B0C222B0C26
|
||||
hex 2B0C2B560C30560C33560C3056010202
|
||||
hex 0C56000C39560C2B560C22560C1C560C
|
||||
hex 19560C18000C1C000C19560C20560C2B
|
||||
hex 560C30560C33560C40560C39000C3300
|
||||
hex 0101010C56000C40560C33560C2B560C
|
||||
hex 20560C1C560C19000C20000102020C16
|
||||
hex 260C1B260C1C260C1B260C1B2D0C1C2D
|
||||
hex 0C1E2D0C1C2D0C1C000C20000C22000C
|
||||
hex 20000C20000C26000C2D000C33000C39
|
||||
hex 000C2D390C26390C20390C1C400C1640
|
||||
hex 0C15400C16400103030C15440C1C440C
|
||||
hex 22440C26440C22660C1C660C2B660C22
|
||||
hex 660102020C39000C2B390C2D390C3339
|
||||
hex 0C395A0C405A0C445A0C4C5A0101010C
|
||||
hex 00560C00560C184C0C194C0C1C440C20
|
||||
hex 440C22400C26400C2B390C18390C1933
|
||||
hex 0C1C330C20300C22300C26400C2B4001
|
||||
hex 02020C304C0C194C0C1C4C0C204C0C22
|
||||
hex 000C26000C2B000C30000C33500C1C50
|
||||
hex 0C204C0C224C0C26440C28440C30800C
|
||||
hex 33800103030C39600C20600C22600C26
|
||||
hex 600C22560C1C560C2B440C1C440C2640
|
||||
hex 0C1C400C22390C1C390C20330C1C330C
|
||||
hex 262D0C1C2D0102020C22560C1C560C2B
|
||||
hex 440C1C440C20330C1C330C262D0C1C2D
|
||||
hex 0C22560C1C560C2B440C1C440C20330C
|
||||
hex 1C330C262D0C1C2D0101010C22560C1C
|
||||
hex 560C2B2B0C1C2B0C26260C1C260C2222
|
||||
hex 0C1C220C20200C1C200C1C1C0C1C000C
|
||||
hex 19190C1C190C2B2B0C1C2B0102020C1C
|
||||
hex 1C0C1C000C19190C1C190C18180C1C18
|
||||
hex 0C2B2B0C1C2B0C19190C1C190C18180C
|
||||
hex 1C180C15150C1C150C19190C1C190103
|
||||
hex 030C18180C1C180C19190C1C190C1818
|
||||
hex 0C1C180C1C1C0C1C000C19190C1C190C
|
||||
hex 1C1C0C1C000C19190C1C190C20200C1C
|
||||
hex 200102020C1C1C0C1C000C20200C1C20
|
||||
hex 0C1C1C0C1C000C22220C1C220C20200C
|
||||
hex 1C200C22220C1C220C20200C1C200C26
|
||||
hex 260C1C260101010C22220C1C220C2B2B
|
||||
hex 0C262B0102020C243C0C24560C22390C
|
||||
hex 22560C20360C20560C1E330C1E560C1C
|
||||
hex 300C1C560C1B2D0103030C1B560C192B
|
||||
hex 0C19560C18280C18560C16260C16560C
|
||||
hex 15240C15560C14220C14560C13200C13
|
||||
hex 560C121E0C12560C111C0C1156010101
|
||||
hex 0C10560C19560C2B560C19560C102B0C
|
||||
hex 192B0C102B0C192B0103030C10560C19
|
||||
hex 560C2B560C19560C102B0C192B0C102B
|
||||
hex 0C192B0101010C10560C1C560C2B560C
|
||||
hex 1C560C102B0C1C2B0C102B0C1C2B0103
|
||||
hex 030C10560C1C560C2B560C1C560C102B
|
||||
hex 0C1C2B0C102B0C1C2B0101010C11560C
|
||||
hex 1C560C2B560C1C560C11300C1C300C11
|
||||
hex 300C1C300102020C11560C1C560C2B56
|
||||
hex 0C1C560C11300C1C300C11560C1C5630
|
||||
hex 1040FFFFFE00FFFE1000000000000000
|
||||
hex 00000000000000000000000000000000
|
||||
|
||||
*--- GAGNE (Air)
|
||||
|
||||
zikGAGNE
|
||||
hex 01020308000008306008306008306020
|
||||
hex 3C7808000008366C08366C08366C4040
|
||||
hex 80080000083000083000083000083C90
|
||||
hex 082D90082D90082D90083090081E9008
|
||||
hex 1E90081E901824900824900824900830
|
||||
hex 90083090083090084098082D98082D98
|
||||
hex 082D98083098081B98081B98081B9818
|
||||
hex 2098082098082098081898081898081B
|
||||
hex 98081E00081E78081E78081E6C082060
|
||||
hex 081860081860081B60081E00081E7808
|
||||
hex 1E78081E6C082060081860081860081B
|
||||
hex 60101E60100000102478100000201880
|
||||
hex 080000082D5A082D5A082D5A601B6C08
|
||||
hex 0000082D00082D00082D000836400836
|
||||
hex 4008364008364C08365A08365A08365A
|
||||
hex 0836600836C00836C00836C0083C6008
|
||||
hex 2D00082D00082D000836000836400836
|
||||
hex 4008364008364C08365A08365A08365A
|
||||
hex 083660081BC0081BC0081BC0081E6008
|
||||
hex 30000824000824001024D80824000824
|
||||
hex D80826D80826D80826000820001020D8
|
||||
hex 0820000820D80824D80824D808240008
|
||||
hex 1E00081E4C08204C062000040000061B
|
||||
hex 00030000081B50081C50061C00040000
|
||||
hex 061800030000081848081B48061B0004
|
||||
hex 00000616000300000816480818480618
|
||||
hex 00040000061400030000081448081648
|
||||
hex 06160004000006120003000008125608
|
||||
hex 13560613000400000610000400000812
|
||||
hex 60080F60080F00080F60081260081860
|
||||
hex 081800081860081E6008246008300008
|
||||
hex 3060083C60084860084800084860084C
|
||||
hex 6C080D6C08100008106C08136C08166C
|
||||
hex 08180008186C08206C08266C08300008
|
||||
hex 366C08406C084C6C0848000848000848
|
||||
hex 56080F56080F00080F56081256081556
|
||||
hex 081500081556081856081E56081E0008
|
||||
hex 1E56082456082B56082B00082B562015
|
||||
hex 56100000200000201450100000080000
|
||||
hex 08280008280008280020003C20360020
|
||||
hex 0050102850101E501020A0081E00081E
|
||||
hex A0101BA00824000824A01024F0082800
|
||||
hex 0828F01028F0081E00081EF01020A008
|
||||
hex 1E00081EA0101BA00824000824A01024
|
||||
hex F00828000828F01028F0081E00081EF0
|
||||
hex 1020A0081E00081EA0101BA008240008
|
||||
hex 24A01024F00828000828F01028C00824
|
||||
hex 000824C01022E40824000824E41028D8
|
||||
hex 0824000824D81028D8082B00082BD810
|
||||
hex 22B4081E00081EB4101BC0081E00081E
|
||||
hex C01022E4081E00081EE41022B4082400
|
||||
hex 0824B4101EB4081B00081BB41019AC08
|
||||
hex 1B00081BAC101EAC081B00081BAC1019
|
||||
hex A0081B00081BA0101EA0101B00101998
|
||||
hex 081B00081B98101E98101B0010199008
|
||||
hex 1B00081B90101E90101B00101990081B
|
||||
hex 00081B90101990101500101480081400
|
||||
hex 0814800814F00612F00600000614F006
|
||||
hex 00000618F00600000818F00818F0061B
|
||||
hex 00060000061E00060000081ED80820D8
|
||||
hex 062400060000062000060000081BC008
|
||||
hex 1EC00628000600000630000600000820
|
||||
hex B40824B4062D00060000063600060000
|
||||
hex 0824A00828A0063000060000063C0006
|
||||
hex 00000800A00815A00814000815000814
|
||||
hex F00815F00814D80815D80614A0060000
|
||||
hex 0612A006000006148006000006168006
|
||||
hex 00000816F00818F0061BC0060000061E
|
||||
hex C0060000081ED80820D80624B4060000
|
||||
hex 0620B4060000081BC0081EC00628A006
|
||||
hex 00000630A00600000820B40824B4062D
|
||||
hex 900600000636900600000824A00828A0
|
||||
hex 061650060000061B500600000800A008
|
||||
hex 28A0081450081450081E50080B30080B
|
||||
hex 30080B30080F3C081450081450081450
|
||||
hex 081860081E3C081E3C081E3C0828A008
|
||||
hex 1B50081B50081B50081878080B30080B
|
||||
hex 30080B30080F3C081450081450081450
|
||||
hex 081860081E78081E78081E780828A008
|
||||
hex 14500814500814501014501000000800
|
||||
hex 00081450081450081450101450100000
|
||||
hex 080000081050081050081050100F5010
|
||||
hex 00002000004000000830600830600830
|
||||
hex 60203C7808000008366C08366C08366C
|
||||
hex 40408008000008300008300008300008
|
||||
hex 3C90082D90082D90082D90083090081E
|
||||
hex 90081E90081E90182490082490082490
|
||||
hex 083090083090083090084098082D9808
|
||||
hex 2D98082D98083098081B98081B98081B
|
||||
hex 98182098082098082098081898081898
|
||||
hex 081B98081E00081E78081E78081E6C08
|
||||
hex 2060081860081860081B60081E00081E
|
||||
hex 78081E78081E6C082060081860081860
|
||||
hex 081B60101E6010000010247810000020
|
||||
hex 188008000008165A08165A08165A601B
|
||||
hex 6C080000082D00082D00082D00083640
|
||||
hex 08364008364008364C08365A08365A08
|
||||
hex 365A0836600836C00836C00836C0083C
|
||||
hex 60082D00082D00082D00083600083640
|
||||
hex 08364008364008364C08365A08365A08
|
||||
hex 365A083660081BC0081BC0081BC0081E
|
||||
hex 600830000824000824001024D8082400
|
||||
hex 0824D80826D80826D808260008200010
|
||||
hex 20D80820000820D80824D80824D80824
|
||||
hex 00081E00081E4C08204C062000060000
|
||||
hex 061B00060000081B50081C50061C0006
|
||||
hex 0000061800060000081848081B48061B
|
||||
hex 00060000061600060000081648081848
|
||||
hex 06180006000006140006000008144808
|
||||
hex 16480616000600000612000600000812
|
||||
hex 56081356061300060000061000060000
|
||||
hex 081260080F60080F00080F6008126008
|
||||
hex 1860081800081860081E600824600830
|
||||
hex 00083060083C60084860084800084860
|
||||
hex 084C6C080D6C08100008106C08136C08
|
||||
hex 166C08180008186C08206C08266C0830
|
||||
hex 0008366C08406C084C6C084800084800
|
||||
hex 08482D080F3C080F3C080F3C08124808
|
||||
hex 1556081556081556081966081E78081E
|
||||
hex 78081E78082490082BAC082BAC082BAC
|
||||
hex 10339010000020000010309810000008
|
||||
hex 0000083000083000083000083C90082D
|
||||
hex 90082D90082D90083090081E90081E90
|
||||
hex 081E9010249008249008249008309008
|
||||
hex 3090083090083C90082D90082D90082D
|
||||
hex 90083090081E90081E90081E90182490
|
||||
hex 0824900824900820C00820C00820C010
|
||||
hex 1E901000000800000820C00820C00820
|
||||
hex C0101EC01000000800000820C00820C0
|
||||
hex 0820C0101ED81020C0101ED81020C010
|
||||
hex 1ED81015C01014D81015C01014D81000
|
||||
hex 001026C01000002024D80062C5000000
|
||||
hex 00000000000000000000000000000000
|
||||
|
||||
*--- PERDU (Beethoven's fifth)
|
||||
|
||||
zikPERDU
|
||||
hex 010303302B6C302B36302B39302B7230
|
||||
hex 2B80302B40302B48302B90309FA00102
|
||||
hex 0218205018285018304C18364C183998
|
||||
hex 1836980C39900C36900C39900C369030
|
||||
hex 39901840901848903048A00101013024
|
||||
hex AC302456302460302460180066010303
|
||||
hex 182B66183C6618406618308018338018
|
||||
hex 24801828800102023028601828601828
|
||||
hex 6C182860182856182850182860182872
|
||||
hex 01010118307218407218487218369018
|
||||
hex 3990182890182B90302B6C302B36302B
|
||||
hex 390102021826721824723036800C3640
|
||||
hex 0C3040182B40182B4C18304C18306018
|
||||
hex 36600103031839481840480C406C0C39
|
||||
hex 6C18366C303660183960184060010101
|
||||
hex 18489018488018487218486C18486018
|
||||
hex 4850184856184860010303302B6C302B
|
||||
hex 36302B39302B72302B80302B40302B48
|
||||
hex 302B90309FA001020218205018285018
|
||||
hex 304C18364C1839981836980C39900C36
|
||||
hex 900C39900C3690303990184090184890
|
||||
hex 3048A00101013024AC30245630246030
|
||||
hex 2460180066010303182B66183C661840
|
||||
hex 66183080183380182480182880010202
|
||||
hex 30286018286018286C18286018285618
|
||||
hex 28501828601828720101011830721840
|
||||
hex 72184872183690183990182890182B90
|
||||
hex 302B6C302B36302B3901020218267218
|
||||
hex 24723036800C36400C3040182B40182B
|
||||
hex 4C18304C183060183660010303183948
|
||||
hex 1840480C406C0C396C18366C30366018
|
||||
hex 3960184060010101C0488F3039903039
|
||||
hex 481839500C36500C39500C40A00C39A0
|
||||
hex 1848A01848AC1840AC303C56303C6030
|
||||
hex 3C600102023040663020661800561824
|
||||
hex 56182880182B80010303302860302860
|
||||
hex 0C286C0C2B6C0C306C0C366C18396C18
|
||||
hex 406C0102021844721840723039721839
|
||||
hex 80183680303080010404183090182B90
|
||||
hex 302880302872302B9001020218308018
|
||||
hex 36801839501840500C39600C36601830
|
||||
hex 60303656304080303F40304748308F90
|
||||
hex 01010130369830364C183656182B5618
|
||||
hex 30AC1836AC3020601820601820563020
|
||||
hex 4C18246C18266C0103030C2B720C3072
|
||||
hex 18247230487230406C1840600C39600C
|
||||
hex 3660303990183948183F403048500101
|
||||
hex 013048A03036AC303656303650182BA0
|
||||
hex 1830A001020230309830304C30304818
|
||||
hex 2890182B90010303302B88302B44302B
|
||||
hex 40182480182880010404302860302830
|
||||
hex 30283630286C01040430487230487218
|
||||
hex 48901839901830721828720103031828
|
||||
hex 6C182B6C302B6C302B78182B780C2878
|
||||
hex 0C247801020230368030368018369018
|
||||
hex 2B90182448181E480103033020503020
|
||||
hex 50302056303656183960183060302860
|
||||
hex 30286C30406C3048720102020C30900C
|
||||
hex 2B9018289018286C182B6C182B501830
|
||||
hex 500103030C36900C39901840901840A0
|
||||
hex 1839A00C39900C36900C39900C369018
|
||||
hex 39901836903036D8C0D7D80066B31000
|
||||
hex 00000000000000000000000000000000
|
|
@ -0,0 +1,481 @@
|
|||
*
|
||||
* La maison du Professeur Folibus
|
||||
*
|
||||
* (c) 1982, Alain BrŽgŽon
|
||||
* (c) 2023, Brutal Deluxe Software (Apple II)
|
||||
*
|
||||
|
||||
mx %11
|
||||
lst off
|
||||
|
||||
* Les caract<EFBFBD>res en standard : @ { } ] ! (pipe)
|
||||
* Les caract<EFBFBD>res en fran<EFBFBD>ais : ˆ Ž <EFBFBD> <EFBFBD> <EFBFBD>
|
||||
* Les Žquivalents en ASCII : C0 FB FD DC FC
|
||||
|
||||
*-----------------------------------
|
||||
* LES CHAINES
|
||||
*-----------------------------------
|
||||
|
||||
strVOUSDETENEZ
|
||||
asc 8D"You carry: "00
|
||||
strVOUSRIEN
|
||||
asc 8D"You carry absolutely nothing!!!"00
|
||||
strPOINT
|
||||
asc "."00
|
||||
|
||||
strEVIDENT
|
||||
asc 8D"It seems abvious that you can only"8D
|
||||
asc "carry so much stuff!!"00
|
||||
strVOUSLAVEZ
|
||||
asc 8D"You already have it. You are dizzy"8D
|
||||
asc "and in this house, it is not"00
|
||||
strCONSEILLE
|
||||
asc 8D"very advisable"00
|
||||
|
||||
strNOTOWNED
|
||||
asc 8D"How do you want to drop what you"8D
|
||||
asc "do not carry?"00
|
||||
|
||||
strDACCORD
|
||||
asc 8D"OK"00
|
||||
|
||||
*-----------------------------------
|
||||
* 4000 - LES REPONSES
|
||||
*-----------------------------------
|
||||
|
||||
str4000 asc "You kept the lamp on too long,"8D
|
||||
asc "it exploded"00
|
||||
|
||||
str4010 asc "You forgot to close the faucet"8D
|
||||
asc "You die under tons of water"00
|
||||
|
||||
str4020 asc "The door has just closed behind you"8D
|
||||
asc "You are a prisoner..."00
|
||||
|
||||
str4030 asc "You triped on the stairs,"8D
|
||||
asc "you are impaled on the knife!"00
|
||||
|
||||
str4040 asc "You spill the water down the stairs,"8D
|
||||
asc "causing a discharge of the"00
|
||||
str4042 asc 8D"electrical outlet"00
|
||||
|
||||
str4050 asc "You are safe thanks to the suit"8D
|
||||
asc "you have put on...!"00
|
||||
|
||||
str4060 asc "You die of electric shot..."00
|
||||
|
||||
str4070 asc "The room was full of explosive gas,"8D
|
||||
asc "you should have extinguished..."00
|
||||
str4072 asc 8D"We will pick up your pieces"8D
|
||||
asc "another day...!"00
|
||||
|
||||
str4080 asc "You die impalted on spears of the"8D
|
||||
asc "wall...!"00
|
||||
|
||||
str4090 asc "The door does not open from this room"00
|
||||
|
||||
str4100 asc "The lamp and the lighter refuse to"8D
|
||||
asc "work in this room"00
|
||||
|
||||
str4110 asc "You fall into a trap, you dislocate"8D
|
||||
asc "arriving on the ground..."00
|
||||
|
||||
str4120 asc "You are right to pass, because this"8D
|
||||
asc "monster was only a 3D projection"00
|
||||
str4124 asc 8D"on a smoken screen"00
|
||||
|
||||
str4130 asc "You are right, curiosity killed the cat"00
|
||||
str4133 asc 8D" Bye"00
|
||||
|
||||
str4140 asc "You are right to wait, but this"
|
||||
asc "cannot last forever..."00
|
||||
|
||||
str4150 asc "You are lucky because this chest was open"00
|
||||
str4152 asc 8D"A message inside says: do not"8D
|
||||
asc "respect the colors of the Highway code?"00
|
||||
str4156 asc 8D"Hold on, the chest closes"00
|
||||
|
||||
str4160 asc "Now you have a lamp full of oil"00
|
||||
|
||||
str4170 asc "You have nothing to carry the oil"00
|
||||
|
||||
str4180 asc "The lighter you left lit exploded"00
|
||||
str4185 asc 8D"It kills thoughtlessness..."00
|
||||
|
||||
str4190 asc "Walking long and large in this house"00
|
||||
str4195 asc 8D"you fall into a deadly coma"00
|
||||
|
||||
str4200 asc "Water flows..."00
|
||||
|
||||
str4210 asc "Your feet are soaked and it makes you"8D
|
||||
asc "very sick..."00
|
||||
str4215 asc 8D"You die of triple pneumonia...!"00
|
||||
|
||||
str4220 asc "The title is: "00
|
||||
str4225 asc 8D"Death on the first page."00
|
||||
|
||||
str4230 asc "The book exploded when you opened it..."00
|
||||
|
||||
str4240 asc "The paper says: search the key."00
|
||||
|
||||
str4250 asc "The key will allow you to find the"8D
|
||||
asc "entrance door code."00
|
||||
|
||||
str4260 asc "There is, next to the door, a numerical"8D
|
||||
asc "keypad for entering a code"00
|
||||
|
||||
str4270 asc "To do what...?"00
|
||||
|
||||
str4280 asc 8D"There is a smell of gas."00
|
||||
|
||||
str4290 asc "Apparently, there is no smell but..."00
|
||||
|
||||
str4300 asc "It is already done, you funny fool"00
|
||||
|
||||
str4310 asc "Maybe you need a fire"00
|
||||
|
||||
str4320 asc "The lamp does not contain oil"00
|
||||
|
||||
str4330 asc "You do not have it"00
|
||||
|
||||
str4340 asc "The lighter is still lit and"8D
|
||||
asc "it lights up the room."00
|
||||
|
||||
str4350 asc "The torch was trapped, it"8D
|
||||
asc "exploded in your hands..."00
|
||||
|
||||
str4360 asc "The lamp is still lit and it"8D
|
||||
asc "enlightened"00
|
||||
|
||||
str4370 asc "A dwarf just throwed a stab at you"8D
|
||||
asc "in the heart..."00
|
||||
|
||||
str4380 asc "A dwarf just rushed at you, it impales"8D
|
||||
asc "on your scissor"00
|
||||
|
||||
str4390 asc "A dwarf just rushed at you, it impales"8D
|
||||
asc "on your knife"00
|
||||
|
||||
str4400 asc "You just spilled the pot"00
|
||||
|
||||
str4410 asc "The lighting just fell on the house"00
|
||||
str4412 asc 8D"The house no longer exists, neither you"00
|
||||
|
||||
str4420 asc "Walking in the dark, you tripped"00
|
||||
str4425 asc 8D"you die of a skull fracture"00
|
||||
|
||||
str4430 asc "You cannot work in the dark"00
|
||||
|
||||
str4440 asc "The light of the lighter is not enough"8D
|
||||
asc "to work..."00
|
||||
|
||||
str4450 asc "Impossible!"8D00
|
||||
|
||||
str4460 asc "You have no tools..."
|
||||
|
||||
str4470 asc "The teleporter is broken, the buttons"8D
|
||||
asc "do not work."00
|
||||
|
||||
str4480 asc "The teleporter just exploded, you"8D
|
||||
asc "are decomposed...!"00
|
||||
|
||||
str4490 asc "The teleporter stars, you disappear"00
|
||||
|
||||
str4500 asc "You take 30,0000 Volts in your fingers"00
|
||||
|
||||
str4510 asc "The closet is locked"00
|
||||
|
||||
str4520 asc "The horrible monster out of the closet"8D
|
||||
asc "just devoured you"00
|
||||
|
||||
str4530 asc "You should not flee"00
|
||||
|
||||
str4540 asc "You are right to use the scissors,"8D
|
||||
asc "the monster is dead"00
|
||||
|
||||
str4550 asc "Inside the closet, number "00
|
||||
str4552 asc 8D" is registered"00
|
||||
str4555 asc 8D"The closet closes."00
|
||||
|
||||
str4560 asc "The gun exploded"00
|
||||
|
||||
str4570 asc "The numeric keyboard exploded"00
|
||||
|
||||
str4580 asc "The numeric keyboard caught fire,"8D
|
||||
asc "Luckily, you had "00
|
||||
str4582 asc "a pot full of ware"00
|
||||
str4585 asc 8D"that allows you extinguish the fire"00
|
||||
|
||||
str4590 asc 8D"Code number? "00
|
||||
|
||||
strCODEEXACT
|
||||
asc "The code is exact... The door opens......"00
|
||||
strENDEHORS
|
||||
asc 8D"You are now outside the house..."
|
||||
|
||||
str4610 asc "Inside the closet, there is a word"8D
|
||||
asc "talking about a teleporter"00
|
||||
str4615 asc 8D"Hold on, the closed closes by itself..."00
|
||||
|
||||
str4620 asc "Before putting it on the ground, you"8D
|
||||
asc "may need to remove it"00
|
||||
|
||||
str4630 asc "Thee is a horrible monster in front of you"8D
|
||||
asc "that came out of the closet."00
|
||||
|
||||
str4640 asc "The closet was trapped, you should not"8D
|
||||
asc "have opened it"00
|
||||
|
||||
*-----------------------------------
|
||||
* LIEUX
|
||||
*-----------------------------------
|
||||
|
||||
* "0 1 2 3 "
|
||||
* "0123456789012345678901234567890123456789"
|
||||
* "----------------------------------------"
|
||||
|
||||
strVOUS asc 8D"You are "00
|
||||
str7000 asc "in front of the manor of"00
|
||||
str7001 asc 8D" Dr Genius"00
|
||||
str7010 asc "in the entrance hall"00
|
||||
str7020 asc "At the bottom of the stairs tothe 2nd floor"00
|
||||
str7030 asc "in the dining room"00
|
||||
str7040 asc "in a library without books...!"00
|
||||
str7050 asc "in a laundry room"00
|
||||
str7060 asc "in the living room"00
|
||||
str7070 asc "in a bedroom"00
|
||||
str7080 asc "in a corridor"00
|
||||
str7090 asc "in a waiting room"00
|
||||
str7100 asc "in a vestibule"00
|
||||
str7110 asc "in the guest room"00
|
||||
str7120 asc "in a bedroom"00
|
||||
str7130 asc ""00 ; nada
|
||||
str7140 asc "in a small room"00
|
||||
str7150 asc "in the laboratory of"00 ; + :7001
|
||||
str7160 asc "in a small empty room"00
|
||||
str7170 asc "! You actually do not know"8D
|
||||
asc "where you are"00
|
||||
str7180 asc "at the top of the stairs"00
|
||||
str7190 asc "in the bathroom"00
|
||||
str7200 asc "in the living room"00
|
||||
str7210 asc "in a somky room"00
|
||||
str7220 asc "in a large room"00
|
||||
str7230 asc "in a storage room"00
|
||||
str7240 asc "in the dressing room"00
|
||||
|
||||
strREPLAY asc 8D"Do you want to play again? "00
|
||||
|
||||
* "0123456789012345678901234567890123456789"
|
||||
|
||||
strGAGNE asc "This is exceptional, you are the first"8D8D
|
||||
asc "to get out of this house alive, but"8D8D
|
||||
asc "if I were you, I would start to flee"8D8D
|
||||
asc "because a dwarf may be lurking around..."00
|
||||
|
||||
*-----------------------------------
|
||||
* 40000 - LISTE DES INSTRUCTIONS
|
||||
*-----------------------------------
|
||||
|
||||
strINSTR asc 8D"Do you want to know how to play? "00
|
||||
|
||||
strINSTR2 asc 8D8D
|
||||
asc "You have arrived in the mansion of"8D
|
||||
asc " Dr Genius..."8D
|
||||
asc 8D
|
||||
asc "To converse with the computer, you"8D
|
||||
asc "must enter orders in 1 or 2 words"8D
|
||||
asc "such as"8D
|
||||
asc " NORTH"8D
|
||||
asc " TAKE PILL"8D
|
||||
asc 8D
|
||||
asc "or to start:"8D
|
||||
asc " ENTER"8D
|
||||
asc 8D8D
|
||||
asc "If you want to make the sentence"8D
|
||||
asc "describing the room last, type a key"8D
|
||||
asc 8D
|
||||
asc "One last advice: sometimes, there may"8D
|
||||
asc "be a door behind you. "00
|
||||
|
||||
*-----------------------------------
|
||||
* 51000 - DISCLAIMER
|
||||
*-----------------------------------
|
||||
|
||||
strDISCLAIMER
|
||||
asc "The use of this program is not"8D8D
|
||||
asc "recommended to sensitive people,"8D8D
|
||||
asc "young children, as well as"8D8D
|
||||
asc "anyone who have heart diseases."8D8D
|
||||
asc 8D8D
|
||||
asc "We cannot be held responsible for any"8D8D
|
||||
asc "physical or mental disorder caused"8D8D
|
||||
asc "by your failure in"8D8D
|
||||
asc "The Manor of Dr Genius ............."00
|
||||
|
||||
*-----------------------------------
|
||||
* introPIC - la picture GR
|
||||
*-----------------------------------
|
||||
|
||||
strLORICIELS
|
||||
asc " LORICIELS is proud to present: "00
|
||||
|
||||
strLEMANOIR
|
||||
asc " @@@ @ @ @@@ @ @ @@@ @ @ @@@ @@@"8D
|
||||
asc " @ @ @ @ @@ @@ @ @ @@ @ @ @ @ @"8D
|
||||
asc " @ @@@ @@ @ @ @ @@@ @@@@ @ @ @@@"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @@ @ @ @@"8D
|
||||
asc " @ @ @ @@@ @ @ @ @ @ @ @@@ @ @"8D
|
||||
asc 8D
|
||||
asc " @@@ @@@ @@"8D
|
||||
asc " @ @ @ @ @ @"8D
|
||||
asc " @ @ @@ @ @ @@"8D
|
||||
asc " @ @ @ @ @ @ @"8D
|
||||
asc " @@@ @ @@@ @"8D
|
||||
asc 8D8D
|
||||
asc " @@@@ @@@@ @@ @ @ @ @ @@@@"8D
|
||||
asc " @ @ @ @@ @ @ @ @ @"8D
|
||||
asc " @ @ @@@ @ @ @ @ @"8D
|
||||
asc " @ @@@ @ @ @ @ @ @ @@@@"8D
|
||||
asc " @ @@ @ @ @@@ @ @ @ @"8D
|
||||
asc " @ @ @ @ @@ @ @ @ @"8D
|
||||
asc " @@@@ @@@@ @ @@ @ @@@@ @@@@ @ @"00
|
||||
|
||||
strINTRO1 asc " Apple II version by "00
|
||||
strINTRO2 asc " Brutal Deluxe Software "00
|
||||
strINTRO3 asc " Thanks Fred_72 "00
|
||||
strINTRO4 asc "(C) 1983, L. BENES & LORICIELS"00
|
||||
|
||||
*-----------------------------------
|
||||
* VOCABULAIRE
|
||||
*-----------------------------------
|
||||
|
||||
V$1 str "N"
|
||||
V$2 str "NORTH"
|
||||
V$3 str "S"
|
||||
V$4 str "SOUTH"
|
||||
V$5 str "E"
|
||||
V$6 str "EAST"
|
||||
V$7 str "W"
|
||||
V$8 str "WEST"
|
||||
V$9 str "UP" ; MONTER
|
||||
V$10 str "CLIM" ; MONTER
|
||||
V$11 str "DOWN" ; DESCENDRE
|
||||
V$12 str "TAKE" ; PRENDRE
|
||||
V$13 str "PICK" ; RAMASSER
|
||||
V$14 str "DROP" ; POSER
|
||||
V$15 str "OPEN" ; OUVRIR
|
||||
V$16 str "CLOS" ; FERMER
|
||||
V$17 str "ENTE" ; ENTRER
|
||||
V$18 str "MOVE" ; AVANCER
|
||||
V$19 str "LIGH" ; ALLUMER
|
||||
V$20 str "EXTI" ; ETEINDRE
|
||||
V$21 str "REPA" ; REPARER
|
||||
V$22 str "DEPA" ; DEPANNER
|
||||
V$23 str "READ" ; LIS (LIRE)
|
||||
V$24 str "LOOK" ; REGARDER
|
||||
V$25 str "TURN" ; RETOURNER
|
||||
V$26 str "SNIF" ; RENIFLER
|
||||
V$27 str "SMEL" ; SENS (SENTIR)
|
||||
V$28 str "FILL" ; REMPLIT
|
||||
V$29 str "EMPT" ; VIDER
|
||||
V$30 str "INVE" ; INVENTAIRE
|
||||
V$31 str "LIST" ; LISTE
|
||||
V$32 str "NOTH" ; RIEN
|
||||
V$33 str "WARN" ; ATTENTION
|
||||
V$34 str "DAGG" ; POIGNARD
|
||||
V$35 str "KNIF" ; COUTEAU
|
||||
V$36 str "SCRE" ; TOURNEVIE
|
||||
V$37 str "LAMP" ; LAMPE
|
||||
V$38 str "CODE" ; CODE
|
||||
V$39 str "STAI" ; ESCALIER
|
||||
V$40 str "GUN" ; PISTOLET
|
||||
V$41 str "CLOS" ; PLACARD
|
||||
V$42 str "TORC" ; TORCHE
|
||||
V$43 str "TELE" ; TELEPORTEUR
|
||||
V$44 str "MONS" ; MONSTRE
|
||||
V$45 str "OIL" ; PETROLE
|
||||
V$46 str "POT" ; POT
|
||||
V$47 str "BED" ; LIT
|
||||
V$48 str "KEY" ; CLEF
|
||||
V$49 str "PAPE" ; PAPIER
|
||||
V$50 str "BOOK" ; LIVRE
|
||||
V$51 str "LIGH" ; BRIQUET
|
||||
V$52 str "SUIT" ; COMBINAISON
|
||||
V$53 str "CHES" ; COFFRE
|
||||
V$54 str "RED" ; ROUGE
|
||||
V$55 str "BLUE" ; BLEU
|
||||
V$56 str "GREE" ; VERT
|
||||
V$57 str "TITL" ; TITRE
|
||||
V$58 str "TAP" ; ROBINET
|
||||
V$59 str "SCIS" ; CISEAU
|
||||
V$60 str "CARR" ; PORTER
|
||||
V$61 str "ENAB" ; ACTIVER
|
||||
V$62 str "THRO" ; JETER
|
||||
V$63 str "THRO" ; LANCER
|
||||
V$64 str "WAT" ; EAU
|
||||
V$65 str "WEAR" ; ENFILER
|
||||
V$66 str "PASS" ; PASSER
|
||||
V$67 str "PRES" ; APPUYER
|
||||
V$68 str "BURY" ; ENFOUIR
|
||||
V$69 str "REMO" ; ENLEVER
|
||||
V$70 str "RETU" ; RENTRER
|
||||
V$71 str "TEMPO" ; TEMPO - Apple II
|
||||
V$72 str "QUIT" ; QUITTER - Apple II
|
||||
V$73 str "CASE" ; CASSE - Apple II
|
||||
|
||||
*-----------------------------------
|
||||
* OBJETS
|
||||
*-----------------------------------
|
||||
|
||||
O$1 asc "an electric torch"00
|
||||
O$2 asc "a tap"00
|
||||
O$3 asc "scissors"00
|
||||
O$4 asc "a screwdriver"00
|
||||
O$5 asc "an oil lamp"00
|
||||
O$6 asc "a full lamp"00
|
||||
O$7 asc "a lighted lamp"00
|
||||
O$8 asc "a knife"00
|
||||
O$9 asc "a paper"00
|
||||
O$10 asc "a book"00
|
||||
O$11 asc "oil in a clogged sink"00
|
||||
O$12 asc "a key"00
|
||||
O$13 asc "a red button"00
|
||||
O$14 asc "a blue button"00
|
||||
O$15 asc "a green button"00
|
||||
O$16 asc "a teleporter"00
|
||||
O$17 asc "a repaired teleporter"00
|
||||
O$18 asc "a silver suit"00
|
||||
O$19 asc "a coated suit"00
|
||||
O$20 asc "a monster to the east"00
|
||||
O$21 asc "a gun"00
|
||||
O$22 asc "a lighter"00
|
||||
O$23 asc "a lighted lighter"00
|
||||
O$24 asc "a pot"00
|
||||
O$25 asc "a pot full of water"00
|
||||
|
||||
*-----------------------------------
|
||||
* STRINGS
|
||||
*-----------------------------------
|
||||
|
||||
strILFAITNOIR
|
||||
asc "It is very dark, perhaps you should"8D
|
||||
asc "turn on the lights"00
|
||||
|
||||
strILYA asc 8D"The room contains:"00
|
||||
strCOMMA asc ","00
|
||||
strSPACE asc " "00
|
||||
strRETURN asc 8D00
|
||||
|
||||
strCOMMANDE
|
||||
asc 8D"Command? "00
|
||||
|
||||
strJENECOMPRENDS
|
||||
asc 8D"I do not understand..."00
|
||||
|
||||
strIMPOSSIBLE
|
||||
asc 8D"Not possible "00
|
||||
strCECHEMIN
|
||||
asc "to take this path"00
|
||||
strEXCLAM
|
||||
asc " !"00
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
prfolibus=Type(06),AuxType(4000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
|
|
@ -0,0 +1,368 @@
|
|||
*
|
||||
* La maison du Professeur Folibus
|
||||
*
|
||||
* (c) 1982, Alain BrŽgŽon
|
||||
* (c) 2023, Brutal Deluxe Software (Apple II)
|
||||
*
|
||||
|
||||
mx %11
|
||||
lst off
|
||||
|
||||
* Les caract<EFBFBD>res en standard : @ { } ] ! (pipe)
|
||||
* Les caract<EFBFBD>res en fran<EFBFBD>ais : ˆ Ž <EFBFBD> <EFBFBD> <EFBFBD>
|
||||
* Les Žquivalents en ASCII : C0 FB FD DC FC
|
||||
|
||||
*-----------------------------------
|
||||
* LES CHAINES
|
||||
*-----------------------------------
|
||||
|
||||
strVOUSDETENEZ
|
||||
asc 8D"Vous detenez : "00
|
||||
|
||||
strVOUSRIEN
|
||||
asc 8D"Vous ne detenez absolument rien !!!"00
|
||||
|
||||
strPOINT
|
||||
asc "."00
|
||||
|
||||
strEVIDENT
|
||||
asc 8D"Vous ne pouvez porter plus"00
|
||||
|
||||
strVOUSLAVEZ
|
||||
asc 8D"Vous l"A7"avez deja."00
|
||||
|
||||
strNOTOWNED
|
||||
asc 8D"Vous n"A7"avez pas"00
|
||||
|
||||
strDACCORD
|
||||
asc "D"A7"accord"00
|
||||
|
||||
*-----------------------------------
|
||||
* 7000 - LES REPONSES
|
||||
*-----------------------------------
|
||||
|
||||
str7000 asc "La generatrice vient d"A7"exploser. La"8D
|
||||
asc "maison n"A7"existe plus, vous non plus."00
|
||||
str7010 asc "L"A7"ascenseur ne bouge pas. Il faudrait"8D
|
||||
asc "peut-etre du courant ?"00
|
||||
str7020 asc "La porte vient de se fermer. Impossible"8D
|
||||
asc "de l"A7"ouvrir..."00
|
||||
str7030 asc "Vous avez raison. La curiosite est un"8D
|
||||
asc "vilain defaut..."00
|
||||
str7040 asc "L"A7"odeur que vous sentiez etait celle d"A78D
|
||||
asc "un gaz explosif. Vous etes mort."00
|
||||
str7050 asc "Il faudrait peut-etre du feu..."00
|
||||
str7060 asc "Ah, ah... Vous etes prisonnier"00
|
||||
str7070 asc "Vous avez dit papier ? Quel papier ?"00
|
||||
str7080 asc "Bravez les interdits."00
|
||||
str7090 asc "Elle a l"A7"air de s"A7"emballer..."00
|
||||
str7100 asc "La generatrice se met en marche"00
|
||||
str7110 asc "Impossible, elle ne veut rien savoir"00
|
||||
str7120 asc "Bravo, je ne savais pas que vous aviez"8D
|
||||
asc "des dons d"A7"electricien."00
|
||||
str7130 asc "Votre machine est reparee. Mais elle"8D
|
||||
asc "sent le chaud."00
|
||||
str7140 asc "La machine est reparee. Dommage qu"A7"il"8D
|
||||
asc "n"A7"y ait pas de courant."00
|
||||
str7150 asc "Il faudrait peut-etre des outils."00
|
||||
str7160 asc "L"A7"ascenseur semble monter..."00
|
||||
str7170 asc "L"A7"ascenseur ne bouge pas"00
|
||||
str7180 asc "Le cable vient de casser. Vous vous"8D
|
||||
asc "ecrasez en bas : mort"00
|
||||
str7190 asc "Il faut noir. Il faut allumer"00
|
||||
str7200 asc "Vous vous ecrasez au sol"00
|
||||
str7210 asc "Il y a une clef."00
|
||||
str7220 asc "La porte est fermee a clef"00
|
||||
str7230 asc "Tiens, la porte du placard se referme."00
|
||||
str7240 asc "La generatrice vient d"A7"exploser,"8D
|
||||
asc "l"A7"ascenseur est detruit. Vous en echap-"8D
|
||||
asc "-pez de justesse"00
|
||||
str7250 asc "Vous etes mort electrocute"00
|
||||
str7260 asc "Vous avez raison, rien ne sert de courir"00
|
||||
str7270 asc "Dehors il fait noir, on ne voit pas le"8D
|
||||
asc "sol."00
|
||||
str7280 asc "C"A7"est deja fait."00
|
||||
str7290 asc "Vous etes au bout de la corde."00
|
||||
str7300 asc "Vraiment pas au point cette machine."8D
|
||||
asc "Vous etes mort"00
|
||||
str7310 asc "Il faudrait peut-etre ouvrir la fenetre."00
|
||||
str7320 asc "Tant pis. On a essaye."00
|
||||
str7330 asc "Bravo, quel trait de genie."00
|
||||
str7340 asc "Une trappe s"A7"ouvre sous vos pieds."8D
|
||||
asc "Vous etes mort."00
|
||||
str7350 asc "Sage precaution."00
|
||||
str7360 asc "C"A7"est du poison. Vous etes mort."00
|
||||
str7370 asc "Vous apprenez a piloter une soucoupe en"8D
|
||||
asc "une lecon"00
|
||||
str7380 asc "Ca ne se pilote pas comme ca"00
|
||||
str7390 asc "C"A7"est de l"A7"acide. Vous etes mort."00
|
||||
str7400 asc "Il y a de l"A7"eau. Vous vous noyez"00
|
||||
str7410 asc "Ouf, vous vous retrouvez dehors.."00
|
||||
str7420 asc "Sain et sauf..."00
|
||||
str7430 asc "Ca marche... Mais il n"A7"y avait pas assez"
|
||||
asc "de carburant"00
|
||||
str7440 asc "Mais. Vous etes tout bleu, ce doit etre"8D
|
||||
asc "les pilules"00
|
||||
str7450 asc "Et irradie. Vous mourez au bout de"8D
|
||||
asc "quelques jours"00
|
||||
|
||||
*-----------------------------------
|
||||
* LIEUX
|
||||
*-----------------------------------
|
||||
|
||||
* "0 1 2 3 "
|
||||
* "0123456789012345678901234567890123456789"
|
||||
* "----------------------------------------"
|
||||
|
||||
str8000 asc "Vous etes devant une maison, la porte"8D
|
||||
asc "est ouverte."00
|
||||
str8010 asc "Vous etes dans un couloir. Il y a une"8D
|
||||
asc "porte a l"A7"est et une porte a l"A7"ouest."00
|
||||
str8020 asc "Vous etes dans un salon. Il y a une"8D
|
||||
asc "porte a l"A7"ouest."00
|
||||
str8030 asc "Il y a une drole d"A7"odeur."00
|
||||
str8040 asc "Il y a une grosse machine qui ressemble"8D
|
||||
asc "a 1 generatrice avec un bouton vert, un"8D
|
||||
asc "bouton rouge. Il y a une porte au nord."00
|
||||
str8050 asc "Une machinerie d"A7"ascenseur. Une porte"8D
|
||||
asc "au nord."00
|
||||
str8060 asc "Il y a plein de materiel."00
|
||||
str8070 asc "Vous etes dans un ascenseur. Il y a un"8D
|
||||
asc "bouton haut, un bouton bas."00
|
||||
str8080 asc "L"A7"ascenseur vient de s"A7"arreter."00
|
||||
str8090 asc "La piece est humide, il y a des fils qui"
|
||||
asc "trainent par terre. Il y a une fenetre"8D
|
||||
asc "et une porte au nord."00
|
||||
str8100 asc "La porte vient de se refermer. Bonjour.."
|
||||
asc "Comment ecrivez-vous ceci en 4 lettres ?"00
|
||||
str8110 asc "Vous etes dans une machine a remonter le"
|
||||
asc "temps. Trois boutons : passe, present et"
|
||||
asc "avenir."00
|
||||
str8120 asc "Vous vous retrouvez dans le laboratoire"8D
|
||||
asc "du Professeur. Il y a une porte en fer a"
|
||||
asc "l"A7"ouest, porte au sud marque danger."00
|
||||
str8130 asc "Il y a une douche. Un trou dans le sol."00
|
||||
str8140 asc "Il y a un cube noir d"A7"au moins une"8D
|
||||
asc "tonne, une echelle monte. Une porte a"8D
|
||||
asc "l"A7"est."00
|
||||
str8150 asc "Vous etes dans une bibliotheque."00
|
||||
str8160 asc "Vous etes dans une soucoupe sur une"8D
|
||||
asc "terrasse."00
|
||||
|
||||
strREPLAY asc 8D"Voulez-vous rejouer ? "00
|
||||
|
||||
strGAGNE asc "Cela est exceptionnel. Vous etes le "8D8D
|
||||
asc "premier a etre sorti vivant de la"8D8D
|
||||
asc "maison du Professeur Folibus"00
|
||||
|
||||
*-----------------------------------
|
||||
* 40000 - LISTE DES INSTRUCTIONS
|
||||
*-----------------------------------
|
||||
|
||||
strINSTR asc 8D"La liste des instructions ? "00
|
||||
|
||||
strINSTR2 asc 8D8D
|
||||
asc "Vous voici arrive dans la maison du"8D
|
||||
asc " Pr Folibus..."8D
|
||||
asc 8D
|
||||
asc "Pour converser avec l"A7"ordinateur, il"8D
|
||||
asc "faut rentrer les ordres en 1 ou 2 mots"8D
|
||||
asc "tels que :"8D
|
||||
asc " NORD"8D
|
||||
asc " PRENDS PILULE"8D
|
||||
asc 8D
|
||||
asc "ou pour commencer :"8D
|
||||
asc " ENTRE"8D
|
||||
asc 8D8D
|
||||
asc "Si vous voulez faire durer la phrase"8D
|
||||
asc "decrivant la salle, tapez une touche"8D
|
||||
asc 8D
|
||||
asc "Un dernier conseil : il peut parfois y"8D
|
||||
asc "avoir une porte derriere vous. "00
|
||||
|
||||
*-----------------------------------
|
||||
* 51000 - DISCLAIMER
|
||||
*-----------------------------------
|
||||
|
||||
strDISCLAIMER
|
||||
asc "L"A7"utilisation de ce programme est"8D8D
|
||||
asc "deconseillee aux personnes sensibles,"8D8D
|
||||
asc "aux enfants en bas age, ainsi qu"A7"a"8D8D
|
||||
asc "tout personne susceptible d"A7"avoir"8D8D
|
||||
asc "des malaises cardiaques."8D8D
|
||||
asc 8D8D
|
||||
asc "Nous ne pourrions etre tenus responsa-"8D8D
|
||||
asc "-bles des troubles physiques ou mentaux"8D8D
|
||||
asc "provoques par votre echec dans"8D8D
|
||||
asc "la maison du Pr Folibus ............."00
|
||||
|
||||
*-----------------------------------
|
||||
* introPIC - la picture GR
|
||||
*-----------------------------------
|
||||
|
||||
strLORICIELS
|
||||
asc "MICRO-SYSTEMES est fier de presenter"00
|
||||
|
||||
strLEMANOIR
|
||||
asc " @ @ @ @ @@@ @ @@@ @@@ @ @"8D
|
||||
asc " @ @ @ @@ @@ @ @ @ @ @ @ @@ @"8D
|
||||
asc " @ @@@ @ @ @ @@@ @ @@@ @ @ @@@@"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @ @ @ @@"8D
|
||||
asc " @@@ @ @ @ @ @ @ @ @@@ @@@ @ @@"8D
|
||||
asc 8D
|
||||
asc " @@ @ @ @@@"8D
|
||||
asc " @ @ @ @ @ @ @"8D
|
||||
asc " @ @ @ @ @@@ @@"8D
|
||||
asc " @ @ @ @ @ @ @"8D
|
||||
asc " @@@ @@@ @ @"8D
|
||||
asc 8D8D
|
||||
asc " @@@ @@@ @ @ @@@ @ @ @@@"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @"8D
|
||||
asc " @@@ @ @ @ @ @@@ @ @ @@@"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @"8D
|
||||
asc " @ @ @ @ @ @ @ @ @ @"8D
|
||||
asc " @ @@@ @@@ @ @@@ @@@@ @@@ @ @"00
|
||||
|
||||
strINTRO1 asc " Version Apple II par "00
|
||||
strINTRO2 asc " Brutal Deluxe Software "00
|
||||
strINTRO3 asc " (C) 1982, Alain Bregeon "00
|
||||
|
||||
*-----------------------------------
|
||||
* VOCABULAIRE
|
||||
*-----------------------------------
|
||||
|
||||
V$1 str "N"
|
||||
V$2 str "NORD"
|
||||
V$3 str "E"
|
||||
V$4 str "EST"
|
||||
V$5 str "S"
|
||||
V$6 str "SUD"
|
||||
V$7 str "O"
|
||||
V$8 str "OUES"
|
||||
V$9 str "H"
|
||||
V$10 str "MONT"
|
||||
V$11 str "D"
|
||||
V$12 str "DESC"
|
||||
V$13 str "ENTR"
|
||||
V$14 str "AVAN"
|
||||
V$15 str "HAUT"
|
||||
V$16 str "BAS "
|
||||
V$17 str "LIT "
|
||||
V$18 str "REGA"
|
||||
V$19 str "TOUR"
|
||||
V$20 str "RETO"
|
||||
V$21 str "PREN"
|
||||
V$22 str "RAMA"
|
||||
V$23 str "PAPI"
|
||||
V$24 str "ALLU"
|
||||
V$25 str "BOUG"
|
||||
V$26 str "APPU"
|
||||
V$27 str "ENFO"
|
||||
V$28 str "VERT"
|
||||
V$29 str "ROUG"
|
||||
V$30 str "OUTI"
|
||||
V$31 str "OUVR"
|
||||
V$32 str "DOUC"
|
||||
V$33 str "PLAC"
|
||||
V$34 str "PORT"
|
||||
V$35 str "ASCE"
|
||||
V$36 str "BRIQ"
|
||||
V$37 str "REPA"
|
||||
V$38 str "DEPA"
|
||||
V$39 str "RIEN"
|
||||
V$40 str "MACH"
|
||||
V$41 str "POSE"
|
||||
V$42 str "QUIT"
|
||||
V$43 str "DECR"
|
||||
V$44 str "INVE"
|
||||
V$45 str "CLEF"
|
||||
V$46 str "FILS"
|
||||
V$47 str "CORD"
|
||||
V$48 str "FENE"
|
||||
V$49 str "ACCR"
|
||||
V$50 str "SAUT"
|
||||
V$51 str "ATTA"
|
||||
V$52 str "SORT"
|
||||
V$53 str "FERM"
|
||||
V$54 str "CECI"
|
||||
V$55 str "ATTE"
|
||||
V$56 str "TAPE"
|
||||
V$57 str "FRAP"
|
||||
V$58 str "PASS"
|
||||
V$59 str "AVEN"
|
||||
V$60 str "PRES"
|
||||
V$61 str "MET "
|
||||
V$62 str "AVAL"
|
||||
V$63 str "GANT"
|
||||
V$64 str "K"
|
||||
V$65 str "Q"
|
||||
V$66 str "Z"
|
||||
V$67 str "ENFI"
|
||||
V$68 str "LASE"
|
||||
V$69 str "PIST"
|
||||
V$70 str "LIVR"
|
||||
V$71 str "DEMA"
|
||||
V$72 str "PILO"
|
||||
V$73 str "TEMPO" ; Apple II
|
||||
V$74 str "QUITTER" ; Apple II
|
||||
V$75 str "CASSE" ; Apple II
|
||||
|
||||
*-----------------------------------
|
||||
* OBJETS
|
||||
*-----------------------------------
|
||||
|
||||
O$1 asc "briquet"00
|
||||
O$2 asc "briquet allume"00
|
||||
O$3 asc "bougie"00
|
||||
O$4 asc "bougie allumee"00
|
||||
O$5 asc "placard"00
|
||||
O$6 asc "outils"00
|
||||
O$7 asc "papier"00
|
||||
O$8 asc "fils arraches"00
|
||||
O$9 asc "fils repares"00
|
||||
O$10 asc "une corde"00
|
||||
O$11 asc "gants caoutchouc"00
|
||||
O$12 asc "gants enfiles"00
|
||||
O$13 asc "pilule K"00
|
||||
O$14 asc "pilule K avalee"00
|
||||
O$15 asc "pilule Z"00
|
||||
O$16 asc "pilule Z avalee"00
|
||||
O$17 asc "pilule Q"00
|
||||
O$18 asc "pilule Q avalee"00
|
||||
O$19 asc "pistolet laser"00
|
||||
O$20 asc "livre"00
|
||||
O$21 asc "briquet"00
|
||||
O$22 asc "briquet allume"00
|
||||
O$23 asc "bougie"00
|
||||
O$24 asc "bougie allumee"00
|
||||
O$25 asc "placard"00
|
||||
|
||||
*-----------------------------------
|
||||
* STRINGS
|
||||
*-----------------------------------
|
||||
|
||||
* asc "1234567890123456789012345678901234567890"
|
||||
|
||||
strILFAITNOIR
|
||||
asc "On n"A7"y voit rien, mieux vaudrait allumer"
|
||||
asc "pour eviter les ennuis."00
|
||||
|
||||
strILYA asc 8D"Il y a aussi :"00
|
||||
strCOMMA asc ","00
|
||||
strSPACE asc " "00
|
||||
strRETURN asc 8D00
|
||||
|
||||
strCOMMANDE
|
||||
asc 8D"Que faites-vous ? "00
|
||||
|
||||
strJENECOMPRENDS
|
||||
asc "Pardon ?"8D00
|
||||
|
||||
strIMPOSSIBLE
|
||||
asc "Impossible "00
|
||||
strCECHEMIN
|
||||
asc "de prendre ce chemin"00
|
||||
strEXCLAM
|
||||
asc " !"00
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,100 @@
|
|||
*
|
||||
* La maison du Professeur Folibus
|
||||
*
|
||||
* (c) 1982, Alain BrŽgŽon
|
||||
* (c) 2023, Brutal Deluxe Software (Apple II)
|
||||
*
|
||||
|
||||
mx %11
|
||||
org $2000
|
||||
lst off
|
||||
|
||||
*-----------------------------------
|
||||
* SOFTSWITCHES AND FRIENDS
|
||||
*-----------------------------------
|
||||
|
||||
leJEU = $4000
|
||||
|
||||
ptrPREFIX = $280
|
||||
proBUFFER = $b800
|
||||
PRODOS = $bf00
|
||||
|
||||
*-----------------------------------
|
||||
* LOAD THE GAME
|
||||
*-----------------------------------
|
||||
|
||||
jsr PRODOS ; get the prefix
|
||||
dfb $c7
|
||||
da proGETPFX
|
||||
|
||||
jsr PRODOS ; set it
|
||||
dfb $c6
|
||||
da proGETPFX
|
||||
|
||||
jsr PRODOS
|
||||
dfb $c8
|
||||
da proOPEN
|
||||
bcs quitME
|
||||
|
||||
lda proOPEN+5 ; zou, on prend l'ID
|
||||
sta proGETEOF+1
|
||||
sta proREAD+1
|
||||
sta proCLOSE+1
|
||||
|
||||
jsr PRODOS ; longueur du fichier
|
||||
dfb $d1
|
||||
da proGETEOF
|
||||
bcs quitME
|
||||
|
||||
lda proGETEOF+2
|
||||
sta proREAD+4
|
||||
lda proGETEOF+3
|
||||
sta proREAD+5
|
||||
|
||||
jsr PRODOS ; lecture du fichier
|
||||
dfb $ca
|
||||
da proREAD
|
||||
bcs quitME
|
||||
|
||||
jsr PRODOS ; fermeture du fichier
|
||||
dfb $cc
|
||||
da proCLOSE
|
||||
bcs quitME
|
||||
|
||||
jmp leJEU
|
||||
|
||||
quitME jsr PRODOS ; exit
|
||||
dfb $65
|
||||
da proQUIT
|
||||
brk $bd ; on ne se refait pas ;-)
|
||||
|
||||
*--- Data
|
||||
|
||||
proQUIT dfb $4
|
||||
ds 1
|
||||
ds 2
|
||||
ds 1
|
||||
ds 2
|
||||
|
||||
proGETPFX dfb $1
|
||||
da ptrPREFIX
|
||||
|
||||
proOPEN dfb $3
|
||||
da pLEJEU ; pathname (par dŽfaut, le moteur)
|
||||
da proBUFFER ; io_buffer
|
||||
ds 1 ; ref_num
|
||||
|
||||
proREAD dfb $4
|
||||
ds 1 ; ref_num
|
||||
da leJEU ; data_buffer
|
||||
ds 2 ; request_count
|
||||
ds 2 ; transfer_count
|
||||
|
||||
proCLOSE dfb $1
|
||||
ds 1 ; ref_num
|
||||
|
||||
proGETEOF dfb $2
|
||||
ds 1 ; ref_num
|
||||
ds 3 ; eof
|
||||
|
||||
pLEJEU str 'PrFolibus'
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 236 KiB |
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
After Width: | Height: | Size: 77 KiB |
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
Binary file not shown.
|
@ -0,0 +1,375 @@
|
|||
1 GOTO 9200
|
||||
#
|
||||
# TABLEAU VOCABULAIRE (72)
|
||||
8699 LET V=73
|
||||
8700 DIM V$(73,6)
|
||||
#_________________000000
|
||||
#_________________123456
|
||||
#_________________##$$$$
|
||||
8701 LET V$(1) ="01N "
|
||||
8702 LET V$(2) ="01NORD"
|
||||
8703 LET V$(3) ="02E"
|
||||
8704 LET V$(4) ="02EST "
|
||||
8705 LET V$(5) ="03S "
|
||||
8706 LET V$(6) ="03SUD "
|
||||
8707 LET V$(7) ="04O"
|
||||
8708 LET V$(8) ="04OUES"
|
||||
8709 LET V$(9) ="05H "
|
||||
8710 LET V$(10)="05MONT"
|
||||
8711 LET V$(11)="06D "
|
||||
8712 LET V$(12)="06DESC"
|
||||
8713 LET V$(13)="07ENTR"
|
||||
8714 LET V$(14)="07AVAN"
|
||||
8715 LET V$(15)="05HAUT"
|
||||
8716 LET V$(16)="06BAS"
|
||||
8717 LET V$(17)="13LIT"
|
||||
8718 LET V$(18)="35REGA"
|
||||
8719 LET V$(19)="14TOUR"
|
||||
8720 LET V$(20)="14RETO"
|
||||
8721 LET V$(21)="15PREN"
|
||||
8722 LET V$(22)="15RAMA"
|
||||
8723 LET V$(23)="16PAPI"
|
||||
8724 LET V$(24)="17ALLU"
|
||||
8725 LET V$(25)="18BOUG"
|
||||
8726 LET V$(26)="19APPU"
|
||||
8727 LET V$(27)="19ENFO"
|
||||
8728 LET V$(28)="20VERT"
|
||||
8729 LET V$(29)="21ROUG"
|
||||
8730 LET V$(30)="22OUTI"
|
||||
8731 LET V$(31)="23OUVR"
|
||||
8732 LET V$(32)="55DOUC"
|
||||
8733 LET V$(33)="25PLAC"
|
||||
8734 LET V$(34)="26PORT"
|
||||
8735 LET V$(35)="27ASCE"
|
||||
8736 LET V$(36)="28BRIQ"
|
||||
8737 LET V$(37)="29REPA"
|
||||
8738 LET V$(38)="29DEPA"
|
||||
8739 LET V$(39)="30RIEN"
|
||||
8740 LET V$(40)="31MACH"
|
||||
8741 LET V$(41)="32POSE"
|
||||
8742 LET V$(42)="33QUIT"
|
||||
8743 LET V$(43)="35DECR"
|
||||
8744 LET V$(44)="34INVE"
|
||||
8745 LET V$(45)="36CLEF"
|
||||
8746 LET V$(46)="31FILS"
|
||||
8747 LET V$(47)="37CORD"
|
||||
8748 LET V$(48)="38FENE"
|
||||
8749 LET V$(49)="39ACCR"
|
||||
8750 LET V$(50)="40SAUT"
|
||||
8751 LET V$(51)="39ATTA"
|
||||
8752 LET V$(52)="41SORT"
|
||||
8753 LET V$(53)="42FERM"
|
||||
8754 LET V$(54)="43CECI"
|
||||
8755 LET V$(55)="44ATTE"
|
||||
8756 LET V$(56)="45TAPE"
|
||||
8757 LET V$(57)="46FRAP"
|
||||
8758 LET V$(58)="47PASS"
|
||||
8759 LET V$(59)="47AVEN"
|
||||
8760 LET V$(60)="48PRES"
|
||||
8761 LET V$(61)="49MET "
|
||||
8762 LET V$(62)="50AVAL"
|
||||
8763 LET V$(63)="51GANT"
|
||||
8764 LET V$(64)="52K"
|
||||
8765 LET V$(65)="53Q"
|
||||
8766 LET V$(66)="54Z"
|
||||
8767 LET V$(67)="49ENFI"
|
||||
8768 LET V$(68)="56LASE"
|
||||
8769 LET V$(69)="56PIST"
|
||||
8770 LET V$(70)="57LIVR"
|
||||
8771 LET V$(71)="58DEMA"
|
||||
8772 LET V$(72)="58PILO"
|
||||
8773 LET V$(73)=" "
|
||||
|
||||
# TABLEAU SALLES (17)
|
||||
8799 LET R=18
|
||||
8800 DIM M$(18,14)
|
||||
#_________________00000000011111
|
||||
#_________________12345678901234
|
||||
8801 LET M$(1) ="00"
|
||||
8802 LET M$(2) ="0204040300"
|
||||
8803 LET M$(3) ="0405020200"
|
||||
8804 LET M$(4) ="040200"
|
||||
8805 LET M$(5) ="0106020300"
|
||||
8806 LET M$(6) ="0108030500"
|
||||
8807 LET M$(7) ="00"
|
||||
8808 LET M$(8) ="030600"
|
||||
8809 LET M$(9) ="00"
|
||||
8810 LET M$(10)="011100"
|
||||
8811 LET M$(11)="00"
|
||||
8812 LET M$(12)="00"
|
||||
8813 LET M$(13)="00"
|
||||
8814 LET M$(14)="021300"
|
||||
8815 LET M$(15)="05170216011300"
|
||||
8816 LET M$(16)="041500"
|
||||
8817 LET M$(17)="061500"
|
||||
8818 LET M$(18)="00"
|
||||
|
||||
8819 LET O=20
|
||||
# TABLEAU OBJET (20)
|
||||
8899 DIM Q(20)
|
||||
8900 DIM O$(21,16)
|
||||
#_________________0000000001111111
|
||||
#_________________1234567890123456
|
||||
8901 LET O$(1) ="BRIQUET"
|
||||
8902 LET O$(2) ="BRIQUET ALLUME"
|
||||
8903 LET O$(3) ="BOUGIE"
|
||||
8904 LET O$(4) ="BOUGIE ALLUMEE"
|
||||
8905 LET O$(5) ="PLACARD"
|
||||
8906 LET O$(6) ="OUTILS"
|
||||
8907 LET O$(7) ="PAPIER"
|
||||
8908 LET O$(8) ="FILS ARRACHES"
|
||||
8909 LET O$(9) ="FILS REPARES"
|
||||
8910 LET O$(10)="UNE CORDE"
|
||||
8911 LET O$(11)="GANTS CAOUTCHOUC"
|
||||
8912 LET O$(12)="GANTS ENFILES"
|
||||
8913 LET O$(13)="PILLULE K"
|
||||
8914 LET O$(14)="PILLULE K AVALEE"
|
||||
8915 LET O$(15)="PILLULE Z"
|
||||
8916 LET O$(16)="PILLULE Z AVALEE"
|
||||
8917 LET O$(17)="PILLULE Q"
|
||||
8918 LET O$(18)="PILLULE Q AVALEE"
|
||||
8919 LET O$(19)="PISTOLET LASER"
|
||||
8920 LET O$(20)="LIVRE"
|
||||
8921 LET O$(21)=" "
|
||||
8950 DIM Q(20)
|
||||
8951 LET Q(1)=2
|
||||
8952 LET Q(2)=0
|
||||
8953 LET Q(3)=2
|
||||
8954 LET Q(4)=0
|
||||
8955 LET Q(5)=6
|
||||
8956 LET Q(6)=7
|
||||
8957 LET Q(7)=3
|
||||
8958 LET Q(8)=6
|
||||
8959 LET Q(9)=0
|
||||
8960 LET Q(10)=10
|
||||
8961 LET Q(11)=16
|
||||
8962 LET Q(12)=0
|
||||
8963 LET Q(13)=13
|
||||
8964 LET Q(14)=0
|
||||
8965 LET Q(15)=13
|
||||
8966 LET Q(16)=0
|
||||
8967 LET Q(17)=13
|
||||
8968 LET Q(18)=0
|
||||
8969 LET Q(19)=13
|
||||
8970 LET Q(20)=16
|
||||
|
||||
8980 LET C=13
|
||||
8981 LET CP=0
|
||||
# TABLEAU CONDITIONS (12)
|
||||
#
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
# B NN: SI L OBJET NN EST PRESENT OU TRANSPORTE
|
||||
# C NN: SI L OBJET NN EST NON PRESENT OU NON TRANSPORTE
|
||||
# D NN: SI L OBJET NN EST TRANSPORTE
|
||||
# E NN: SI LE POINTEUR NN EST ACTIVE
|
||||
# F NN: SI LE POINTEUR NN N EST PAS ACTIVE
|
||||
# G NN: SI LE COMPTEUR NN EST ATTEINT LA VALEUR 1
|
||||
# H NN: SI LE NOMBRE ALEATOIRE (1-99) EST INFERIEUR A NN
|
||||
#
|
||||
|
||||
### COMPTEURS:
|
||||
### G1:
|
||||
### G4: VIE GENERATRICE.
|
||||
9000 DIM C$(13,21)
|
||||
#________________000000000111111111122
|
||||
#________________123456789012345678901
|
||||
9001 LET C$(1)="A04E05.D05Q."
|
||||
9002 LET C$(2)="E04F10.G0403E10."
|
||||
9003 LET C$(3)="G04A10.G0499F09D25."
|
||||
9004 LET C$(4)="A04F05.D20."
|
||||
9005 LET C$(5)="E06F10.G0405E10."
|
||||
9006 LET C$(6)="G04.D01Q."
|
||||
9007 LET C$(7)="A10E09.D26Q."
|
||||
9008 LET C$(8)="A10E07.F06F07F04F08."
|
||||
9009 LET C$(9)="A11F07.G0103E07."
|
||||
9010 LET C$(10)="A11G01.D35Q."
|
||||
9011 LET C$(11)="A12.F06F04."
|
||||
9012 LET C$(12)="A12.F08F05F07."
|
||||
9013 LET C$(13)=".N."
|
||||
|
||||
9014 LET A=92
|
||||
# TABLEAU ACTIONS (91)
|
||||
# A : AFFICHE LA LISTE DES OBJETS TRANSPORTES
|
||||
# A NN : DANS LA SALLE NN
|
||||
# B NN : TRANSPORTES OBJETS NN
|
||||
# C NN : POSE OBJETS NN
|
||||
# D NN : AFFICHE LE MESSAGE EN 7000+(NN*10)
|
||||
# E NN : ACTIVE LE POINTEUR NN
|
||||
# F NN : DESACTIVE LE POINTEUR NN
|
||||
# G NNMM : FIXE LE COMPTEUR (-) NN A MM
|
||||
# H NN : INVERSE LES LIGNES NN ET NN+1 DANS LE TABEAU OBJET
|
||||
# I NN : POSE OBJET NN DANS LA SALLE EN COURS
|
||||
# J NN : MET LE NO DE SALLE CONTENANT L OBJET NN A 0
|
||||
# K NN : FIXE LE NO DE SALLE EN COURS A LA VALEUR NN
|
||||
# L : AFFICHE D ACCORD ET ATTEND
|
||||
# M : ATTEND UNE NOUVELLE COMMANDE MAIS LE TABLEAU DES ACTIONS EST REPASSE EN REVUE
|
||||
# N : ATTEND UNE NOUVELLE COMMANDE
|
||||
# O : AFFICHE LA DESCRIPTION DE LA SALLE EN COURS
|
||||
# P : ETES VOUS SURE ? >>> STOP
|
||||
# Q : STOP
|
||||
|
||||
# E01:
|
||||
# E02:
|
||||
# E03: BRIQUET ALLUME.
|
||||
# E04: FENETRE.
|
||||
# E05: FEU ALUMME/PILULE Z.
|
||||
# E06: GENERATRICE.
|
||||
# E07: LIVRE LU.
|
||||
# E08: CLEF PLACARD/PILULE K.
|
||||
# E09: ASCENSSEUR OK.
|
||||
# E10: PIEGE ELECTRIQUE.
|
||||
# E11:
|
||||
|
||||
|
||||
9100 DIM A$(92,31)
|
||||
#_________________0000000001111111111222222222233
|
||||
#_________________1234567890123456789012345678901
|
||||
9101 LET A$(1) ="0700A01.D03K02O."
|
||||
9102 LET A$(2) ="3000A01.D04O."
|
||||
9103 LET A$(3) ="1528B01.S01L."
|
||||
9104 LET A$(4) ="1518B03.S03L."
|
||||
9105 LET A$(5) ="1718B03C01.D06N."
|
||||
9106 LET A$(6) ="1718B01B03.H03E05E03L."
|
||||
9107 LET A$(7) ="1728B01.H01E05E03L."
|
||||
9108 LET A$(8) ="3400.R00."
|
||||
9109 LET A$(9) ="3300.P00."
|
||||
9110 LET A$(10)="3500.O00."
|
||||
9111 LET A$(11)="3218B03.C03L."
|
||||
9112 LET A$(12)="3228B01.C01L."
|
||||
9113 LET A$(13)="1316D07.D07N."
|
||||
9114 LET A$(14)="1516B07.S07D22N."
|
||||
9115 LET A$(15)="1316C07.D08N."
|
||||
9116 LET A$(16)="1416C07.D08N."
|
||||
9117 LET A$(17)="1416D07.D09N."
|
||||
9118 LET A$(18)="1416D07.D09N."
|
||||
|
||||
### GENERATRICE (BOUTONS)
|
||||
### VERT
|
||||
9119 LET A$(19)="1920A05F06F04.E04D11D10N."
|
||||
### ROUGE
|
||||
9120 LET A$(20)="1921A05F06F04.D11E03E06N."
|
||||
9121 LET A$(21)="1921A05E04.D12N."
|
||||
|
||||
9122 LET A$(22)="1536A03F08.E08L."
|
||||
9123 LET A$(23)="2325A06F08.D23N."
|
||||
9124 LET A$(24)="2325A06E08C06.K07F08O."
|
||||
9125 LET A$(25)="1522A07B06.S06D24K06L."
|
||||
|
||||
9126 LET A$(26)="2325A06E08B06.K06N."
|
||||
|
||||
### REPARE MACHINERIE
|
||||
9127 LET A$(27)="2931A06D06E04B08.D13E07H08N."
|
||||
9128 LET A$(28)="2931A06D06E04B08.D14E07H08N."
|
||||
9129 LET A$(29)="2931A06D06F04F06B08.D15H08E07N."
|
||||
9130 LET A$(30)="2931A06C06B08.D16N."
|
||||
### ASCENSSEUR
|
||||
9131 LET A$(31)="0500A08E07E06.D17K09O."
|
||||
9132 LET A$(32)="0500A08F07F08.D18E08N."
|
||||
9133 LET A$(33)="0600A08F07F08.D18E08N."
|
||||
9134 LET A$(34)="0500A08F08F06.D18E08N."
|
||||
9135 LET A$(35)="0600A08F08F06.D18E08N."
|
||||
9136 LET A$(36)="0500A08E08.D19Q."
|
||||
9137 LET A$(37)="0600A08F08.D19Q."
|
||||
9138 LET A$(38)="0600A08E07E06.D19Q."
|
||||
### ASCENSSEUR HAUT
|
||||
9139 LET A$(39)="4100A09.E09K10O."
|
||||
9140 LET A$(40)="0600A09.D19Q."
|
||||
9141 LET A$(41)="3000A09.D27N."
|
||||
|
||||
### FENETRE/CORDE
|
||||
9142 LET A$(42)="2338A10F04.E04L."
|
||||
9143 LET A$(43)="2338A10E04.D29N."
|
||||
9144 LET A$(44)="4238A10E04.F04L."
|
||||
9145 LET A$(45)="4238A10F04.D29N."
|
||||
9146 LET A$(46)="3937A10E04F06.E06L."
|
||||
9147 LET A$(47)="0600A10E06.E08D30N."
|
||||
|
||||
### SAUT
|
||||
9148 LET A$(48)="4000A10E07.D21Q."
|
||||
9149 LET A$(49)="4000A10E04.D21Q."
|
||||
9150 LET A$(50)="4000A10F04.D32N."
|
||||
9151 LET A$(51)="0500A10E08.F08D33N."
|
||||
9152 LET A$(52)="4400A09.D27N."
|
||||
|
||||
### MOT DE PASSE
|
||||
9153 LET A$(53)="4300A11.D34K12O."
|
||||
9154 LET A$(54)="4543A11.D34K12O."
|
||||
9155 LET A$(55)="4643A11.D34K12O."
|
||||
|
||||
9156 LET A$(56)="3222B06.C06L."
|
||||
|
||||
### MACHINE A REMONTER LE TEMPS
|
||||
9157 LET A$(57)="1947A12.D31Q."
|
||||
9158 LET A$(58)="1948A12.K13O."
|
||||
|
||||
9159 LET A$(59)="4951B11F04.E04H11D36N."
|
||||
|
||||
9160 LET A$(60)="0400A13F04.D26Q."
|
||||
9161 LET A$(61)="0400A13E04.F04K14O."
|
||||
|
||||
### PILLULES
|
||||
## Q=MORT
|
||||
9162 LET A$(62)="5053B17.D37Q."
|
||||
## Z=E05 (IRRADIEE)
|
||||
9163 LET A$(63)="5054F05B15.E05H15L."
|
||||
9164 LET A$(64)="5054E05.D29N."
|
||||
## K=E08 (VITAMINES)
|
||||
9165 LET A$(65)="5052F08B13.E08H13L."
|
||||
9166 LET A$(66)="5052E08.D29N."
|
||||
###
|
||||
9167 LET A$(67)="1552B13.S13L."
|
||||
9168 LET A$(68)="1553B17.S17L."
|
||||
9169 LET A$(69)="1554B15.S15L."
|
||||
9170 LET A$(70)="3252B13.C13L."
|
||||
9171 LET A$(71)="3253B17.C17L."
|
||||
9172 LET A$(72)="3254B15.C15L."
|
||||
### PISTOLET LASER
|
||||
9173 LET A$(73)="1556B19.S19L."
|
||||
9174 LET A$(74)="3256B19.C19L."
|
||||
###
|
||||
9175 LET A$(75)="0300A13.E06K15O."
|
||||
### LIVRE
|
||||
9176 LET A$(76)="1557B20.S20L."
|
||||
9177 LET A$(77)="3257B20.C20L."
|
||||
9178 LET A$(78)="1357B20F07.D38E07N."
|
||||
9179 LET A$(79)="1357B20E07.D29N."
|
||||
### GANT
|
||||
9180 LET A$(80)="1551B11.S11L."
|
||||
9181 LET A$(81)="3251B11.C11L."
|
||||
|
||||
9182 LET A$(82)="5800A17F07.D39N."
|
||||
9183 LET A$(83)="5800A17E07.D44D21O."
|
||||
### SORTIE
|
||||
9184 LET A$(84)="1555A14F05.D40Q."
|
||||
9185 LET A$(85)="1555A14E06E05F08.F06F05L."
|
||||
9186 LET A$(86)="0600A14F08.D41Q."
|
||||
9187 LET A$(87)="1555A14E06E05E08.F06L."
|
||||
9188 LET A$(88)="0600A14E08F05F06.D42D43Q."
|
||||
9189 LET A$(89)="0600A14E08E05E06.D42D45D46Q."
|
||||
9190 LET A$(90)="0600A14E08E05F06.D42D43D45Q."
|
||||
9191 LET A$(91)="0600A14E08F05E06.D42D46Q."
|
||||
9192 LET A$(92)=".N."
|
||||
9193 RETURN
|
||||
|
||||
9200 GOSUB 8699
|
||||
9205 FOR A=1 TO 91
|
||||
9210 LET O=VAL(A$(A)(1 TO 2))
|
||||
9215 GOSUB 9500
|
||||
9216 LPRINT A;"=";E$;" ";
|
||||
9220 LET O=VAL(A$(A)(3 TO 4))
|
||||
9225 GOSUB 9500
|
||||
9226 LPRINT E$,":";
|
||||
9230 FOR B=5 TO 30
|
||||
9231 LET E$=A$(A)(B)
|
||||
9233 IF E$>="A" AND E$(1)<="K" THEN LET B=B+2
|
||||
9234 LPRINT E$(1);
|
||||
9235 IF E$<>" " THEN NEXT B
|
||||
9236 LPRINT
|
||||
9240 NEXT A
|
||||
9500 LET E$=""
|
||||
9501 IF O=0 THEN RETURN
|
||||
9505 FOR Z=1 TO 73
|
||||
9510 IF O<>VAL(V$(Z)(1 TO 2)) THEN NEXT Z
|
||||
9520 LET E$=V$(Z)(3 TO )
|
||||
9530 RETURN
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
|
||||
;; 10 PRINT USR 16514"tIL FAUDRAIT PEUT ETRE DU FEU..–AH,AH...VOUS ETES PRISONNIEr"
|
||||
|
||||
|
||||
EXTERR .equ $005B ; Basic Break function ! Ignore line instructions.
|
||||
CURSEUR .equ $8F5 ; Point to PRINT AT DEST.(BC=X,Y)
|
||||
CHAINE .equ $B6B ; PRINT A CHAINE (BC=LEN;DE=TEXT LOC)
|
||||
|
||||
|
||||
.Org $417B
|
||||
|
||||
LD HL,($4016)
|
||||
LD BC,($407B)
|
||||
NEXTCHAR:
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
CP $76
|
||||
JP Z,EXTERR
|
||||
BIT 7,A
|
||||
JR Z,NEXTCHAR
|
||||
DEC BC
|
||||
LD A,B
|
||||
OR C
|
||||
JR NZ,NEXTCHAR
|
||||
DISPLAY:
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
BIT 7,A
|
||||
JR NZ,DISPLAY2
|
||||
CP $0C
|
||||
JR Z,NEXTLINE
|
||||
CP $01
|
||||
JR NZ,DISPLAY3
|
||||
LD A,11
|
||||
DISPLAY3:
|
||||
RST 10H
|
||||
JR DISPLAY
|
||||
DISPLAY2:
|
||||
RES 7,A
|
||||
RST 10H
|
||||
JP $005B
|
||||
NEXTLINE:
|
||||
LD DE,($400E)
|
||||
NEXTCHR:
|
||||
LD A,(DE)
|
||||
CP $76
|
||||
JR Z,DISPLAY
|
||||
;EX DE,HL
|
||||
;LD (HL),0
|
||||
;EX DE,HL
|
||||
LD A,0
|
||||
RST 10h
|
||||
INC DE
|
||||
JR NEXTCHR
|
||||
|
||||
;TITRE REM TO SCREEN
|
||||
|
||||
LD DE,16514 ; FROM REM LINE
|
||||
LD BC,$0606
|
||||
LD ($407B),BC
|
||||
|
||||
NXTLINE:
|
||||
PUSH DE
|
||||
CALL CURSEUR
|
||||
POP DE
|
||||
LD H,D
|
||||
LD L,E
|
||||
LD BC,23
|
||||
PUSH DE
|
||||
CALL CHAINE
|
||||
POP DE
|
||||
EX DE,HL
|
||||
LD BC,32
|
||||
ADD HL,BC
|
||||
EX DE,HL
|
||||
|
||||
LD BC,($407B)
|
||||
INC B
|
||||
LD ($407B),BC
|
||||
LD A,B
|
||||
CP 14
|
||||
JR Z,EXIT
|
||||
JR NXTLINE
|
||||
EXIT:
|
||||
LD BC,$0607
|
||||
LD ($407B),BC
|
||||
RET
|
||||
|
||||
.end
|
|
@ -0,0 +1,824 @@
|
|||
1 REM ***********************
|
||||
2 REM ** LA MAISON **
|
||||
3 REM ** DU PROFESSEUR **
|
||||
4 REM ** FOLIBUS **
|
||||
5 REM ***********************
|
||||
6 REM PROGRAMME ECRIT PAR \
|
||||
ALAIN BREGEON
|
||||
7 REM LES LIGNES 10 A 6040 \
|
||||
ET 9000 A 9999 ONT \
|
||||
ETE REPRODUITES DE L OUVRAGE\
|
||||
ÀLE PETIT LIVRE DU ZX81À \
|
||||
(DÀAPRES ÀTHE ZX81 POCKET BOOKÀ\
|
||||
DE PHIPPS ASSOCIATES) AVEC LÀ\
|
||||
AUTORISATION DÀEDITIONS DU PSI
|
||||
8 GOSUB 8699
|
||||
9 SAVE"FOLIBUSDATAS"
|
||||
10 DIM S(10)
|
||||
15 DIM C(5)
|
||||
20 LET O=20
|
||||
30 LET SALLE=1
|
||||
40 DIM P$(2,2)
|
||||
50 DIM O(O)
|
||||
60 FOR X=1 TO O
|
||||
70 LET O(X)=Q(X)
|
||||
80 NEXT X
|
||||
90 RAND
|
||||
100 IF NOT S(2) THEN GOTO 200
|
||||
110 IF C(2) THEN LET C(2)=C(2)-1
|
||||
120 IF S(3) THEN GOTO 200
|
||||
130 PRINT "ON NÀY VOIT RIEN,MIEUX VAUDRAIT","ALLUMER POUR EVITER LES ENNUIS."
|
||||
140 IF C(3) THEN LET C(3)=C(3)-1
|
||||
150 GOTO 1000
|
||||
200 REM DESCRIPTION DE LA SALLE
|
||||
210 PRINT
|
||||
220 GOSUB 8000+SALLE*10
|
||||
300 LET F=0
|
||||
310 FOR X=1 TO O
|
||||
320 IF O(X)<>SALLE THEN GOTO 500
|
||||
330 IF F THEN GOTO 400
|
||||
340 PRINT ,,"IL Y A AUSSI:"
|
||||
350 LET F=1
|
||||
400 PRINT " ";O$(X)
|
||||
500 NEXT X
|
||||
#
|
||||
1000 REM ACCEPTATION DE LA COMMANDE
|
||||
1010 LET T=1
|
||||
1020 GOTO 2000
|
||||
1100 IF C(1) THEN LET C(1)=C(1)-1
|
||||
1110 IF C(4) THEN LET C(4)=C(4)-1
|
||||
1120 PRINT ,,"QUE FAITES-VOUS? >";SALLE;"(";C(4);")";
|
||||
1130 INPUT Y$
|
||||
1140 CLS
|
||||
1150 LET Y=0
|
||||
1160 PRINT ">";Y$
|
||||
1170 LET P$(2)="00"
|
||||
1200 FOR W=1 TO 2
|
||||
1210 GOSUB 6000
|
||||
1220 IF Y>=LEN Y$ THEN GOTO 1300
|
||||
1230 IF P$(W)="00" THEN GOTO 1210
|
||||
1240 NEXT W
|
||||
1300 IF P$(1)<>"00" THEN GOTO 1600
|
||||
1310 PRINT "PARDON?"
|
||||
1320 GOTO 100
|
||||
1600 REM CONTROLE DU MOUVEMENT
|
||||
1610 LET Z=1
|
||||
1620 LET T$=M$(SALLE)(Z TO Z+1)
|
||||
1630 IF T$="00" THEN GOTO 1900
|
||||
1640 IF T$<>P$(1) THEN GOTO 1700
|
||||
1650 LET SALLE=VAL(M$(SALLE)(Z+2 TO Z+3))
|
||||
1660 GOTO 100
|
||||
1700 LET Z=Z+4
|
||||
1710 GOTO 1620
|
||||
1900 LET T=0
|
||||
1910 LET CORRESP=0
|
||||
2000 REM COTROLE DES CONDITIONS
|
||||
2010 LET CP=0
|
||||
2100 LET CP=CP+1
|
||||
2110 IF NOT T THEN GOTO 2300
|
||||
2120 LET E$=C$(CP)
|
||||
2130 GOTO 2600
|
||||
2300 IF CP<=A THEN GOTO 2400
|
||||
2310 IF CORRESP THEN GOTO 1000
|
||||
2320 PRINT"IMPOSSIBLE";
|
||||
2330 IF VAL(P$(1))<13 THEN PRINT" DE PRENDRE CETTE","DIRECTION";
|
||||
2340 PRINT "."
|
||||
2350 GOTO 100
|
||||
2400 IF A$(CP)(1 TO 2)<>P$(1) THEN GOTO 2100
|
||||
2410 LET Y$=A$(CP)(3 TO 4)
|
||||
2420 IF Y$<>"00" AND Y$<>P$(2) THEN GOTO 2100
|
||||
2430 LET E$=A$(CP)(5 TO)
|
||||
2600 REM CONDITIONS
|
||||
2610 LET E=1
|
||||
2700 IF E$(E)="." THEN GOTO 3000
|
||||
2710 LET TYPE=CODE(E$(E))-38
|
||||
2720 LET N=VAL(E$(E+1 TO E+2))
|
||||
#
|
||||
2800 GOSUB 2900+TYPE*10
|
||||
#
|
||||
2810 IF NOT OK THEN GOTO 2100
|
||||
2820 LET E=E+3
|
||||
2830 GOTO 2700
|
||||
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
|
||||
2900 LET OK=(N=SALLE)
|
||||
2905 RETURN
|
||||
|
||||
# B NN: SI L OBJET NN EST PRESENT OU TRANSPORTE
|
||||
|
||||
2910 LET OK=(O(N)=SALLE OR O(N)<0)
|
||||
2915 RETURN
|
||||
|
||||
# C NN: SI L OBJET NN EST NON PRESENT OU NON TRANSPORTE
|
||||
|
||||
2920 LET OK=(O(N)<>SALLE AND O(N)>=0)
|
||||
2925 RETURN
|
||||
|
||||
# D NN: SI L OBJET NN EST TRANSPORTE
|
||||
|
||||
2930 LET OK=(O(N)<0)
|
||||
2935 RETURN
|
||||
|
||||
# E NN: SI LE POINTEUR NN EST ACTIVE
|
||||
|
||||
2940 LET OK=S(N)
|
||||
2945 RETURN
|
||||
|
||||
# F NN: SI LE POINTEUR NN N EST PAS ACTIVE
|
||||
|
||||
2950 LET OK=(NOT S(N))
|
||||
2955 RETURN
|
||||
|
||||
# G NN: SI LE COMPTEUR NN A ATTEINT LA VALEUR 1
|
||||
|
||||
2960 LET OK=(C(N)=1)
|
||||
2965 RETURN
|
||||
|
||||
# H NN: SI LE NOMBRE ALEATOIRE (1-99) EST INFERIEUR A NN
|
||||
|
||||
2970 LET OK=((INT(RND*100)+1)<=N)
|
||||
2975 RETURN
|
||||
|
||||
3000 REM ACTIONS
|
||||
3010 LET CORRESP=1
|
||||
3020 LET E=E+1
|
||||
3100 IF E$(E)="." THEN GOTO 2100
|
||||
3110 LET TYPE=CODE(E$(E))-38
|
||||
3120 IF E$(E+1)<>"." THEN LET N=VAL(E$(E+1 TO E+2))
|
||||
3200 LET BREAK=0
|
||||
###
|
||||
3205 PRINT E$(E);";";
|
||||
3210 GOSUB 4000+TYPE*100
|
||||
###
|
||||
3220 IF BREAK THEN GOTO BREAK
|
||||
3230 LET E=E+3
|
||||
3240 GOTO 3100
|
||||
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
## 4000 GOSUB 2910
|
||||
## 4010 RETURN
|
||||
|
||||
### B NN : TRANSPORTES OBJETS NN
|
||||
|
||||
### OBJET DANS L'INVENTAIRE
|
||||
## 4100 IF O(N)=-1 THEN GOTO 4110
|
||||
## 4102 IF Q(SALLE)=0 THEN GOTO 4110
|
||||
## 4103 LET OK=1
|
||||
## 4105 RETURN
|
||||
## 4110 PRINT "UN QUOI?"
|
||||
## 4120 LET BREAK=100
|
||||
## 4130 RETURN
|
||||
4100 IF S(1)<5 THEN GOTO 4140
|
||||
4110 PRINT "VOUS NE POUVEZ PORTER PLUS"
|
||||
4120 LET BREAK=100
|
||||
4130 RETURN
|
||||
4140 IF O(N)=-1 THEN GOTO 4180
|
||||
4150 LET O(N)=-1
|
||||
4160 LET S(1)=S(1)+1
|
||||
4170 RETURN
|
||||
4180 PRINT "VOUS LÀAVEZ DEJA"
|
||||
4190 GOTO 4120
|
||||
|
||||
### C NN : POSE OBJETS NN
|
||||
|
||||
4200 IF O(N)=-1 THEN GOTO 4240
|
||||
4210 PRINT "VOUS NÀAVEZ PAS ";O$(N)
|
||||
4220 LET BREAK=100
|
||||
4230 RETURN
|
||||
4240 LET O(N)=SALLE
|
||||
4250 LET S(1)=S(1)-1
|
||||
4260 RETURN
|
||||
|
||||
### D NN : AFFICHE LE MESSAGE EN 7000+(NN*10)
|
||||
|
||||
4300 PRINT
|
||||
4310 GOSUB 7000+N*10
|
||||
4320 RETURN
|
||||
|
||||
### E NN : ACTIVE LE POINTEUR NN
|
||||
|
||||
4400 LET S(N)=1
|
||||
4410 RETURN
|
||||
|
||||
### F NN : DESACTIVE LE POINTEUR NN
|
||||
|
||||
4500 LET S(N)=0
|
||||
4510 RETURN
|
||||
|
||||
### G NNMM : FIXE LE COMPTEUR (-) NN A MM
|
||||
|
||||
4600 LET C(N)=VAL (E$(E+3 TO E+4))
|
||||
4610 LET E=E+2
|
||||
4620 RETURN
|
||||
|
||||
### H NN : INVERSE LES LIGNES NN ET NN+1 DANS LE TABEAU OBJET
|
||||
|
||||
4700 LET X=O(N)
|
||||
4710 LET O(N)=O(N+1)
|
||||
4720 LET O(N+1)=X
|
||||
4730 RETURN
|
||||
|
||||
### I NN : POSE OBJET NN DANS LA SALLE EN COURS
|
||||
|
||||
4800 LET O(N)=SALLE
|
||||
4810 RETURN
|
||||
|
||||
### J NN : MET LE NO DE SALLE CONTENANT L OBJET NN A 0
|
||||
|
||||
4900 IF O(N)<0 THEN LET S(1)=S(1)-1
|
||||
4910 LET O(N)=0
|
||||
4920 RETURN
|
||||
|
||||
### K NN : FIXE LE NO DE SALLE EN COURS A LA VALEUR NN
|
||||
|
||||
5000 LET SALLE=N
|
||||
5010 RETURN
|
||||
|
||||
### L : AFFICHE D ACCORD ET ATTEND
|
||||
|
||||
5100 PRINT "DÀACCORD"
|
||||
|
||||
### M : ATTEND UNE NOUVELLE COMMANDE MAIS RESANNE LE TABLEAU DES ACTIONS
|
||||
|
||||
5200 LET BREAK=1000
|
||||
5210 RETURN
|
||||
|
||||
### N : ATTEND UNE NOUVELLE COMMANDE
|
||||
|
||||
5300 LET BREAK=1100
|
||||
5310 RETURN
|
||||
|
||||
### O : AFFICHE LA DESCRIPTION DE LA SALLE EN COURS
|
||||
|
||||
5400 LET BREAK=100
|
||||
5410 RETURN
|
||||
|
||||
### P : ETES VOUS SURE ? >>> STOP
|
||||
|
||||
5500 PRINT "ETES VOUS SUR ?";
|
||||
5510 INPUT W$
|
||||
5520 PRINT W$
|
||||
5530 IF CHR$ CODE W$<>"O" THEN RETURN
|
||||
|
||||
### Q : STOP
|
||||
|
||||
5600 GOTO 9999
|
||||
|
||||
### R : INVENTAIRE
|
||||
### AFFICHE LA LISTE DES OBJETS TRANSPORTES
|
||||
###
|
||||
5700 PRINT
|
||||
5710 PRINT "VOUS TENEZ:"
|
||||
5720 LET F=1
|
||||
5730 FOR X=1 TO O
|
||||
5740 IF O(X)>=0 THEN GOTO 5770
|
||||
5750 PRINT " ";O$(X)
|
||||
5760 LET F=0
|
||||
5770 NEXT X
|
||||
5780 IF F THEN PRINT ,"RIEN."
|
||||
5790 LET BREAK=100
|
||||
5795 RETURN
|
||||
|
||||
### S PRENDRE UN OBJET
|
||||
5800 IF S(1)<5 THEN GOTO 4140
|
||||
5810 PRINT "VOUS NE POUVEZ PORTER PLUS"
|
||||
5820 LET BREAK=100
|
||||
5830 RETURN
|
||||
5840 IF O(N)=-1 THEN GOTO 4180
|
||||
5850 LET O(N)=-1
|
||||
5860 LET S(1)=S(1)+1
|
||||
5870 RETURN
|
||||
5880 PRINT "VOUS LÀAVEZ DEJA"
|
||||
5890 GOTO 4120
|
||||
|
||||
6000 REM ANALYSE LE MOT
|
||||
6010 DIM W$(4)
|
||||
6015 LET P$(W)="00"
|
||||
6020 GOSUB 6600
|
||||
6025 IF FIN THEN RETURN
|
||||
6030 FOR Q=1 TO 4
|
||||
6040 LET W$(Q)=Y$(Y)
|
||||
6050 GOSUB 6500
|
||||
6060 IF FIN THEN GOTO 6100
|
||||
6070 NEXT Q
|
||||
6080 GOSUB 6500
|
||||
6090 IF NOT FIN THEN GOTO 6080
|
||||
6100 IF W$=" " THEN RETURN
|
||||
6110 FOR Q=1 TO V
|
||||
6120 IF W$=V$(Q)(3 TO) THEN GOTO 6200
|
||||
6130 NEXT Q
|
||||
6140 RETURN
|
||||
6200 LET P$(W)=V$(Q)(TO 2)
|
||||
6210 RETURN
|
||||
6500 LET Y=Y+1
|
||||
6510 LET FIN=(Y>LEN Y$)
|
||||
6520 IF FIN THEN RETURN
|
||||
6530 LET FIN=(Y$(Y)=" ")
|
||||
6540 RETURN
|
||||
6600 LET Y=Y+1
|
||||
6610 LET FIN=(Y>LEN Y$)
|
||||
6620 IF FIN THEN RETURN
|
||||
6630 IF Y$(Y)=" " THEN GOTO 6600
|
||||
6640 RETURN
|
||||
#
|
||||
7010 PRINT "LA GENERATRICE VIENT DÀEXPLOSER","LA MAISON NÀEXISTE PLUS,VOUS NONPLUS."
|
||||
7015 RETURN
|
||||
7020 PRINT "LÀASCENSSEUR NE BOUGE PAS.","IL FAUT PEUT ETRE DU COURANT?"
|
||||
7025 RETURN
|
||||
7030 PRINT "LA PORTE VIENT DE SE FERMER","IMPOSSIBLE DE LÀOUVRIR"
|
||||
7035 RETURN
|
||||
7040 PRINT "VOUS AVEZ RAISON.LA CURIOSITE","EST UN VILAIN DEFAUT..."
|
||||
7045 RETURN
|
||||
7050 PRINT "LÀODEUR QUE VOUS SENTIEZ ETAIT","CELLE DÀUN GAZ EXPLOSIF.VOUS","ETES MORT."
|
||||
7055 RETURN
|
||||
7060 PRINT "IL FAUDRAIT PEUT ETRE DU FEU..."
|
||||
7065 RETURN
|
||||
7070 PRINT "AH,AH...VOUS ETES PRISONNIER"
|
||||
7075 RETURN
|
||||
7080 PRINT "VOUS AVEZ DIT PAPIER?QUEL PAPIER"
|
||||
7085 RETURN
|
||||
7090 PRINT "BRAVEZ LES INTERDITS."
|
||||
7095 RETURN
|
||||
7100 PRINT "ELLE A LÀAIR DE SÀEMBALLER..."
|
||||
7105 RETURN
|
||||
7110 PRINT "LA GENERATRICE SE MET EN MARCHE"
|
||||
7115 RETURN
|
||||
7120 PRINT "IMPOSSIBLE,ELLE NE VEUT RIEN","SAVOIR."
|
||||
7125 RETURN
|
||||
7130 PRINT "BRAVO,JE NE SAVAIS PAS QUE VOUS","AVIEZ DES DONS DÀELECTRICIEN."
|
||||
7135 RETURN
|
||||
7140 PRINT "VOTRE MACHINE EST REPAREE.MAIS","ELLE SENT LE CHAUD."
|
||||
7145 RETURN
|
||||
7150 PRINT "LA MACHINE EST REPAREE.DOMMAGE","QUÀIL NÀY AIT PAS DE COURANT."
|
||||
7155 RETURN
|
||||
7160 PRINT "IL FAUDRAIT PEUT-ETRE DES OUTILS"
|
||||
7165 RETURN
|
||||
7170 PRINT "LÀASCENSEUR SEMBLE MONTER..."
|
||||
7175 RETURN
|
||||
7180 PRINT "LÀASCENSEUR NE BOUGE PAS"
|
||||
7185 RETURN
|
||||
7190 PRINT "LE CABLE VIENT DE CASSER.VOUS","VOUS ECRASEZ EN BAS:MORT"
|
||||
7195 RETURN
|
||||
7200 PRINT "IL FAIT NOIR.IL FAUT ALLUMER"
|
||||
7205 RETURN
|
||||
7210 PRINT "VOUS VOUS ECRASEZ AU SOL"
|
||||
7215 RETURN
|
||||
7220 PRINT "IL Y A UNE CLEF."
|
||||
7225 RETURN
|
||||
7230 PRINT "LA PORTE EST FERMEE A CLEF"
|
||||
7235 RETURN
|
||||
7240 PRINT "TIENS,LA PORTE DU PLACARD SE","REFERME."
|
||||
7245 RETURN
|
||||
7250 PRINT "LA GENERATRICE VIENT DÀEXPLOSER,","LÀASCENSSEUR EST DETRUIT.VOUS EN","ECHAPPEZ DE JUSTESSE"
|
||||
7255 RETURN
|
||||
7260 PRINT "VOUS ETES MORT ELECTROCUTE"
|
||||
7265 RETURN
|
||||
7270 PRINT "VOUS AVEZ RAISON,RIEN NE SERT DE COURRIR."
|
||||
7275 RETURN
|
||||
7280 PRINT "DEHORS IL FAIT NOIR,ON NE VOIT PAS LE SOL."
|
||||
7285 RETURN
|
||||
7290 PRINT "CÀEST DEJA FAIT."
|
||||
7295 RETURN
|
||||
7300 PRINT "VOUS ETES AU BOUT DE LA CORDE."
|
||||
7305 RETURN
|
||||
7310 PRINT "VRAIMENT PAS AU POINT CETTE","MACHINE.VOUS ETES MORT"
|
||||
7315 RETURN
|
||||
7320 PRINT "IL FAUDRAIT PEUT ETRE OUVRIR LA","FENETRE."
|
||||
7325 RETURN
|
||||
7330 PRINT "TANT PIS.ON A ESSAYE."
|
||||
7335 RETURN
|
||||
7340 PRINT "BRAVO,QUEL TRAIT DE GENIE."
|
||||
7345 RETURN
|
||||
7350 PRINT "UNE TRAPPE SÀOUVRE SOUS VOS","PIEDS.VOUS ETES MORT."
|
||||
7355 RETURN
|
||||
7360 PRINT "SAGE PRECAUTION."
|
||||
7365 RETURN
|
||||
7370 PRINT "CÀEST DU POISON.VOUS ETES MORT."
|
||||
7375 RETURN
|
||||
7380 PRINT "VOUS APPRENEZ A PILOTER UNE","SOUCOUPE EN 1 LECON"
|
||||
7385 RETURN
|
||||
7390 PRINT "CA NE SE PILOTE PAS COMME CA"
|
||||
7395 RETURN
|
||||
7400 PRINT "CÀEST DE LÀACIDE.VOUS ETES MORT."
|
||||
7405 RETURN
|
||||
7410 PRINT "IL Y A DE LÀEAU.VOUS VOUS NOYEZ"
|
||||
7415 RETURN
|
||||
7420 PRINT "OUF,VOUS VOUS RETROUVEZ DEHORS.."
|
||||
7425 RETURN
|
||||
7430 PRINT "SAIN ET SAUF..."
|
||||
7435 RETURN
|
||||
7440 PRINT "CA MARCHE...MAIS IL NÀY AVAIT","PAS ASSEZ DE CARBURANT."
|
||||
7445 RETURN
|
||||
7450 PRINT "MAIS,VOUS ETES TOUT BLEU","CE DOIT ETRE LES PILLULES"
|
||||
7455 RETURN
|
||||
7460 PRINT "ET IRRADIE.VOUS MOUREZ AU BOUT","DE QUELQUES JOURS"
|
||||
7465 RETURN
|
||||
8010 PRINT"VOUS ETES DEVANT UNE MAISON","LA PORTE EST OUVERTE."
|
||||
8015 RETURN
|
||||
8020 PRINT"VOUS ETES DANS UN COULOIR,IL Y A UNE PORTE A LÀEST ET UNE PORTE","A LÀOUEST."
|
||||
8025 RETURN
|
||||
8030 PRINT"VOUS ETES DANS UN SALON,","IL Y A UNE PORTE A LÀOUEST."
|
||||
8035 RETURN
|
||||
8040 PRINT"IL Y A UNE DROLE DÀODEUR."
|
||||
8045 RETURN
|
||||
8050 PRINT"IL Y A UNE GROSSE MACHINE QUI","RESSEMBLE A 1 GENERATRICE AVEC","UN BOUTON VERT, UN BOUTON ROUGE","IL Y A UNE PORTE AU NORD."
|
||||
8055 RETURN
|
||||
8060 PRINT "UNE MACHINERIE DÀASCENCEUR,UNE","PORTE AU NORD"
|
||||
8065 RETURN
|
||||
8070 PRINT "IL Y A PLEIN DE MATERIEL."
|
||||
8075 RETURN
|
||||
8080 PRINT "VOUS ETES DANS UN ASCENCEUR.IL Y A UN BOUTON HAUT,UN BOUTON BAS"
|
||||
8085 RETURN
|
||||
8090 PRINT "LÀASCENCEUR VIENT DE SÀARRETER."
|
||||
8095 RETURN
|
||||
8100 PRINT "LA PIECE EST HUMIDE,IL Y A DES","FILS QUI TRAINENT PAR TERRE IL YA UNE FENETRE ET UNE PORTE AU N."
|
||||
8105 RETURN
|
||||
8110 PRINT "LA PORTE VIENT DE SE REFERMER.BONJOUR..COMMENT","ECRIVEZ VOUS CECI EN 4 LETTRES"
|
||||
8115 RETURN
|
||||
8120 PRINT "VOUS ETES DANS UNE MACHINE A","REMONTER LE TEMPS 3 BOUTONS:","PASSE,PRESENT ET AVENIR"
|
||||
8125 RETURN
|
||||
8130 PRINT "VOUS VOUS RETROUVEZ DANS LE","LABORATOIRE DU PROFESSEUR.IL Y A ";"UNE PORTE EN FER A LÀOUEST"," PORTE AU SUD MARQUE DANGER."
|
||||
8135 RETURN
|
||||
8140 PRINT "IL Y A UNE DOUCHE,UN TROU DANS","LE SOL"
|
||||
8145 RETURN
|
||||
8150 PRINT "IL Y A UN CUBE NOIR DÀAU MOINS","UNE TONNE,UNE ECHELLE MONTE.UNE","PORTE A LÀEST"
|
||||
8155 RETURN
|
||||
8160 PRINT "VOUS ETES DANS UNE BIBLIOTHEQUE"
|
||||
8165 RETURN
|
||||
8170 PRINT "VOUS ETES DANS UNE SOUCOUPE SUR","UNE TERRASSE"
|
||||
8175 RETURN
|
||||
|
||||
# TABLEAU VOCABULAIRE (72)
|
||||
8699 LET V=73
|
||||
8700 DIM V$(73,6)
|
||||
#_________________000000
|
||||
#_________________123456
|
||||
#_________________##$$$$
|
||||
8701 LET V$(1) ="01N "
|
||||
8702 LET V$(2) ="01NORD"
|
||||
8703 LET V$(3) ="02E"
|
||||
8704 LET V$(4) ="02EST "
|
||||
8705 LET V$(5) ="03S "
|
||||
8706 LET V$(6) ="03SUD "
|
||||
8707 LET V$(7) ="04O"
|
||||
8708 LET V$(8) ="04OUES"
|
||||
8709 LET V$(9) ="05H "
|
||||
8710 LET V$(10)="05MONT"
|
||||
8711 LET V$(11)="06D "
|
||||
8712 LET V$(12)="06DESC"
|
||||
8713 LET V$(13)="07ENTR"
|
||||
8714 LET V$(14)="07AVAN"
|
||||
8715 LET V$(15)="05HAUT"
|
||||
8716 LET V$(16)="06BAS"
|
||||
8717 LET V$(17)="13LIT"
|
||||
8718 LET V$(18)="35REGA"
|
||||
8719 LET V$(19)="14TOUR"
|
||||
8720 LET V$(20)="14RETO"
|
||||
8721 LET V$(21)="15PREN"
|
||||
8722 LET V$(22)="15RAMA"
|
||||
8723 LET V$(23)="16PAPI"
|
||||
8724 LET V$(24)="17ALLU"
|
||||
8725 LET V$(25)="18BOUG"
|
||||
8726 LET V$(26)="19APPU"
|
||||
8727 LET V$(27)="19ENFO"
|
||||
8728 LET V$(28)="20VERT"
|
||||
8729 LET V$(29)="21ROUG"
|
||||
8730 LET V$(30)="22OUTI"
|
||||
8731 LET V$(31)="23OUVR"
|
||||
8732 LET V$(32)="55DOUC"
|
||||
8733 LET V$(33)="25PLAC"
|
||||
8734 LET V$(34)="26PORT"
|
||||
8735 LET V$(35)="27ASCE"
|
||||
8736 LET V$(36)="28BRIQ"
|
||||
8737 LET V$(37)="29REPA"
|
||||
8738 LET V$(38)="29DEPA"
|
||||
8739 LET V$(39)="30RIEN"
|
||||
8740 LET V$(40)="31MACH"
|
||||
8741 LET V$(41)="32POSE"
|
||||
8742 LET V$(42)="33QUIT"
|
||||
8743 LET V$(43)="35DECR"
|
||||
8744 LET V$(44)="34INVE"
|
||||
8745 LET V$(45)="36CLEF"
|
||||
8746 LET V$(46)="31FILS"
|
||||
8747 LET V$(47)="37CORD"
|
||||
8748 LET V$(48)="38FENE"
|
||||
8749 LET V$(49)="39ACCR"
|
||||
8750 LET V$(50)="40SAUT"
|
||||
8751 LET V$(51)="39ATTA"
|
||||
8752 LET V$(52)="41SORT"
|
||||
8753 LET V$(53)="42FERM"
|
||||
8754 LET V$(54)="43CECI"
|
||||
8755 LET V$(55)="44ATTE"
|
||||
8756 LET V$(56)="45TAPE"
|
||||
8757 LET V$(57)="46FRAP"
|
||||
8758 LET V$(58)="47PASS"
|
||||
8759 LET V$(59)="47AVEN"
|
||||
8760 LET V$(60)="48PRES"
|
||||
8761 LET V$(61)="49MET "
|
||||
8762 LET V$(62)="50AVAL"
|
||||
8763 LET V$(63)="51GANT"
|
||||
8764 LET V$(64)="52K"
|
||||
8765 LET V$(65)="53Q"
|
||||
8766 LET V$(66)="54Z"
|
||||
8767 LET V$(67)="49ENFI"
|
||||
8768 LET V$(68)="56LASE"
|
||||
8769 LET V$(69)="56PIST"
|
||||
8770 LET V$(70)="57LIVR"
|
||||
8771 LET V$(71)="58DEMA"
|
||||
8772 LET V$(72)="58PILO"
|
||||
8773 LET V$(73)=" "
|
||||
|
||||
# TABLEAU SALLES (17)
|
||||
8799 LET R=18
|
||||
8800 DIM M$(18,14)
|
||||
#_________________00000000011111
|
||||
#_________________12345678901234
|
||||
8801 LET M$(1) ="00"
|
||||
8802 LET M$(2) ="0204040300"
|
||||
8803 LET M$(3) ="0405020200"
|
||||
8804 LET M$(4) ="040200"
|
||||
8805 LET M$(5) ="0106020300"
|
||||
8806 LET M$(6) ="0108030500"
|
||||
8807 LET M$(7) ="00"
|
||||
8808 LET M$(8) ="030600"
|
||||
8809 LET M$(9) ="00"
|
||||
8810 LET M$(10)="011100"
|
||||
8811 LET M$(11)="00"
|
||||
8812 LET M$(12)="00"
|
||||
8813 LET M$(13)="00"
|
||||
8814 LET M$(14)="021300"
|
||||
8815 LET M$(15)="05170216011300"
|
||||
8816 LET M$(16)="041500"
|
||||
8817 LET M$(17)="061500"
|
||||
8818 LET M$(18)="00"
|
||||
|
||||
8819 LET O=20
|
||||
# TABLEAU OBJET (20)
|
||||
8899 DIM Q(20)
|
||||
8900 DIM O$(21,16)
|
||||
#_________________0000000001111111
|
||||
#_________________1234567890123456
|
||||
8901 LET O$(1) ="BRIQUET"
|
||||
8902 LET O$(2) ="BRIQUET ALLUME"
|
||||
8903 LET O$(3) ="BOUGIE"
|
||||
8904 LET O$(4) ="BOUGIE ALLUMEE"
|
||||
8905 LET O$(5) ="PLACARD"
|
||||
8906 LET O$(6) ="OUTILS"
|
||||
8907 LET O$(7) ="PAPIER"
|
||||
8908 LET O$(8) ="FILS ARRACHES"
|
||||
8909 LET O$(9) ="FILS REPARES"
|
||||
8910 LET O$(10)="UNE CORDE"
|
||||
8911 LET O$(11)="GANTS CAOUTCHOUC"
|
||||
8912 LET O$(12)="GANTS ENFILES"
|
||||
8913 LET O$(13)="PILLULE K"
|
||||
8914 LET O$(14)="PILLULE K AVALEE"
|
||||
8915 LET O$(15)="PILLULE Z"
|
||||
8916 LET O$(16)="PILLULE Z AVALEE"
|
||||
8917 LET O$(17)="PILLULE Q"
|
||||
8918 LET O$(18)="PILLULE Q AVALEE"
|
||||
8919 LET O$(19)="PISTOLET LASER"
|
||||
8920 LET O$(20)="LIVRE"
|
||||
8921 LET O$(21)=" "
|
||||
8950 DIM Q(20)
|
||||
8951 LET Q(1)=2
|
||||
8952 LET Q(2)=0
|
||||
8953 LET Q(3)=2
|
||||
8954 LET Q(4)=0
|
||||
8955 LET Q(5)=6
|
||||
8956 LET Q(6)=7
|
||||
8957 LET Q(7)=3
|
||||
8958 LET Q(8)=6
|
||||
8959 LET Q(9)=0
|
||||
8960 LET Q(10)=10
|
||||
8961 LET Q(11)=16
|
||||
8962 LET Q(12)=0
|
||||
8963 LET Q(13)=13
|
||||
8964 LET Q(14)=0
|
||||
8965 LET Q(15)=13
|
||||
8966 LET Q(16)=0
|
||||
8967 LET Q(17)=13
|
||||
8968 LET Q(18)=0
|
||||
8969 LET Q(19)=13
|
||||
8970 LET Q(20)=16
|
||||
|
||||
8980 LET C=13
|
||||
8981 LET CP=0
|
||||
# TABLEAU CONDITIONS (12)
|
||||
#
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
# B NN: SI L OBJET NN EST PRESENT OU TRANSPORTE
|
||||
# C NN: SI L OBJET NN EST NON PRESENT OU NON TRANSPORTE
|
||||
# D NN: SI L OBJET NN EST TRANSPORTE
|
||||
# E NN: SI LE POINTEUR NN EST ACTIVE
|
||||
# F NN: SI LE POINTEUR NN N EST PAS ACTIVE
|
||||
# G NN: SI LE COMPTEUR NN EST ATTEINT LA VALEUR 1
|
||||
# H NN: SI LE NOMBRE ALEATOIRE (1-99) EST INFERIEUR A NN
|
||||
#
|
||||
|
||||
### COMPTEURS:
|
||||
### G1:
|
||||
### G4: VIE GENERATRICE.
|
||||
9000 DIM C$(13,21)
|
||||
#________________000000000111111111122
|
||||
#________________123456789012345678901
|
||||
9001 LET C$(1)="A04E05.D05Q."
|
||||
9002 LET C$(2)="E04F10.G0403E10."
|
||||
9003 LET C$(3)="G04A10.G0499F09D25."
|
||||
9004 LET C$(4)="A04F05.D20."
|
||||
9005 LET C$(5)="E06F10.G0405E10."
|
||||
9006 LET C$(6)="G04.D01Q."
|
||||
9007 LET C$(7)="A10E09.D26Q."
|
||||
9008 LET C$(8)="A10E07.F06F07F04F08."
|
||||
9009 LET C$(9)="A11F07.G0103E07."
|
||||
9010 LET C$(10)="A11G01.D35Q."
|
||||
9011 LET C$(11)="A12.F06F04."
|
||||
9012 LET C$(12)="A12.F08F05F07."
|
||||
9013 LET C$(13)=".N."
|
||||
|
||||
9014 LET A=92
|
||||
# TABLEAU ACTIONS (91)
|
||||
# A : AFFICHE LA LISTE DES OBJETS TRANSPORTES
|
||||
# A NN : DANS LA SALLE NN
|
||||
# B NN : TRANSPORTES OBJETS NN
|
||||
# C NN : POSE OBJETS NN
|
||||
# D NN : AFFICHE LE MESSAGE EN 7000+(NN*10)
|
||||
# E NN : ACTIVE LE POINTEUR NN
|
||||
# F NN : DESACTIVE LE POINTEUR NN
|
||||
# G NNMM : FIXE LE COMPTEUR (-) NN A MM
|
||||
# H NN : INVERSE LES LIGNES NN ET NN+1 DANS LE TABEAU OBJET
|
||||
# I NN : POSE OBJET NN DANS LA SALLE EN COURS
|
||||
# J NN : MET LE NO DE SALLE CONTENANT L OBJET NN A 0
|
||||
# K NN : FIXE LE NO DE SALLE EN COURS A LA VALEUR NN
|
||||
# L : AFFICHE D ACCORD ET ATTEND
|
||||
# M : ATTEND UNE NOUVELLE COMMANDE MAIS LE TABLEAU DES ACTIONS EST REPASSE EN REVUE
|
||||
# N : ATTEND UNE NOUVELLE COMMANDE
|
||||
# O : AFFICHE LA DESCRIPTION DE LA SALLE EN COURS
|
||||
# P : ETES VOUS SURE ? >>> STOP
|
||||
# Q : STOP
|
||||
|
||||
# E01:
|
||||
# E02:
|
||||
# E03: BRIQUET ALLUME.
|
||||
# E04: FENETRE.
|
||||
# E05: FEU ALUMME/PILULE Z.
|
||||
# E06: GENERATRICE.
|
||||
# E07: LIVRE LU.
|
||||
# E08: CLEF PLACARD/PILULE K.
|
||||
# E09: ASCENSSEUR OK.
|
||||
# E10: PIEGE ELECTRIQUE.
|
||||
# E11:
|
||||
|
||||
|
||||
9100 DIM A$(92,31)
|
||||
#_________________0000000001111111111222222222233
|
||||
#_________________1234567890123456789012345678901
|
||||
9101 LET A$(1) ="0700A01.D03K02O."
|
||||
9102 LET A$(2) ="3000A01.D04O."
|
||||
9103 LET A$(3) ="1528B01.S01L."
|
||||
9104 LET A$(4) ="1518B03.S03L."
|
||||
9105 LET A$(5) ="1718B03C01.D06N."
|
||||
9106 LET A$(6) ="1718B01B03.H03E05E03L."
|
||||
9107 LET A$(7) ="1728B01.H01E05E03L."
|
||||
9108 LET A$(8) ="3400.R00."
|
||||
9109 LET A$(9) ="3300.P00."
|
||||
9110 LET A$(10)="3500.O00."
|
||||
9111 LET A$(11)="3218B03.C03L."
|
||||
9112 LET A$(12)="3228B01.C01L."
|
||||
9113 LET A$(13)="1316D07.D07N."
|
||||
9114 LET A$(14)="1516B07.S07D22N."
|
||||
9115 LET A$(15)="1316C07.D08N."
|
||||
9116 LET A$(16)="1416C07.D08N."
|
||||
9117 LET A$(17)="1416D07.D09N."
|
||||
9118 LET A$(18)="1416D07.D09N."
|
||||
|
||||
### GENERATRICE (BOUTONS)
|
||||
### VERT
|
||||
9119 LET A$(19)="1920A05F06F04.E04D11D10N."
|
||||
### ROUGE
|
||||
9120 LET A$(20)="1921A05F06F04.D11E03E06N."
|
||||
9121 LET A$(21)="1921A05E04.D12N."
|
||||
|
||||
9122 LET A$(22)="1536A03F08.E08L."
|
||||
9123 LET A$(23)="2325A06F08.D23N."
|
||||
9124 LET A$(24)="2325A06E08C06.K07F08O."
|
||||
9125 LET A$(25)="1522A07B06.S06D24K06L."
|
||||
|
||||
9126 LET A$(26)="2325A06E08B06.K06N."
|
||||
|
||||
### REPARE MACHINERIE
|
||||
9127 LET A$(27)="2931A06D06E04B08.D13E07H08N."
|
||||
9128 LET A$(28)="2931A06D06E04B08.D14E07H08N."
|
||||
9129 LET A$(29)="2931A06D06F04F06B08.D15H08E07N."
|
||||
9130 LET A$(30)="2931A06C06B08.D16N."
|
||||
### ASCENSSEUR
|
||||
9131 LET A$(31)="0500A08E07E06.D17K09O."
|
||||
9132 LET A$(32)="0500A08F07F08.D18E08N."
|
||||
9133 LET A$(33)="0600A08F07F08.D18E08N."
|
||||
9134 LET A$(34)="0500A08F08F06.D18E08N."
|
||||
9135 LET A$(35)="0600A08F08F06.D18E08N."
|
||||
9136 LET A$(36)="0500A08E08.D19Q."
|
||||
9137 LET A$(37)="0600A08F08.D19Q."
|
||||
9138 LET A$(38)="0600A08E07E06.D19Q."
|
||||
### ASCENSSEUR HAUT
|
||||
9139 LET A$(39)="4100A09.E09K10O."
|
||||
9140 LET A$(40)="0600A09.D19Q."
|
||||
9141 LET A$(41)="3000A09.D27N."
|
||||
|
||||
### FENETRE/CORDE
|
||||
9142 LET A$(42)="2338A10F04.E04L."
|
||||
9143 LET A$(43)="2338A10E04.D29N."
|
||||
9144 LET A$(44)="4238A10E04.F04L."
|
||||
9145 LET A$(45)="4238A10F04.D29N."
|
||||
9146 LET A$(46)="3937A10E04F06.E06L."
|
||||
9147 LET A$(47)="0600A10E06.E08D30N."
|
||||
|
||||
### SAUT
|
||||
9148 LET A$(48)="4000A10E07.D21Q."
|
||||
9149 LET A$(49)="4000A10E04.D21Q."
|
||||
9150 LET A$(50)="4000A10F04.D32N."
|
||||
9151 LET A$(51)="0500A10E08.F08D33N."
|
||||
9152 LET A$(52)="4400A09.D27N."
|
||||
|
||||
### MOT DE PASSE
|
||||
9153 LET A$(53)="4300A11.D34K12O."
|
||||
9154 LET A$(54)="4543A11.D34K12O."
|
||||
9155 LET A$(55)="4643A11.D34K12O."
|
||||
|
||||
9156 LET A$(56)="3222B06.C06L."
|
||||
|
||||
### MACHINE A REMONTER LE TEMPS
|
||||
9157 LET A$(57)="1947A12.D31Q."
|
||||
9158 LET A$(58)="1948A12.K13O."
|
||||
|
||||
9159 LET A$(59)="4951B11F04.E04H11D36N."
|
||||
|
||||
9160 LET A$(60)="0400A13F04.D26Q."
|
||||
9161 LET A$(61)="0400A13E04.F04K14O."
|
||||
|
||||
### PILLULES
|
||||
## Q=MORT
|
||||
9162 LET A$(62)="5053B17.D37Q."
|
||||
## Z=E05 (IRRADIEE)
|
||||
9163 LET A$(63)="5054F05B15.E05H15L."
|
||||
9164 LET A$(64)="5054E05.D29N."
|
||||
## K=E08 (VITAMINES)
|
||||
9165 LET A$(65)="5052F08B13.E08H13L."
|
||||
9166 LET A$(66)="5052E08.D29N."
|
||||
###
|
||||
9167 LET A$(67)="1552B13.S13L."
|
||||
9168 LET A$(68)="1553B17.S17L."
|
||||
9169 LET A$(69)="1554B15.S15L."
|
||||
9170 LET A$(70)="3252B13.C13L."
|
||||
9171 LET A$(71)="3253B17.C17L."
|
||||
9172 LET A$(72)="3254B15.C15L."
|
||||
### PISTOLET LASER
|
||||
9173 LET A$(73)="1556B19.S19L."
|
||||
9174 LET A$(74)="3256B19.C19L."
|
||||
###
|
||||
9175 LET A$(75)="0300A13.E06K15O."
|
||||
### LIVRE
|
||||
9176 LET A$(76)="1557B20.S20L."
|
||||
9177 LET A$(77)="3257B20.C20L."
|
||||
9178 LET A$(78)="1357B20F07.D38E07N."
|
||||
9179 LET A$(79)="1357B20E07.D29N."
|
||||
### GANT
|
||||
9180 LET A$(80)="1551B11.S11L."
|
||||
9181 LET A$(81)="3251B11.C11L."
|
||||
|
||||
9182 LET A$(82)="5800A17F07.D39N."
|
||||
9183 LET A$(83)="5800A17E07.D44D21O."
|
||||
### SORTIE
|
||||
9184 LET A$(84)="1555A14F05.D40Q."
|
||||
9185 LET A$(85)="1555A14E06E05F08.F06F05L."
|
||||
9186 LET A$(86)="0600A14F08.D41Q."
|
||||
9187 LET A$(87)="1555A14E06E05E08.F06L."
|
||||
9188 LET A$(88)="0600A14E08F05F06.D42D43Q."
|
||||
9189 LET A$(89)="0600A14E08E05E06.D42D45D46Q."
|
||||
9190 LET A$(90)="0600A14E08E05F06.D42D43D45Q."
|
||||
9191 LET A$(91)="0600A14E08F05E06.D42D46Q."
|
||||
9192 LET A$(92)=".N."
|
||||
9193 RETURN
|
||||
|
||||
9200 GOSUB 8699
|
||||
9205 FOR A=1 TO 91
|
||||
9210 LET O=VAL(A$(A)(1 TO 2))
|
||||
9215 GOSUB 9500
|
||||
9216 LPRINT A;"=";E$;" ";
|
||||
9220 LET O=VAL(A$(A)(3 TO 4))
|
||||
9225 GOSUB 9500
|
||||
9226 LPRINT E$,":";
|
||||
9230 FOR B=5 TO 30
|
||||
9231 LET E$=A$(A)(B)
|
||||
9233 IF E$>="A" AND E$(1)<="K" THEN LET B=B+2
|
||||
9234 LPRINT E$(1);
|
||||
9235 IF E$<>" " THEN NEXT B
|
||||
9236 LPRINT
|
||||
9240 NEXT A
|
||||
9500 LET E$=""
|
||||
9501 IF O=0 THEN RETURN
|
||||
9505 FOR Z=1 TO 73
|
||||
9510 IF O<>VAL(V$(Z)(1 TO 2)) THEN NEXT Z
|
||||
9520 LET E$=V$(Z)(3 TO )
|
||||
9530 RETURN
|
||||
|
|
@ -0,0 +1,501 @@
|
|||
0 REM [HEX:\
|
||||
85,89,89,89,89,89,89,89,\
|
||||
89,89,89,89,89,89,89,89,\
|
||||
89,89,89,89,89,89,05,00,\
|
||||
82,00,00,00,00,00,00,00,\
|
||||
88,05,88,88,88,88,00,31,\
|
||||
26,00,32,26,2E,38,34,33,\
|
||||
00,88,88,88,88,85,88,00,\
|
||||
80,82,00,00,00,00,00,00,\
|
||||
88,05,88,88,00,29,3A,00,\
|
||||
35,37,34,2B,2A,38,38,2A,\
|
||||
3A,37,00,88,88,85,88,00,\
|
||||
80,80,82,00,00,00,00,00,\
|
||||
88,05,88,88,88,88,88,00,\
|
||||
2B,34,31,2E,27,3A,38,00,\
|
||||
88,88,88,88,88,85,88,00,\
|
||||
80,80,80,05,00,00,00,00,\
|
||||
85,8A,8A,8A,8A,8A,8A,8A,\
|
||||
8A,8A,8A,8A,8A,8A,8A,8A,\
|
||||
8A,8A,8A,8A,8A,8A,05,00,\
|
||||
80,80,07,00,00,00,00,00,\
|
||||
00,00,35,37,34,2C,37,26,\
|
||||
32,32,2A,00,2A,28,37,2E,\
|
||||
39,00,35,26,37,00,00,00,\
|
||||
80,07,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,26,31,26,\
|
||||
2E,33,00,27,37,2A,2C,2A,\
|
||||
34,33,00,00,00,00,00,00,\
|
||||
07,00,00,00,00,00,00,00,\
|
||||
00,00,35,34,3A,37,00,32,\
|
||||
2E,28,37,34,16,38,3E,38,\
|
||||
39,2A,32,2A,38,1B,00,76,\
|
||||
76,2A,16,40,ED,4B,7B,40,\
|
||||
23,7E,FE,76,CA,5B,00,CB,\
|
||||
7F,28,F5,0B,78,B1,20,F0,\
|
||||
23,7E,CB,7F,20,0D,FE,0C,\
|
||||
28,0F,FE,01,20,02,3E,0B,\
|
||||
D7,18,ED,CB,BF,D7,C3,5B,\
|
||||
00,ED,5B,0E,40,1A,FE,76,\
|
||||
28,DE,3E,00,D7,13,18,F5,\
|
||||
11,82,40,01,04,06,ED,43,\
|
||||
7B,40,D5,CD,F5,08,D1,62,\
|
||||
6B,01,17,00,D5,CD,6B,0B,\
|
||||
D1,EB,01,20,00,09,EB,ED,\
|
||||
4B,7B,40,04,ED,43,7B,40,\
|
||||
78,FE,0E,28,02,18,DB,01,\
|
||||
07,06,ED,43,7B,40,C9 ]
|
||||
|
||||
1 REM LES LIGNES 10 A 6040 \
|
||||
ET 9000 A 9999 ONT \
|
||||
ETE REPRODUITES DE L"OUVRAGE\
|
||||
"LE PETIT LIVRE DU ZX81" \
|
||||
(D"APRES ÀTHE ZX81 POCKET BOOK"\
|
||||
DE PHIPPS ASSOCIATES) AVEC L"\
|
||||
AUTORISATION D"EDITIONS DU PSI
|
||||
3 GOSUB 8699
|
||||
4 SAVE"FOLIBUS2"
|
||||
5 RAND USR 16826
|
||||
6 FOR Z=0 TO 1000
|
||||
7 NEXT Z
|
||||
8 POKE 16508,0
|
||||
9 CLS
|
||||
10 DIM S(10)
|
||||
15 DIM C(5)
|
||||
20 LET O=20
|
||||
30 LET SALLE=1
|
||||
40 DIM P$(2,2)
|
||||
50 DIM O(O)
|
||||
60 FOR X=1 TO O
|
||||
70 LET O(X)=Q(X)
|
||||
80 NEXT X
|
||||
90 RAND
|
||||
100 IF NOT S(2) THEN GOTO 200
|
||||
110 IF C(2) THEN LET C(2)=C(2)-1
|
||||
120 IF S(3) THEN GOTO 200
|
||||
130 PRINT "ON NÀY VOIT RIEN,MIEUX VAUDRAIT","ALLUMER POUR EVITER LES ENNUIS."
|
||||
140 IF C(3) THEN LET C(3)=C(3)-1
|
||||
150 GOTO 1000
|
||||
200 REM DESCRIPTION DE LA SALLE
|
||||
210 PRINT,,
|
||||
220 POKE 16507,SALLE
|
||||
230 PRINT USR 16763;"«\
|
||||
VOUS ETES DEVANT UNE MAISON£\
|
||||
LA PORTE EST OUVERTE–\
|
||||
VOUS ETES DANS UN COULOIR,IL Y A\
|
||||
UNE PORTE A L¶EST ET UNE PORTE£\
|
||||
A L¶OUEST–\
|
||||
VOUS ETES DANS UN SALON,IL Y A£\
|
||||
UNE PORTE A L¶OUEST–\
|
||||
IL Y A UNE DROLE D¶ODEUR–\
|
||||
IL Y A UNE GROSSE MACHINE QUI£\
|
||||
RESSEMBLE A 1 GENERATRICE AVEC \
|
||||
UN BOUTON VERT, UN BOUTON ROUGE \
|
||||
IL Y A UNE PORTE AU NORD–\
|
||||
UNE MACHINERIE D¶ASCENCEUR,UNE£\
|
||||
PORTE AU NORd\
|
||||
IL Y A PLEIN DE MATERIEL–\
|
||||
VOUS ETES DANS UN ASCENCEUR.IL Y\
|
||||
A UN BOUTON HAUT,UN BOUTON BAs\
|
||||
L¶ASCENCEUR VIENT DE S¶ARRETER–\
|
||||
LA PIECE EST HUMIDE,IL Y A DES£\
|
||||
FILS QUI TRAINENT PAR TERRE IL Y\
|
||||
A UNE FENETRE ET UNE PORTE AU N–\
|
||||
LA PORTE VIENT DE SE REFERMER. \
|
||||
BONJOUR..£\
|
||||
COMMENT ECRIVEZ VOUS CECI£\
|
||||
EN 4 LETTREs\
|
||||
VOUS ETES DANS UNE MACHINE A£\
|
||||
REMONTER LE TEMPS 3 BOUTONS:£\
|
||||
PASSE,PRESENT ET AVENIr\
|
||||
VOUS VOUS RETROUVEZ DANS LE£\
|
||||
LABORATOIRE DU PROFESSEUR.IL Y A\
|
||||
UNE PORTE EN FER A L¶OUEST£\
|
||||
PORTE AU SUD MARQUE DANGER–\
|
||||
IL Y A UNE DOUCHE,UN TROU DANS£\
|
||||
LE SOl\
|
||||
IL Y A UN CUBE NOIR D¶AU MOINS£\
|
||||
UNE TONNE,UNE ECHELLE MONTE.UNE \
|
||||
PORTE A L¶ESt\
|
||||
VOUS ETES DANS UNE BIBLIOTHEQUe\
|
||||
VOUS ETES DANS UNE SOUCOUPE SUR \
|
||||
UNE TERRASSe"
|
||||
240 PRINT
|
||||
300 LET F=0
|
||||
310 FOR X=1 TO O
|
||||
320 IF O(X)<>SALLE THEN GOTO 500
|
||||
330 IF F THEN GOTO 400
|
||||
340 PRINT
|
||||
345 PRINT ,,"IL Y A AUSSI:"
|
||||
350 LET F=1
|
||||
400 PRINT " ";O$(X)
|
||||
500 NEXT X
|
||||
#
|
||||
1000 REM ACCEPTATION DE LA COMMANDE
|
||||
1010 LET T=1
|
||||
1020 GOTO 2000
|
||||
1100 IF C(1) THEN LET C(1)=C(1)-1
|
||||
1110 IF C(4) THEN LET C(4)=C(4)-1
|
||||
1120 PRINT
|
||||
1125 PRINT ,,"QUE FAITES-VOUS? >"
|
||||
1130 INPUT Y$
|
||||
1140 CLS
|
||||
1150 LET Y=0
|
||||
1160 PRINT ">";Y$
|
||||
1170 LET P$(2)="00"
|
||||
1200 FOR W=1 TO 2
|
||||
1210 GOSUB 6000
|
||||
1220 IF Y>=LEN Y$ THEN GOTO 1300
|
||||
1230 IF P$(W)="00" THEN GOTO 1210
|
||||
1240 NEXT W
|
||||
1300 IF P$(1)<>"00" THEN GOTO 1600
|
||||
1310 PRINT "PARDON?"
|
||||
1320 GOTO 100
|
||||
1600 REM CONTROLE DU MOUVEMENT
|
||||
1610 LET Z=1
|
||||
1620 LET T$=M$(SALLE)(Z TO Z+1)
|
||||
1630 IF T$="00" THEN GOTO 1900
|
||||
1640 IF T$<>P$(1) THEN GOTO 1700
|
||||
1650 LET SALLE=VAL(M$(SALLE)(Z+2 TO Z+3))
|
||||
1660 GOTO 100
|
||||
1700 LET Z=Z+4
|
||||
1710 GOTO 1620
|
||||
1900 LET T=0
|
||||
1910 LET CORRESP=0
|
||||
2000 REM COTROLE DES CONDITIONS
|
||||
2010 LET CP=0
|
||||
2100 LET CP=CP+1
|
||||
2110 IF NOT T THEN GOTO 2300
|
||||
2120 LET E$=C$(CP)
|
||||
2130 GOTO 2600
|
||||
2300 IF CP<=A THEN GOTO 2400
|
||||
2310 IF CORRESP THEN GOTO 1000
|
||||
2320 PRINT"IMPOSSIBLE";
|
||||
2330 IF VAL(P$(1))<13 THEN PRINT" DE PRENDRE CETTE","DIRECTION";
|
||||
2340 PRINT "."
|
||||
2350 GOTO 100
|
||||
2400 IF A$(CP)(1 TO 2)<>P$(1) THEN GOTO 2100
|
||||
2410 LET Y$=A$(CP)(3 TO 4)
|
||||
2420 IF Y$<>"00" AND Y$<>P$(2) THEN GOTO 2100
|
||||
2430 LET E$=A$(CP)(5 TO)
|
||||
2600 REM CONDITIONS
|
||||
2610 LET E=1
|
||||
2700 IF E$(E)="." THEN GOTO 3000
|
||||
2710 LET TYPE=CODE(E$(E))-38
|
||||
2720 LET N=VAL(E$(E+1 TO E+2))
|
||||
#
|
||||
2800 GOSUB 2900+TYPE*10
|
||||
#
|
||||
2810 IF NOT OK THEN GOTO 2100
|
||||
2820 LET E=E+3
|
||||
2830 GOTO 2700
|
||||
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
|
||||
2900 LET OK=(N=SALLE)
|
||||
2905 RETURN
|
||||
|
||||
# B NN: SI L OBJET NN EST PRESENT OU TRANSPORTE
|
||||
|
||||
2910 LET OK=(O(N)=SALLE OR O(N)<0)
|
||||
2915 RETURN
|
||||
|
||||
# C NN: SI L OBJET NN EST NON PRESENT OU NON TRANSPORTE
|
||||
|
||||
2920 LET OK=(O(N)<>SALLE AND O(N)>=0)
|
||||
2925 RETURN
|
||||
|
||||
# D NN: SI L OBJET NN EST TRANSPORTE
|
||||
|
||||
2930 LET OK=(O(N)<0)
|
||||
2935 RETURN
|
||||
|
||||
# E NN: SI LE POINTEUR NN EST ACTIVE
|
||||
|
||||
2940 LET OK=S(N)
|
||||
2945 RETURN
|
||||
|
||||
# F NN: SI LE POINTEUR NN N EST PAS ACTIVE
|
||||
|
||||
2950 LET OK=(NOT S(N))
|
||||
2955 RETURN
|
||||
|
||||
# G NN: SI LE COMPTEUR NN A ATTEINT LA VALEUR 1
|
||||
|
||||
2960 LET OK=(C(N)=1)
|
||||
2965 RETURN
|
||||
|
||||
# H NN: SI LE NOMBRE ALEATOIRE (1-99) EST INFERIEUR A NN
|
||||
|
||||
2970 LET OK=((INT(RND*100)+1)<=N)
|
||||
2975 RETURN
|
||||
|
||||
3000 REM ACTIONS
|
||||
3010 LET CORRESP=1
|
||||
3020 LET E=E+1
|
||||
3100 IF E$(E)="." THEN GOTO 2100
|
||||
3110 LET TYPE=CODE(E$(E))-38
|
||||
3120 IF E$(E+1)<>"." THEN LET N=VAL(E$(E+1 TO E+2))
|
||||
3200 LET BREAK=0
|
||||
###
|
||||
3210 GOSUB 4000+TYPE*100
|
||||
###
|
||||
3220 IF BREAK THEN GOTO BREAK
|
||||
3230 LET E=E+3
|
||||
3240 GOTO 3100
|
||||
|
||||
# A NN: SI NOUS SOMMES DANS LA SALLE NN
|
||||
## 4000 GOSUB 2910
|
||||
## 4010 RETURN
|
||||
|
||||
### B NN : TRANSPORTES OBJETS NN
|
||||
|
||||
### OBJET DANS L'INVENTAIRE
|
||||
## 4100 IF O(N)=-1 THEN GOTO 4110
|
||||
## 4102 IF Q(SALLE)=0 THEN GOTO 4110
|
||||
## 4103 LET OK=1
|
||||
## 4105 RETURN
|
||||
## 4110 PRINT "UN QUOI?"
|
||||
## 4120 LET BREAK=100
|
||||
## 4130 RETURN
|
||||
4100 IF S(1)<5 THEN GOTO 4140
|
||||
4110 PRINT "VOUS NE POUVEZ PORTER PLUS"
|
||||
4120 LET BREAK=100
|
||||
4130 RETURN
|
||||
4140 IF O(N)=-1 THEN GOTO 4180
|
||||
4150 LET O(N)=-1
|
||||
4160 LET S(1)=S(1)+1
|
||||
4170 RETURN
|
||||
4180 PRINT "VOUS LÀAVEZ DEJA"
|
||||
4190 GOTO 4120
|
||||
|
||||
### C NN : POSE OBJETS NN
|
||||
|
||||
4200 IF O(N)=-1 THEN GOTO 4240
|
||||
4210 PRINT "VOUS NÀAVEZ PAS ";O$(N)
|
||||
4220 LET BREAK=100
|
||||
4230 RETURN
|
||||
4240 LET O(N)=SALLE
|
||||
4250 LET S(1)=S(1)-1
|
||||
4260 RETURN
|
||||
|
||||
### D NN : AFFICHE LE MESSAGE EN 7000+(NN*10)
|
||||
|
||||
4300 POKE 16507,N
|
||||
4310 PRINT USR 16763;"«\
|
||||
LA GENERATRICE VIENT D¶EXPLOSER \
|
||||
LA MAISON N¶EXISTE PLUS,VOUS NON\
|
||||
PLUS–\
|
||||
L¶ASCENSSEUR NE BOUGE PAS.£\
|
||||
IL FAUT PEUT ETRE DU COURANTŠ\
|
||||
LA PORTE VIENT DE SE FERMER£\
|
||||
IMPOSSIBLE DE L¶OUVRIr\
|
||||
VOUS AVEZ RAISON.LA CURIOSITE£\
|
||||
EST UN VILAIN DEFAUT..–\
|
||||
L¶ODEUR QUE VOUS SENTIEZ ETAIT£\
|
||||
CELLE D¶UN GAZ EXPLOSIF.VOUS£\
|
||||
ETES MORT–\
|
||||
IL FAUDRAIT PEUT ETRE DU FEU..–\
|
||||
AH,AH...VOUS ETES PRISONNIEr\
|
||||
VOUS AVEZ DIT PAPIER?QUEL PAPIEr\
|
||||
BRAVEZ LES INTERDITS–\
|
||||
ELLE A L¶AIR DE S¶EMBALLER..–\
|
||||
LA GENERATRICE SE MET EN MARCHe\
|
||||
IMPOSSIBLE,ELLE NE VEUT RIEN£\
|
||||
SAVOIR–\
|
||||
BRAVO,JE NE SAVAIS PAS QUE VOUS£\
|
||||
AVIEZ DES DONS D¶ELECTRICIEN–\
|
||||
VOTRE MACHINE EST REPAREE.MAIS£\
|
||||
ELLE SENT LE CHAUD–\
|
||||
LA MACHINE EST REPAREE.DOMMAGE£\
|
||||
QU¶IL N¶Y AIT PAS DE COURANT–\
|
||||
IL FAUDRAIT PEUT-ETRE DES OUTILs\
|
||||
L¶ASCENSEUR SEMBLE MONTER..–\
|
||||
L¶ASCENSEUR NE BOUGE PAs\
|
||||
LE CABLE VIENT DE CASSER.VOUS£\
|
||||
VOUS ECRASEZ EN BAS:MORt\
|
||||
IL FAIT NOIR.IL FAUT ALLUMEr\
|
||||
VOUS VOUS ECRASEZ AU SOl\
|
||||
IL Y A UNE CLEF–\
|
||||
LA PORTE EST FERMEE A CLEf\
|
||||
TIENS,LA PORTE DU PLACARD SE£\
|
||||
REFERME–\
|
||||
LA GENERATRICE VIENT D¶EXPLOSER,\
|
||||
L¶ASCENSSEUR EST DETRUIT.£\
|
||||
VOUS EN ECHAPPEZ DE JUSTESSe\
|
||||
VOUS ETES MORT ELECTROCUTe\
|
||||
VOUS AVEZ RAISON,RIEN NE SERT DE\
|
||||
COURRIR–\
|
||||
DEHORS IL FAIT NOIR,ON NE VOIT \
|
||||
PAS LE SOL–\
|
||||
C¶EST DEJA FAIT–\
|
||||
VOUS ETES AU BOUT DE LA CORDE–\
|
||||
VRAIMENT PAS AU POINT CETTE£\
|
||||
MACHINE.£\
|
||||
VOUS ETES MORt\
|
||||
IL FAUDRAIT PEUT ETRE OUVRIR LA \
|
||||
FENETRE–\
|
||||
TANT PIS.ON A ESSAYE–\
|
||||
BRAVO,QUEL TRAIT DE GENIE–\
|
||||
UNE TRAPPE S¶OUVRE SOUS VOS£\
|
||||
PIEDS.VOUS ETES MORT–\
|
||||
SAGE PRECAUTION–\
|
||||
C¶EST DU POISON.VOUS ETES MORT–\
|
||||
VOUS APPRENEZ A PILOTER UNE£\
|
||||
SOUCOUPE EN 1 LECOn\
|
||||
CA NE SE PILOTE PAS COMME Ca\
|
||||
C¶EST DE L¶ACIDE.£VOUS ETES MORT–\
|
||||
IL Y A DE L¶EAU.VOUS VOUS NOYEz\
|
||||
OUF,VOUS VOUS RETROUVEZ DEHORS.–\
|
||||
SAIN ET SAUF..–\
|
||||
CA MARCHE...MAIS IL N¶Y AVAIT£\
|
||||
PAS ASSEZ DE CARBURANT–\
|
||||
MAIS,VOUS ETES TOUT BLEU£\
|
||||
CE DOIT ETRE LES PILLULEs\
|
||||
ET IRRADIE.VOUS MOUREZ AU BOUT£\
|
||||
DE QUELQUES JOURs"
|
||||
4315 PRINT
|
||||
4320 RETURN
|
||||
|
||||
### E NN : ACTIVE LE POINTEUR NN
|
||||
|
||||
4400 LET S(N)=1
|
||||
4410 RETURN
|
||||
|
||||
### F NN : DESACTIVE LE POINTEUR NN
|
||||
|
||||
4500 LET S(N)=0
|
||||
4510 RETURN
|
||||
|
||||
### G NNMM : FIXE LE COMPTEUR (-) NN A MM
|
||||
|
||||
4600 LET C(N)=VAL (E$(E+3 TO E+4))
|
||||
4610 LET E=E+2
|
||||
4620 RETURN
|
||||
|
||||
### H NN : INVERSE LES LIGNES NN ET NN+1 DANS LE TABEAU OBJET
|
||||
|
||||
4700 LET X=O(N)
|
||||
4710 LET O(N)=O(N+1)
|
||||
4720 LET O(N+1)=X
|
||||
4730 RETURN
|
||||
|
||||
### I NN : POSE OBJET NN DANS LA SALLE EN COURS
|
||||
|
||||
4800 LET O(N)=SALLE
|
||||
4810 RETURN
|
||||
|
||||
### J NN : MET LE NO DE SALLE CONTENANT L OBJET NN A 0
|
||||
|
||||
4900 IF O(N)<0 THEN LET S(1)=S(1)-1
|
||||
4910 LET O(N)=0
|
||||
4920 RETURN
|
||||
|
||||
### K NN : FIXE LE NO DE SALLE EN COURS A LA VALEUR NN
|
||||
|
||||
5000 LET SALLE=N
|
||||
5010 RETURN
|
||||
|
||||
### L : AFFICHE D ACCORD ET ATTEND
|
||||
|
||||
5100 PRINT "DÀACCORD."
|
||||
|
||||
### M : ATTEND UNE NOUVELLE COMMANDE MAIS RESANNE LE TABLEAU DES ACTIONS
|
||||
|
||||
5200 LET BREAK=1000
|
||||
5210 RETURN
|
||||
|
||||
### N : ATTEND UNE NOUVELLE COMMANDE
|
||||
|
||||
5300 LET BREAK=1100
|
||||
5310 RETURN
|
||||
|
||||
### O : AFFICHE LA DESCRIPTION DE LA SALLE EN COURS
|
||||
|
||||
5400 LET BREAK=100
|
||||
5410 RETURN
|
||||
|
||||
### P : ETES VOUS SURE ? >>> STOP
|
||||
|
||||
5500 PRINT "ETES VOUS SUR ?";
|
||||
5510 INPUT W$
|
||||
5520 PRINT W$
|
||||
5530 IF CHR$ CODE W$<>"O" THEN RETURN
|
||||
|
||||
### Q : STOP
|
||||
|
||||
5600 GOTO 9999
|
||||
|
||||
### R : INVENTAIRE
|
||||
### AFFICHE LA LISTE DES OBJETS TRANSPORTES
|
||||
###
|
||||
5700 PRINT
|
||||
5710 PRINT "VOUS TENEZ:"
|
||||
5720 LET F=1
|
||||
5730 FOR X=1 TO O
|
||||
5740 IF O(X)>=0 THEN GOTO 5770
|
||||
5750 PRINT " ";O$(X)
|
||||
5760 LET F=0
|
||||
5770 NEXT X
|
||||
5780 IF F THEN PRINT ,"RIEN."
|
||||
5790 LET BREAK=100
|
||||
5795 RETURN
|
||||
|
||||
### S PRENDRE UN OBJET
|
||||
5800 IF S(1)<5 THEN GOTO 4140
|
||||
5810 PRINT "VOUS NE POUVEZ PORTER PLUS"
|
||||
5820 LET BREAK=100
|
||||
5830 RETURN
|
||||
5840 IF O(N)=-1 THEN GOTO 4180
|
||||
5850 LET O(N)=-1
|
||||
5860 LET S(1)=S(1)+1
|
||||
5870 RETURN
|
||||
5880 PRINT "VOUS LÀAVEZ DEJA"
|
||||
5890 GOTO 4120
|
||||
|
||||
6000 REM ANALYSE LE MOT
|
||||
6010 DIM W$(4)
|
||||
6015 LET P$(W)="00"
|
||||
6020 GOSUB 6600
|
||||
6025 IF FIN THEN RETURN
|
||||
6030 FOR Q=1 TO 4
|
||||
6040 LET W$(Q)=Y$(Y)
|
||||
6050 GOSUB 6500
|
||||
6060 IF FIN THEN GOTO 6100
|
||||
6070 NEXT Q
|
||||
6080 GOSUB 6500
|
||||
6090 IF NOT FIN THEN GOTO 6080
|
||||
6100 IF W$=" " THEN RETURN
|
||||
6110 FOR Q=1 TO V
|
||||
6120 IF W$=V$(Q)(3 TO) THEN GOTO 6200
|
||||
6130 NEXT Q
|
||||
6140 RETURN
|
||||
6200 LET P$(W)=V$(Q)(TO 2)
|
||||
6210 RETURN
|
||||
6500 LET Y=Y+1
|
||||
6510 LET FIN=(Y>LEN Y$)
|
||||
6520 IF FIN THEN RETURN
|
||||
6530 LET FIN=(Y$(Y)=" ")
|
||||
6540 RETURN
|
||||
6600 LET Y=Y+1
|
||||
6610 LET FIN=(Y>LEN Y$)
|
||||
6620 IF FIN THEN RETURN
|
||||
6630 IF Y$(Y)=" " THEN GOTO 6600
|
||||
6640 RETURN
|
||||
8699 LET V=73
|
||||
8700 DIM V$(73,6)
|
||||
8799 LET R=18
|
||||
8800 DIM M$(18,14)
|
||||
8819 LET O=20
|
||||
8899 DIM Q(20)
|
||||
8900 DIM O$(21,16)
|
||||
8950 DIM Q(20)
|
||||
8980 LET C=13
|
||||
8981 LET CP=0
|
||||
9000 DIM C$(13,21)
|
||||
9014 LET A=92
|
||||
9100 DIM A$(92,31)
|
||||
9193 RETURN
|
||||
9997 REM
|
||||
9998 REM TAPEZ GOTO 10 POUR REJOUER.
|
||||
9999 LIST 9997
|
Loading…
Reference in New Issue