Code : Tout sélectionner
1 '---------------------------------
2 ' Basic 512 Microsoft I
3 ' BOWLING Thomson TO 8 1987 I
4 ' I
5 ' THIBURCE Christophe I
6 '---------------------------------
10 CLEAR,,3:FV=4:GOSUB 3010:X=0:Y=0
12 H=RND
13 IF NOT PTRIG THEN 12 ELSE BEEP
14 GOSUB 1120:GOSUB 1160:COLOR,0
17 '
18 ' TRAJET DE LA BOULE
19 '
20 FOR T=0 TO 1000
22 ATTRB0,0
25 H=RND:IF PI=1 THEN VX=-INT(H*FV) ELSEVX=INT(H*FV)
40 PSET(PPX,22)" ":PX=PX+VX
50 IF CINT(PX)<=36 THEN 60 ELSE IP=0:PLAY"A2T1SI":CT=CT+1:PX=36:PI=1
60 IF CINT(PX)>=0 THEN 70 ELSE IP=0:PLAY"A2T1SI":CT=CT+1:PX=0:PI=0
70 PSET(PX,22)GR$(0):PPX=PX
72 IF IP=1 THEN 80
75 IF PTRIG THEN IP=1:GOSUB 100
80 NEXT T
89 '
90 ' Lance de la boule
91 '
100 PSET(PPX,22)" ":X=PX:Y=22
105 COLOR15,0:ATTRB0,0
110 FOR T=1 TO 22
120 TES=POINT(X*8+4,(Y-T)*8+4):IF TES=11 THEN Y=Y-T:GOSUB 1010
125 IF TES=-5 THEN RETURN
130 PSET(X,Y-T+1)" "
140 PSET(X,Y-T)GR$(0)
150 PLAY"P":NEXTT:PSET(X,0)" "
159 '
160 ' S C O R E
161 '
170 FOR S=SC TO SCO
172 ATTRB0,1
175 IF S>9 THEN SP=6
177 IF S>99 THEN SP=5
180 COLOR 3,1:LOCATESP,2:PRINTS:IFS<10 THEN LOCATE7,2:PRINT"0"
182 IF S>99 THEN 190
185 IF S>9 THEN LOCATE6,2:PRINTCHR$(48)
190 PLAY"T1L5DOREMIFASIL24"
200 NEXT S:SC=SCO
210 IF IPI=1 THEN IPI=0:RETURN
215 IF JT=1 THEN JT=0:GOTO 1260
220 COLOR,4:GOTO 12
999 '---------------------------------
1000 ' Zone des sousprogrammes I
1001 '---------------------------------
1005 '-SSPROG-> .... quille tombee ....
1006 '
1010 IF X=18 THEN 1100
1020 LOCATEX,Y-1:PRINTEFQUI$:PLAY"DO":SCO=SCO+5:PSET(X,Y+1)" "
1025 IF Y=1 THEN 1050
1030 IF POINT((X-1)*8+4,(Y-3)*8+4)=11 THEN LOCATEX-1,Y-3:PRINTEFQUI$:SCO=SCO+5
1040 IF POINT((X+1)*8+4,(Y-3)*8+4)=11 THEN LOCATEX+1,Y-3:PRINTEFQUI$:SCO=SCO+5
1045 PLAY"T1A0L24DORESISOPPPPPPPPPPPPP":PSET(X,Y+1)" ":COLOR,4:GOTO 170
1050 Y=22:GOTO 170' :RETURN
1099 '
1100 ' Partie gagnee
1101 '
1110 BOXF(104,64)-(192,0),0:PLAY"DORESISO"
1112 NBT=SCO/5:SCO=SCO+(13-NBT)*5
1114 GOSUB 1230
1116 JT=1:GOTO 170
1119 '
1120 '-SSPROG-> .... 1 Boule perdue ....
1121 '
1125 COLOR,0
1130 PSET(33-BP,0)" ":IF BP=10 THEN GOSUB 1230:IPI=1:GOSUB 170:GOTO 1250
1140 BP=BP+1
1150 COLOR,4:RETURN
1159 '
1160 '-SSPROG-> Depart d'une boule
1161 '
1165 COLOR15,0
1170 FOR T=0 TO 21
1180 PSET(23,T)GR$(0)
1190 PLAY"A2T1DO":PSET(23,T)" "
1200 NEXT T
1210 RETURN
1219 '
1220 '-SSPROG-> ..reste-il des boules
1221 '
1230 BP=BP*2:SCO=SCO+60-BP*3-INT(C/2)
1240 RETURN
1249 '
1250 'SSPROG-> JEU TERMINE
1251 '
1260 OLAC=OLAC+4:LOCATE 30,2+OLAC:COLOR3,0:PRINTSCO:ATTRB0,0:GOTO 3020
3000 '---------------------------------
3001 ' I
3002 ' I n i t i a l i s a t i o n I
3003 ' I
3004 '---------------------------------
3010 CLS:LOCATE0,0,0:SCREEN0,4,0:GOSUB4020:SCREEN0,4,0:DIMB$ (50):SP=7
3020 COLOR,0:FV=FV+2:FA=FA+1:CGT=CGT+1:CT=0
3030 IF FA=5 THEN 3040 ELSE 3060
3040 IF NOT PTRIG THEN 3040 ELSE 10
3060 DEFGR$(0)=0,0,24,60,60,24,0,0
3070 DEFGR$(1)=24,60,60,24,60,60,60,60
3080 DEFGR$(2)=60,60,60,60,60,60,24,0
3090 QUILLE$=GR$(1)+CHR$(10)+CHR$(8)+GR$(2)
3100 EFQUI$=" "+CHR$(10)+CHR$(8)+" "
3190 GOSUB 3330
3200 '***** AFFICHAGE DES QUILLES *****
3205 A=14:B=0:W=8:COLOR11,0
3210 FOR T=0 TO W STEP 2
3220 LOCATE A+T,B:PRINTQUILLE$
3230 NEXT T:CT=CT+1
3235 IF CT=3 THEN 3270
3240 IF CT=1 THEN 3250 ELSE 3260
3250 W=6:B=2:A=15:GOTO 3210
3260 W=4:B=4:A=16:GOTO 3210
3270 COLOR 1:LOCATE 18,6:PRINTQUILLE$:COLOR 0,4
3280 '****** RESERVE DE BOULLES ******
3285 COLOR 15,0
3290 FOR T=0 TO 9
3300 PSET(24+T,0)GR$(0)
3310 NEXT T:COLOR,4:GOTO 3350
3320 '**** Construction du bowling ****
3330 BOXF(13,0)-(23,22)" ",0
3340 BOXF(0,22)-(40,24)" ",0
3345 BOXF(37,0)-(40,24)" ",0:RETURN
3349 '
3350 '******** SCORE ********
3360 COLOR3,1:LOCATE0,2:ATTRB0,1:PRINT"SCORE 000":LOCATE0,6:PRINT"force";CGT
4000 '======== D . A . T . A ========
4005 IF CGT>0 THEN SCO=0:SC=0:BP=0:IPI=0:SP=7:PI=0:GOTO 12
4020 '---------------------------------
4030 ' Page d'en tete I
4040 '---------------------------------
4050 GOSUB 3330
4060 COLOR3,4:LOCATE12,9:ATTRB1,1:PRINT"Bowling":ATTRB0,0
4070 LOCATE4,16:PRINT"1-Jeu":LOCATE4,18:PRINT"2-Regle du jeu ":LOCATE4,20:PRINT"3-Fin"
4080 K$=INPUT$(1)
4090 IF K$="1" THEN CLS:RETURN
4100 IF K$="2" THEN 4160
4110 IF K$="3" THEN RUN"AUTO.BAT"
4120 BEEP:GOTO 4080
4130 '---------------------------------
4140 ' Regle du jeu I
4150 '---------------------------------
4160 CLS:SCREEN7,0,0
4170 LOCATE1,0:PRINT" Ce jeu demande une grande attention et beaucoup de reflexes...":PRINT
4175 PRINT" Le but du jeu est de faire tomber toutes les quilles de la piste. Une boule se deplace de droite a gauche et de gauche a droite.":PRINT
4180 PRINT" Appuie sur le crayon optique pour la lancer , mais attention:pour reussir,il s'agit de viser juste.":PRINT
4190 PRINT" Tu peux suivre le score et le niveau de jeu sur la partie gauche du BOWLING, mais attention:le score final prend en compte tous les parametres.
4195 PRINT" Il sera affiche sur la partie droite du BOWLING.":PRINT
4200 PRINT" L'ordinateur te donne droit a trois chances, mais le niveau augmente a chaque fois.":PRINT
4210 COLOR1:PRINT"Presse le crayon optique pour commencer";CHR$(11)
4220 IF NOT PTRIG THEN PLAY"L1DO":GOTO 4220 ELSE CLS:RETURN