Hebdogiciel n°77

1 ! EXEL BRIQUES
2 ! PAR JEAN-LUC GRISON          
3 ! SUR EXL-100
9 !           TITRE INSTRUCTIONS
10 !
11 CLS "CBB"
12 CALL COLOR("0GBHLF")
13 LOCATE (8,9):PRINT "EEXXEELL  BBRRIIQQUUEESS"
14 LOCATE (9,9):PRINT "EEXXEELL  BBRRIIQQUUEESS"
15 CALL COLOR("0RB")
16 LOCATE (15,15):PRINT "voulez vous des explications  [O/N]"
17 R$=KEY$:IF R$<>"O"AND R$<>"N" THEN 17
18 IF R$="O" THEN 20
19 IF R$="N" THEN 42
20 CLS "CBB":CALL COLOR("0GB")
21 LOCATE (3,5):PRINT "Ce jeu a pour but de detruire le maximun"
22 PRINT "de briques avec une balle."
23 PRINT "Cette balle apparait au milieu de"
24 PRINT "l'ecran,vous devez la renvoyer avec"
25 PRINT "la raquette situee en bas du terrain."
26 PRINT "Vous pouvez deplacer la raquette avec"
27 PRINT "Les touches curseur-> <- ou avec"
28 PRINT "la manette de jeu orange."
29 PRINT "Lorsque vous faites un bois,(balle sur "
30 PRINT "le bord de la raquette),un rebond"
31 PRINT "bizard peut se produire."
32 PRINT "Lors des deplacements raquette"
33 PRINT "la balle ralentit."
34 PRINT "Vous disposez de 5 balles."
35 LOCATE (20,10):PRINT "A VOUS DE JOUER"
36 A$=KEY$
37 !
38 !INITIALISATION
39 !SONS
40 !CARACTERES
41 !
42 DIM TA(22,33)
43 T1$="0D7C8BAABAB602FC"
44 T2$="0D7C91B2BAB602FC"
45 CALL CHAR(1,"FFFFFFFFFFFFFFFFFFFF")
46 CALL CHAR(2,"007E7E7E7E7E7E7E7E00")
47 X=9:Y=18:RY=18:BX=X:BY=Y:X1=1:Y1=1:BA=10:SC=0
48 !
49 !            TERRAIN + BALLE
50 !
51 CLS "CBB"
52 GOSUB 53:GOSUB 77:GOSUB 67:GOSUB 83
53 FOR I=1 TO 20
54 CALL COLOR("1CB")
55 LOCATE (I,6):PRINT CHR$(1)
56 TA(I,7)=2:TA(I,6)=2
57 LOCATE (I,32):PRINT CHR$(1)
58 TA(I,31)=2:TA(I,32)=2
59 NEXT I
60 FOR I=7 TO 31
61 CALL COLOR("1CB")
62 LOCATE (1,I):PRINT CHR$(1)
63 TA(2,I)=3:TA(1,I)=3
64 NEXT I
65 RETURN
66 !
67 FOR I=8 TO 30
68 CALL COLOR("1MB")
69 LOCATE (8,I):PRINT CHR$(2):TA(8,I)=4
70 CALL COLOR("1GB")
71 LOCATE (6,I):PRINT CHR$(2):TA(6,I)=4
72 CALL COLOR("1YB")
73 LOCATE (4,I):PRINT CHR$(2):TA(4,I)=4
74 NEXT I
75 RETURN
76 !
77 FOR I=-1 TO 1
78 CALL COLOR("0WB")
79 LOCATE (21,RY+I):PRINT CHR$(61)
80 TA(20,RY-1)=5:TA(20,RY+1)=5:TA(20,RY)=6
81 NEXT I
82 RETURN
83 TA(2,7)=7:TA(2,31)=7
84 LOCATE (10,34):PRINT "BALLES":LOCATE (11,36):PRINT BA
85 !
86 !                JEU
87 !
88 X=X+X1:Y=Y+Y1
89 IF X>21 THEN GOTO 109
90 IF TA(X,Y)=0 THEN 101
91 IF TA(X,Y)=2 AND Y1<0 THEN Y1=1:X1=SGN(X1):CALL SPEECH("L,"&T1$):GOTO 101
92 IF TA(X,Y)=2 AND Y1>0 THEN Y1=-1:X1=SGN(X1):CALL SPEECH("L,"&T1$):GOTO 101
93 IF TA(X,Y)=3 THEN X1=1:CALL SPEECH("L,"&T1$):GOTO 101
94 IF TA(X,Y)=4 AND X1>0 THEN X1=-1:TA(X,Y)=0:GOTO 99
95 IF TA(X,Y)=4 AND X1<0 THEN X1=1:TA(X,Y)=0:GOTO 99
96 IF TA(X,Y)=5 THEN X1=-2:Y1=SGN(S):CALL SPEECH("L,"&T2$):GOTO 101
97 IF TA(X,Y)=6 THEN X1=-1:CALL SPEECH("L,"&T2$):GOTO 101
98 IF TA(X,Y)=7 THEN X1=SGN(BX-X):Y1=SGN(BY-Y):CALL SPEECH("L,"&T2$):GOTO 101
99 SC=SC+(24/X)*25:CALL AFC(SC,T1$):IF SC=29900 THEN 127
100 IF SC=7475 OR SC=14950 OR SC=22425 THEN GOSUB 67:X=9:Y=18:PAUSE 5
101 CALL BAL(X,Y,BX,BY):BX=X:BY=Y
102 CALL KEY1(CC,TT):IF TT=0 THEN 88
103 IF CC=129 THEN RY=RY+1:S=1:CALL RAQ1(RY,TA(,)):GOTO 105
104 IF CC=131 THEN RY=RY-1:S=-1:CALL RAQ2(RY,TA(,)):GOTO 105
105 P=P+1:IF P<2 THEN 102 ELSE P=0:GOTO 88
106 !
107 !         UNE AUTRE BALLE
108 !
109 BA=BA-1:IF BA=0 THEN 115
110 PAUSE 2:X=9:Y=INTRND(23)+7
111 LOCATE (11,36):PRINT BA:GOTO 88
112 !
113 !               PERDU
114 !
115 CALL COLOR("0RB")
116 LOCATE (10,16):PRINT "PERDU"
117 GOTO 123
118 !
119 !               GAGNE
120 !
121 CALL COLOR("0RB")
122 LOCATE (10,7):PRINT "VOUS ETES UN SUPER CHAMPION"
123 LOCATE (12,7):PRINT "VOULEZ VOUS REJOUER,[O/N]"
124 REP$=KEY$
125 IF REP$<>"O"AND REP$<>"N" THEN 124
126 IF REP$="O" THEN 42
127 IF REP$="N" THEN END
128 !
129 !           SOUS PROGRAMMES
130 !
131 SUB BAL(X,Y,BX,BY)
132 CALL COLOR("0RB")
133 LOCATE (X,Y):PRINT CHR$(1)
134 LOCATE (BX,BY):PRINT CHR$(0)
135 SUBEND
136 !
137 SUB RAQ1(RY,TA(,))
138 CALL COLOR("0WB"):IF RY>30 THEN RY=30
139 LOCATE (21,RY+1):PRINT CHR$(61)
140 LOCATE (21,RY-2):PRINT CHR$(0)
141 TA(20,RY-2)=0:TA(20,RY-1)=5:TA(20,RY)=6
142 IF RY=30 THEN TA(20,RY+1)=7 ELSE TA(20,RY+1)=5
143 SUBEND
144 !
145 SUB RAQ2(RY,TA(,))
146 CALL COLOR("0WB"):IF RY<8 THEN RY=8
147 LOCATE (21,RY-1):PRINT CHR$(61)
148 LOCATE (21,RY+2):PRINT CHR$(0)
149 TA(20,RY+2)=0:TA(20,RY)=6:TA(20,RY+1)=5
150 IF RY=8 THEN TA(20,RY-1)=7 ELSE TA(20,RY-1)=5
151 SUBEND
152 !
153 SUB AFC(SC,T1$)
154 CALL SPEECH("L,"&T1$)
155 CALL COLOR("0CB")
156 LOCATE (4,34):PRINT "SCORE"
157 LOCATE (4,34):PRINT INT(SC)
158 SUBEND

Ce listing est uniquement proposé pour un usage privé.
Sans accord écrit préalable, vous n'êtes pas autorisé à le distribuer, le transmettre ou le rediffuser.