##Bowling pour Sharp PC1500 ( pas de programme )
##tir du magazine Hebdogiciel N13
##
##	Un vrai bowling avec STRIKE et compteur de points; n'oubliez ##pas vos lunettes ! Lancez le programme avec DEF A et la bille avec la barre d'esoace.
##
##Programme :
1 REM ***auteur***
2 REM Charles Caron
3 REM ***bowling***
4 REM *sur pc1500*
5 "A":CLEAR:RANDOM:WAIT 0:DIM A(9):FOR L=1 TO 5:T=0
10 A(0)=8:A(1)=1:A(2)=4:A(3)=16:A(4)=64:A(5)=2:A(6)=8:A(7)=32:A(8)=4:A(9)=16
20 A=A(1)+A(2)+A(3)+A(4):B=A(5)+A(6)+A(7):C=A(8)+A(9):D=A(0):I=1:GPRINT A;E;B;E;C;E;D
25 GPRINT A;E;B;E;C;E;D;:CURSOR 20:PRINT L
30 I=I*2:GCURSOR 49:GPRINT I:A$=INKEY$:IF A$=" " GOTO 100
40 IF I=64 GOTO 60
50 GOTO 30
60 I=I/2:GCURSOR 49:GPRINT I:A$=INKEY$:IF A$=" " GOTO 100
70 IF I=1 GOTO 30
80 GOTO 60
100 T=T+1:FOR J=49 TO 3 STEP -2:GCURSOR J:GPRINT I;:GCURSOR J+2:GPRINT E:BEEP 1,30,30:NEXT J:BEEP 5,10,100:GCURSOR J:GPRINT E:GOSUB 200:GOSUB 400
110 IF T=2 PAUSE:PAUSE "Vous avez";P;" points":NEXT L:GOTO 700
120 GOTO 20
200 Z=RND 3:IF Z=2 GOTO 280
210 IF I=1 LET A(1)=0
220 IF I=2 LET A(1)=0:A(2)=0:A(5)=0
230 IF I=4 LET A(1)=0:A(2)=0:A(3)=0:A(4)=0:A(5)=0:A(6)=0:A(8)=0
240 IF I=8 LET A(6)=0:A(8)=0:A(9)=0:A(0)=0
250 IF I=16 LET A(1)=0:A(2)=0:A(3)=0:A(4)=0:A(6)=0:A(7)=0:A(9)=0
260 IF I=32 LET A(3)=0:A(4)=0:A(7)=0
270 IF I=64 LET A(4)=0
275 RETURN
280 IF I=1 LET A(1)=0:A(2)=0:A(5)=0
290 IF I=2 LET A(1)=0:A(2)=0:A(3)=0:A(5)=0:A(6)=0:A(8)=0
300 IF I=4 LET A(1)=0:A(2)=0:A(3)=0:A(4)=0:A(5)=0:A(6)=0:A(7)=0:A(8)=0:A(9)=0
310 IF I=8 LET A(1)=0:A(2)=0:A(3)=0:A(4)=0:A(5)=0:A(6)=0:A(7)=0:A(8)=0:A(9)=0:A(0)=0
320 IF I=16 LET A(1)=0:A(2)=0:A(3)=0:A(4)=0:A(5)=0:A(6)=0:A(7)=0:A(8)=0:A(9)=0
330 IF I=32 LET A(2)=0:A(3)=0:A(4)=0:A(5)=0:A(6)=0:A(7)=0
340 IF I=64 LET A(3)=0:A(4)=0:A(7)=0
350 RETURN
400 IF T=1 GOSUB 500:RETURN
410 IF T=2 GOSUB 600:RETURN
500 N=0:FOR G=0 TO 9:IF A(G)=0 LET N=N+1:NEXT G:GOTO 520
510 NEXT G
520 IF N=10 PAUSE "<<<<<<<<<<STRIKE>>>>>>>>>>":P=P+50:T=2
530 RETURN
600 V=0:FOR G=0 TO 9:IF A(G)=0 LET V=V+1:NEXT G:GOTO 620
610 NEXT G
620 IF V=10 LET P=P+25:RETURN
630 P=P+V:RETURN
700 WAIT:PRINT "Score final :";P:END