Golf pour Sharp PC1500 ( pas de programme )
tir du magazine Hebdogiciel N17

	Votre PC1500 vous transporte sur un vritable Green anglais. Munissez-vous d'un parapluie, on ne sait jamais !

Mode d'emploi :
	Ce programme tenant dans un PC1500 avec son module de 4Ko permet de jouer au golf avec un parcours de 5 trous ( on peut changer ce nombre ).
	Avec la touche 0 on excute le tir, avec + on baisse la puissance au tir et avec / on l'augmente.
	La touche 1 donne un tir  ras du sol.
	Les parcours et les longueurs sont tirs d'une faon alatoire. Le nombre de coup par parcours est inscrit  gauche de l'cran : un tir trop fort fait recommencer au dbut du parcours.

Programme :
2 REM *pc1500**france p.***
3 "A":CLEAR:RANDOM:U=RND 40+80:W=16:F=26:DIM A$(5)*22,B$(7)*2:O=3:I$="7F4E44"
4 A$(1)="464464544E526040":A$(2)="505078644E5460":A$(3)="404060707E526040"
5 A$(4)="404060504E56685050":A$(5)="404060504E566444464040"
6 B$(0)="60":B$(1)="50":B$(3)="48":B$(4)="50":B$(5)="60":B$(6)="50":B$(7)="60"
7 GOSUB "pres"
8 K=K+1:U=RND 40+80:O$="4040404040404040404040404040404040"
9 W=26:F=36:GOSUB "NO":WAIT 0:CLS
10 FOR I=15 TO U+5 STEP 10:GCURSOR I:GPRINT "40404040404040404040":NEXT I
14 REM ---dessin du parcours---
15 GCURSOR W:GPRINT A$(1)
16 GCURSOR F:GPRINT (32 OR POINT F)
17 GCURSOR U:GPRINT 0
18 GCURSR U+5:GPRINT I$
19 CURSOR 1:PRINT R
50 GCURSOR 135:PRINT O-3
51 B$=INKEY$
52 REM extinction ou allumage du son
53 IF B$="q" BEEP OFF
54 IF B$="w" BEEP ON
55 IF B$="o" LET R=R+1:GOSUB "TIR"
56 IF B$="/" LET O=O+1:BEEP 1,10,75
57 IF B$="+" LET O=O-1:BEEP 1,10,75
58 IF B$="1" LET R=R+1:GOSUB "SOL"
61 IF B$="w" BEEP OFF
69 IF O<=3 LET O=3
70 IF O>=9 LET O=9
120 GOTO 15
4999 REM ----tir----
5000 "TIR":GOSUB "C"
5001 F=INT RND 15+((W=7)*(O/3)):C=32
5002 FOR I=W+9 TO F:BEEP 1,25,25
5003 GOTO G
5004 C=C/2:IF C<=1 LET C=1
5005 GOTO 5008
5006 IF C=64 GOSUB "RE":GOTO 5030
5007 C=C*2:IF C>32 LET C=32
5008 GCUROSR I:GPRINT 64 OR POINT (I+1);C OR POINT(I+1)
5009 IF I>=F-7 LET G=5006
5010 IF I>U GOSUB "CONT"
5012 IF I+1=U AND C=32 GOSUB "T"
5013 NEXT I:IF INT I>U+3 GOSUB "RET
5014 GOSUB "RE":GOTO 5030
5015 REM --dessin du rebond de la balle--
5016 "RE":WAIT 3:FOR I=0 TO 7:F=F+1:WAIT I:BEEP 1,25,25:Q=F
5017 IF F>U GOSUB "CONT"
5018 IF Q+2=U AND VAL B$(I)=60 GOSUB "T"
5019 GOSUB "H":NEXT I:RETURN
5020 "H":GCURSOR F:GPRINT "4040";B$(I):RETURN
5030 GCURSOR W:GPRINT "4040404040404040404040":W=F-7:GCURSOR F:GPRINT 64:F=I:GOTO 15
5999 REM --tir au ras du sol--
6000 "SOL":GOSUB "C":C=32:FOR I=W+10 TO W+10+O:GCUROSR I:GPRINT "40";C OR POINT I:BEEP 1,25,25
6001 IF INT I>=U-1 GOSUB "T"
6002 GCURSOR F:GPRINT "40"
6004 NEXT I
6051 GCURSOR W:GPRINT O$:W=I-8:GCURSOR I+1:GPRINT 64:F=I+1:GCURSOR W-INT (O/3):GPRINT "4040":RETURN
6499 REM --dcomposition du mouvement du joueur--
6500 "C":WAIT 0:G=5004:FOR I=1 TO 5:GCURSOR W:GPRINT A$(I):BEEP 1,1,1:NEXT I:RETURN
6999 REM --trou russi--
7000 "T":WAIT 100:GCURSOR U:GPRINT "404040":GOSUB "NO":GOSUB "EN":GOTO 9
7501 "NO":IF K>5 GOTO "FIN"
7502 WAIT 50:GOSUB "MU1":PRINT "trou No";K:RETURN
7503 "EN":PRINT "en ";R;" coups":V=V+R:R=0:GOTO 8
8500 FOR X=I TO RND (I-30)+30 STEP -1:GCURSOR X:GPRINT "6040":NEXT X:GOSUB "EFF":W=X-10:F=X:GOTO 15
8900 REM --effacement de la dernire position du tireur--
9000 "EFF":GCUROSR W:GPRINT O$:GCURSOR F:GPRINT "40":RETURN
9979 REM --coup trop long--
9980 "CONT":WAIT 25:GCURSOR 80:PRINT "trop fort":GOSUB "MU2":GOTO 9
9985 REM nombre de coup au total
9990 "FIN":WAIT 10:PRINT " 5 trous en ";V;" coups"
9991 REM moyenne de coup pour chaque trous
9992 PRINT "moyenne :":WAIT 150:CLS:PAUSE INT (V/5);" coups par trous":END
19999 REM ---prsentation du programme et explications---
20000 "PRES":WAIT 0:RESTORE 20100:FOR I=0 TO 25:READ A:GCURSOR I+65:GPRINT A:BEEP 1,5,75:NEXT I
20100 DATA 62,65,65,73,57,0,0,62,65,65,65,62,0,0,127,64,64,64,64,0,0,127,9,9,9,9
20200 WAIT 0:FOR I=0 TO 150:GCURSOR I:GPRINT 127-POINT I:NEXT I
20400 FOR I=0 TO 7:BEEP I,75,200:NEXT I
20500 FOR I=65 TO 90:GCURSOR I:GPRINT 127:NEXT I
20550 CLS
20600 GCURSOR 0:PRINT "(/)pour augmenter le tir":GOSUB 25000
20625 CLS
20650 GCURSOR 0:PRINT "(+)pour baisser le tir":GOSUB 25000
20700 CLS
20750 GCURSOR 0:PRINT "(o)pour tirer":GOSUB 25000
20850 GCURSOR 0:PRINT "(1)pour tirer  ras du sol":GOSUB 25000:RETURN
25000 FOR I=0 TO 155:GCURSOR I:GPRINT 127-POINT I:BEEP 1,25,10:NEXT I:BEEP 5,5,5:RETURN
25999 REM---musique de russite d'un tir ou de commencement d'un nouveau trou
26000 "MU1":DO=105:TP=80:SO=68:M=82
26001 FOR I=1 TO 5:BEEP 1,do,tp:BEEP 1,mi,tp:BEEP 1,so,tp:NEXT I:RETURN
26005 REM ---musique d'un coup trop fort ---
26010 "MU2":SI=112:DO=105:RE=93:MI=82:SO=68:TP=80
26011 BEEP 2,do,300:BEEP 1;do,90:BEEP 1,do,270:BEEP 1,mi,300:BEEP 1,re,90:BEEP 1,re,270:BEEP 1,do,9
26012 BEEP 1,do,270:BEEP 1,si,90:BEEP 1,do,540:RETURN