L'usine Infernale est un titre qui me parlait bien. J'ai recherché dans mes archives et trouvé le programme.
Code : Tout sélectionner
0 ' ------------------------------------
***** L'USINE INFERNALE *****
***** Auteur: Ph.BAROIN *****
***** Nov.1985 Version 1-2 *****
------------------------------------
1 CLEAR,,94:DEFINTB-Z:CONSOLE0,24:SCREEN6,0,0:CLS:LOCATE9,12,0:FORI=0TO99STEP3:C
=C+1:IFC>7THENC=1
2 BOX(I,I)-(304-I,194-I),C:BEEP:NEXT:ATTRB0,1:COLOR1:PRINT" L'USINE INFERNALE "
:ATTRB0,0:COLOR6:LOCATE10,14:COLOR2:PRINT"Auteur : Ph.BAROIN":LOCATE6,20:COLOR6:
PRINT"Patientez quelques secondes":GOSUB66:FORI0=1TO6:READD0,D1:FORI=D0TOD1:S$(I
0)=S$(I0)+GR$(I):
3 X0=23:Y0=18:N0=7:N1=7:C0=0:C1=-1:C2=6:C3=7:C4=7:C5=4:C6=2:C7=C2:C8=4:C9=4:CA=1
:A2=19:H(0)=77:H(1)=61:H(2)=117:H(3)=101:X1(0)=58:X1(1)=234:X1(2)=50:X1(3)=242:Y
1(0)=64:Y1(1)=48:Y1(2)=104:Y1(3)=88:A3$=" ":A4$=" ":ATTRB1,1:R$=INKEY$
4 R$=INKEY$:C=C+1:IFC>7THENC=1
5 LOCATE3,20:COLORC:PRINT"FORCE?(de 1 a 9)":PLAY"L8LA":W=RND:IFR$=""THEN4
6 IFASC(R$)>57ORASC(R$)<49THENCLS:GOTO4ELSEF=VAL(R$):SCREEN6,0,0:CLS:ATTRB0,0:GO
SUB85
7 ATTRB1,0:COLOR6:LOCATE1,1,0:PRINT"SCORE":LOCATE23,1:COLOR5:PRINT"MAXI=":ATTRB0
,0:COLORC6:LOCATE32,1:PRINTSTR$(P0):COLORC6:BOXF(0,192)-(319,199),-4:LOCATE9,20:
PRINTS3$;S3$;LEFT$(S2$,5):FORI=19TO16STEP-1:LOCATE12,I:PRINTS4$:LOCATE25,I:PRINT
S4$:NEXT:LOCATE25
8 COLORC7:A2=A2+1:LOCATE17,A2-3:PRINT" ":LOCATE17,A2-1:PRINTA3$:LOCATE17,A2-
2:PRINTA4$:LOCATE17,A2:PRINTS5$;:GOSUB43:S7=STICK(0):IFA3$<>" "THENY0=Y0+1
9 GOSUB14:IFSTRIG(0)=-1THENGOSUB34
10 IFA2=19THEN11ELSE8
11 COLORC7:A2=A2-1:LOCATE17,A2+1:PRINT" ";P$;" ";:LOCATE17,A2:PRINTS5$;:LOCATE
17,A2-1:PRINTA3$:LOCATE17,A2-2:PRINTA4$:GOSUB43:S7=STICK(0):IFA3$<>" "THENY0
=Y0-1
12 GOSUB14:IFSTRIG(0)=-1THENGOSUB34
13 IFA2=7THEN8ELSE11
14 COLORC2:IFS7=3THENX6=1ELSEIFS7=7THENX6=-1ELSEX6=0:RETURN
15 W=RND:IFSCREEN(X0+X6,Y0)=0ORSCREEN(X0+X6,Y0-1)=0THENRETURN
16 X0=X0+X6:IFS7=3THENO5$=GR$(10):O6$=GR$(11):O7$=GR$(12):O8$=GR$(13)ELSEO5$=GR$
(4):O6$=GR$(5):O7$=GR$(6):O8$=GR$(7)
17 PSET(X0-X6,Y0)O8$:PSET(X0-X6,Y0-1)O7$:BEEP:PSET(X0-X6,Y0)" ":PSET(X0-X6,Y0-1)
" ":A3$=" ":A4$=" ":IFX0<17ORX0>21THEN19
18 IFABS(A2-1-Y0)<2THENY0=A2-1:A3$=LEFT$(A3$,X0-17)+O6$+RIGHT$(A3$,21-X0):A4$=LE
FT$(A4$,X0-17)+O5$+RIGHT$(A4$,21-X0):RETURNELSE21
19 IFSCREEN(X0,Y0+1)<>0THEN21
20 PSET(X0,Y0)O6$:PSET(X0,Y0-1)O5$:RETURN
21 PLAY"O2A4T2L8DODODOREMIREDOMIREREDO":PSET(X0,Y0)" ":IFX0<19THENX7=17ELSEX7=21
22 FORI=Y0TO20STEP2:IFSCREEN(X7,I)=0ORSCREEN(X7,I+1)=0THEN23ELSEPSET(X7,I)GR$(73
),C2:PSET(X7,I+1)GR$(74):GOSUB33:PSET(X7,I)" ":PSET(X7,I+1)" "
23 IFSCREEN(X7,I+2)=0ORSCREEN(X7,I+3)=0THEN24ELSEPSET(X7,I+2)GR$(75):PSET(X7,I+3
)GR$(76):GOSUB33:PSET(X7,I+2)" ":PSET(X7,I+3)" "
24 GOSUB65:NEXT:PSET(X7,23)GR$(77):PSET(X7+1,23)GR$(78):GOSUB32:PSET(X7,23)GR$(7
9):GOSUB95:BOXF(232,168)-(319,191),C1:BOXF(0,168)-(79,191),C1:E0=34:E1=31:GOSUB2
9:E0=30:E1=X7+2:GOSUB29:LOCATEX7,23:PRINT" ":LOCATEX7,22:PRINTO0$:GOSUB33:LOCAT
EX7,22:PRINT" ":L
25 IFK0>0THENX4=0:COLORK0:GOSUB87
26 IFK1>0THENX4=5:COLORK1:GOSUB86
27 IFK2>0THENX4=31:COLORK2:GOSUB86
28 RETURN
29 RESTORE70:FORI=E0TOE1STEP-1:COLOR7:LOCATEI,22:PRINTA0$:LOCATEI,23:PRINTA1$:LI
NE(I*8+20,181)-(I*8+20,186),-2:READN$:PLAY"L8O4T5A0"+N$:BOX(I*8+11,177)-(I*8+12,
178),4:IFE0=34ORE0=X7-6THEN31
30 COLOR7:LOCATEI+5,22:PRINTI0$;:LOCATEI+5,23:PRINTI1$;:BOX((I+6)*8,184)-((I+7)*
8,185),6:LOCATEI+4,22:PRINTI0$:LOCATEI+4,23:PRINTI2$;:BOX((I+5)*8,184)-((I+6)*8,
185),6
31 NEXT:RETURN
32 PLAY"A1T2O3L4DOREMIFASOLASI":RETURN
33 PLAY"A1T3O2L2SILASOFAMIREDO":RETURN
34 COLORC2:IFO5$=GR$(4)THENO7$=GR$(2):O8$=GR$(3)ELSEO7$=GR$(8):O8$=GR$(9)
35 IFX0=11ANDY0=9THEN50
36 IFX0=10ANDY0=14THEN52
37 IFX0=27ANDY0=7THEN55
38 IFX0=28ANDY0=12THEN57
39 GOSUB95:IFK1=C1ANDK0>0THENX4=0:X5=4:CD=K0:GOTO42
40 IFK2=C1THENX4=4:X5=30:CD=K1:GOTO42
41 X4=30:X5=34:CD=K2
42 GOSUB79:GOSUB95:RETURN
43 IFCB>1THEN46ELSECE=INT(RND*4000)
44 IFCE>F*100THENRETURN
45 CF=92-F*10:CE=INT(RND*100):IFCE=50THENRETURNELSES8=SGN(50-CE):X8=17+S8:Y2=1:C
B=3:GOSUB63
46 CF=CF-1:IFCF>0THENRETURNELSEIFCF=0THENCB=2:Y2=2:GOSUB63
47 IFX8=8ORX8=26THEN49
48 X8=X8-S8:LOCATEX8,3:COLORC4:PRINT" ";S0$;" ";:RETURN
49 CB=1:Y2=0:GOSUB63:B=1-((1+S8)/2):FORI=1TO4:BOXF(72,24)-(239,23+2*I),C1:LINE(X
1(B)+5+B+8*(1-B),35)-(X1(B)+5+2*I,H(B)),C4:LINE(X1(B),H(B))-(X1(B)+18,H(B)),-(C4
+1):H(B)=H(B)-1:GOSUB65:NEXT:BOXF(X1(B)+6,35)-(X1(B)+13,H(B)),C1:IFH(B)<Y1(B)THE
N62ELSERETURN
50 IFH(0)>76THENGOSUB65:RETURNELSEGOSUB60
51 PSET(10,9)GR$(56),CA:PSET(10,8)GR$(55):PSET(7,10)" ":PSET(8,10)GR$(60):FORI=0
TO3:LINE(58,H(0)+I+1)-(76,H(0)+I+1),C1:BOXF(58+I,80)-(60+I,H(2)-I),C4:LINE(50,H(
2)-I)-(68,H(2)-I),-(C4+1):GOSUB65:NEXT:H(2)=H(2)-4:BOXF(58,80)-(63,H(2)),C1:H(0)
=H(0)+4:PSET(10,8)
52 IFH(2)>116THENGOSUB65:RETURNELSEGOSUB60
53 PSET(9,14)GR$(56),CA:PSET(9,13)GR$(55):PSET(6,15)" ":PSET(7,15)GR$(60):FORI=0
TO3:LINE(50,H(2)+I+1)-(68,H(2)+I+1),C1:BOXF(50,120)-(50+I,169),C4:GOSUB65:NEXT:H
(2)=H(2)+4:BOXF(48,120)-(55,169),C1:GOSUB61:PSET(9,13)" ",CA:PSET(9,14)GR$(57):B
OXF(48,120)-(63,12
54 C(K1)=C(K1)-1:IFC(K1)<15THENX9=56:GOTO91ELSEX3=8:Y3=C(K1)+1:CC=1:GOTO98
55 IFH(1)>60THENGOSUB65:RETURNELSEGOSUB60
56 PSET(28,7)GR$(53),CA:PSET(28,6)GR$(52):PSET(31,8)" ":PSET(30,8)GR$(60):FORI=0
TO3:LINE(234,H(1)+I+1)-(253,H(1)+I+1),C1:BOXF(250+I,64)-(252+I,H(3)-I),C4:LINE(2
42,H(3)-I)-(261,H(3)-I),-(C4+1):GOSUB65:NEXT:H(3)=H(3)-4:BOXF(248,64)-(255,H(3))
,C1:H(1)=H(1)+4:PS
57 IFH(3)>100THENGOSUB65:RETURNELSEGOSUB60
58 PSET(29,12)GR$(53),CA:PSET(29,11)GR$(52):PSET(32,13)" ":PSET(31,13)GR$(60):FO
RI=0TO3:LINE(242,H(3)+I+1)-(260,H(3)+I+1),C1:BOXF(258,104)-(258+I,169),C4:GOSUB6
5:NEXT:H(3)=H(3)+4:BOXF(256,104)-(263,169),C1:GOSUB61:PSET(29,11)" ",CA:PSET(29,
12)GR$(54):BOXF(24
59 C(K2)=C(K2)-1:IFC(K2)<15THENX9=260:GOTO91ELSEX3=30:Y3=C(K2)+1:CC=1:GOTO98
60 PSET(X0,Y0)O8$:PSET(X0,Y0-1)O7$:RETURN
61 COLORC2:PSET(X0,Y0)O6$:PSET(X0,Y0-1)O5$:RETURN
62 GOSUB95:IFX1(B)<120THEN74ELSEGOTO77
63 PSET(19,2)GR$(47),CB,0:COLOR1,C0:PLAY"A2T1O4L8DOREMI":RETURN
64 BOXF(152,0)-(159,23),-(C5+1):PSET(19,Y2)GR$(47),CB,C5:COLOR1,C0:PLAY"L8DOREMI
":RETURN
65 PLAY"O2A1T1L4SILASOFAMIREDO":RETURN
66 FORI0=0TO93:FORI=1TO8:READG0(I):NEXT:DEFGR$(I0)=G0(1),G0(2),G0(3),G0(4),G0(5)
,G0(6),G0(7),G0(8):NEXT:RETURN
67 DATA60,126,102,90,36,24,44,118,110,118,90,90,24,24,24,60,30,31,23,47,22,142,2
22,122,58,26,26,28,12,12,12,60,30,31,23,47,22,14,30,54,123,221,30,30,12,12,12,60
,60,62,46,94,44,28,60,52,238,159,60,60,28,182,99,39,120,248,232,244,104,113,123,
94,92,88,88,56,48,
68 DATA48,50,104,56,58,64,232,248,48,240,256,88,6,9,14,57,59,7,10,9,57,59,31,28,
7,54,58,32,29,12,54,58
69 DATA56,126,64,86,224,70,232,110
70 DATASI,SO,SI,P,SI,SO,SI,P,SI,SO,SI,P,SI,SO,SI,P
71 BOX(X,Y+14)-(X+23,Y+15),C8:BOX(X,Y)-(X+1,Y+15),C8:BOX(X+22,Y)-(X+23,Y+15),C8:
LINE(X,Y+20)-(X+23,Y+20),CA:BOXF(X2,Y)-(X2+5,Y+15),C1:RETURN
72 PSET(X2,Y)GR$(P),CA:PSET(X2,Y+1)GR$(P1):PSET(X,Y+1)GR$(60):RETURN
73 RESTORE69:FORI=1TO4:READX,Y:BOX(X,Y)-(X+23,Y+1),C6:NEXT:RETURN
74 XA=32:IFK1>0THEN88
75 IFK1=C1ANDK0>0THENX4=0:X5=4:CD=K0:GOSUB79:GOTO88
76 COLORK2:FORI=32TO5STEP-1:LOCATEI,23:PRINTS$(6);" ":LOCATEI,22:PRINTS$(5);" ":
LOCATEI,21:PRINTS$(4);" ":BEEP:BEEP:BEEP:BEEP:NEXT:GOTO88
77 XA=238:IFK2>0THEN88ELSEIFK2=C1ANDK1>0THENX4=4:X5=30:CD=K1:GOSUB79:GOSUB88:GOT
O96
78 X4=0:X5=30:CD=K0:C(K0)=20:GOSUB79:GOTO88
79 COLORCD:FORI=X4TOX5:LOCATEI,23:PRINT" ";S$(6):LOCATEI,22:PRINT" ";S$(5):LOCAT
EI,21:PRINT" ";S$(4);:BEEP:BEEP:BEEP:NEXT:X4=I:GOSUB86:T0=POINT(283,187):BOXF(28
0,168)-(319,191),C1:GOSUB95:IFK1<1THENX3=8:Y3=16:CC=3:GOSUB98ELSEIFK2<1THENX3=30
:Y3=16:CC=3:GOSUB9
80 IFX4=5THENX4=0:GOSUB94:GOSUB96:C(K1)=20ELSEIFX4=31THENX3=30:Y3=C(K2)+1:CC=1:G
OTO98
81 IFX4<>35ORT0=-1THEN84ELSEIFC(T0)=20THEN84
82 P2=P3+(20-C(T0))*100+5*F:P3=P2:IFX4=35ANDC(T0)=15THENN=N+1:B0=110+10*F:P2=P3+
B0:LOCATE34,6:COLORT0:PRINTSTR$(B0):FORI=1TO3:PLAY"O4T3A4L16SILARESODOMI":NEXT:P
3=P2
83 LOCATE11,1:PRINTP2;:PLAY"L12O3DOREMIFASOLASIO4DO":LOCATE35,6:PRINT" ";
84 IFR0=1THEN99ELSERETURN
85 LINE(0,20)-(319,20),3:BOX(0,0)-(319,199),3:BOX(4,28)-(51,60),3:LOCATE1,4:COLO
R4:PRINT"SUPER":LOCATE1,5:PRINT"BONUS":BOX(268,28)-(315,60),3:LOCATE34,4:PRINT"B
ONUS":RETURN
86 LOCATEX4,23:PRINTS$(3):LOCATEX4,22:PRINTS$(2):LOCATEX4,21:PRINTS$(1):RETURN
87 LOCATEX4,23:PRINTS$(6):LOCATEX4,22:PRINTS$(5):LOCATEX4,21:PRINTS$(4):RETURN
88 A5=0:FORI=H(B)TOH(B)+16:LINE(X1(B),I)-(X1(B)+18,I),C1:LINE(XA+A5,191-A5)-(XA+
47-A5,191-A5),C4:A5=A5+1.3:GOSUB65:NEXT:H(B)=H(B)+16:BOXF(XA,168)-(XA+47,191),C1
:Y3=16:CC=3:IFB=0THENX3=8ELSEX3=30
89 GOSUB98:GOSUB95:IFK0=C1THENGOSUB94:GOTO96
90 RETURN
91 FORI=0TO23:LINE(X9-24+I,191-I)-(X9+24-I,191-I),7:GOSUB65:NEXT:BOXF(X9-24,168)
-(X9+24,191),C1:Y3=16:CC=3:IFX9<150THENX3=8ELSEX3=30
92 GOTO98
93 RETURN
94 N0=N0-1:C3=C3-1
95 K0=POINT(3,187):K1=POINT(43,187):K2=POINT(251,187):IFC3=0ANDK1=C1ANDK2=C1THEN
R0=1:GOTO81ELSERETURN
96 LOCATE1,19:IFC3<0THEN C3=0
97 COLORC3:PRINTC3;:X4=0:GOSUB87:LOCATE22,15:COLORC2:PRINTN1;:RETURN
98 FORI=20TOY3STEP-1:PSET(X3,I)GR$(64),CC,4:NEXT:COLOR,0:RETURN
99 S9=INT(N1*N*(17+3.5*F)/100)*100:IFS9>0THENP2=P3+S9:LOCATE1,6:COLOR1:PRINTRIGH
T$(STR$(S9),LEN(STR$(S9))-1):PLAY"O4A3T4L24LASOLASI":LOCATE12,1:PRINTRIGHT$(STR$
(P2),LEN(STR$(P2))-1)
100 IFP0<P2THENP0=P2
101 P3=0:S9=0:R0=0:N=0:ATTRB0,1:LOCATE9,23:COLOR2:PRINT"POUR REJOUER : ";:COLOR0
,3:PRINT"ENTREE";:ATTRB0,0:BOX(0,192)-(319,193),C1:R$=INKEY$
102 R$=INKEY$:IFR$=""THEN102
103 IFASC(R$)=13THEN3
104 CONSOLE0,24:SCREEN6,0:CLS