■GOLFER-PB-■
著作制作…………よなぷー
制作年月日………2017年4月14日
対応機種…………PB-100/110/120用ゲームプログラム
使用メモリ………1568ステップ
※「ク」はクラブ、「ス」はスペード、「ハ」はハートの記号です。
※「●」はスペース一個です。
※「○」はEXTモードの[SHIFT][A]です。
※「⊂」は[ANS]の下の[E]です。
P0
1 X=0:Y=1.5:E=INT(RAN#*4:T=0:K=0:W=0
2 PRINT "HOLE";Z;:$="●●・・・'・,O■":F=10*FRAC(LN Z*1⊂5:IF F≦3;F=F+3
3 FOR J=1 TO F:$=$+MID(1+10*FRAC(1⊂6*LN(Z+COS J,1):NEXT J
4 U=INT(F/3+2:$="□"+MID(11)+"P"
5 GOSUB #2:IF W≠3;PRINT CSR11;A$(E);CSRX;P$(Y);
6 IF KEY="+";GOSUB #1:GOTO 5
7 IF KEY="*";PRINT:PRINT "SC";L,"PAR";T;"/";U:GOTO 5
8 IF KEY≠"6" THEN 6
9 G=0:PRINT:FOR F=0 TO 11:PRINT CSR COSπ+F;"→";
11 IF KEY="-";IF G=0;G=F:PRINT CSRG;"*";:GOSUB #8:F=11
13 NEXT F:GOSUB #8:IF W=2;G=G*.5
15 IF W=1;IF K≠2;IF RAN#>.3;G=0
17 IF G=0;PRINT CSR3;"[MISS]";:GOTO 90
19 IF W=3 THEN 65
21 W=0:H=0:PRINT:FOR F=11 TO 0 STEP -1:PRINT CSRF+COSπ;"←";CSR5;"II";
23 IF KEY="-";IF H=0;H=F:PRINT CSRH;"*";:GOSUB #8:F=0
25 NEXT F:H=H-5.5:IF ABSH=.5;H=0
27 M=Y+2*(H/5.5:IF FRAC(E/2=0;M=M+E-1
29 N=X+.9+(3-K)↑2*.7*(G/11:IF FRAC(E/2≠0;N=N+(E-2)/2
31 IF N≦X;N=X+.1
33 S=Y:J=(M-Y)/(N-X):FOR F=X TO N
35 IF S≧0;IF 3>S;GOSUB #2:PRINT CSRF;P$(S);:G=COS TAN SIN π
37 S=S+J:NEXT F:T=T+1:IF N≧LEN($) THEN 41
39 IF S≧0;IF 3>S THEN 43
41 PRINT CSR4;"[OB]";:GOTO 90
43 G$=MID(N+1,1):IF G$≠"■" THEN 49
45 PRINT CSR1;"[WATER]";:IF N≧1;N=N-1:IF MID(N+1,1)="■" THEN 45
47 X=N:GOTO 90
49 IF G$≠"P" THEN 55
51 PRINT CSR2;"[GREEN]";:GOSUB #8:X=12*FRAC N:IF X≧5;IF 7>X THEN 75
53 $="■■■■■()■■■■■":W=3:GOTO 5
55 IF G$="O";PRINT CSR2;"[BUNKER]";:GOSUB #8:W=1
57 X=INT N:Y=INT S+.5:J$=MID(X+1,1):IF J$="'";IF 1>Y;GOSUB #3
59 IF J$="・";IF Y≧1;IF 2>Y;GOSUB #3
61 IF J$=",";IF Y≧2;GOSUB #3
63 GOTO 5
65 T=T+1:H=1:IF X≧7;H=-1
67 G=G-2:IF G≧0;X=X+H:GOSUB #2
69 IF ABS(INT X-5.5≦.5;IF G≦1 THEN 75
71 IF G≧2 THEN 67
73 GOTO 5
75 PRINT:PRINT "CUP●IN!";:GOSUB #8:Z=Z+1:L=L+T-U:PRINT
77 PRINT "HOLE●SC";T-U,"TOTAL";L:IF Z≠19 THEN 1
79 PRINT "ALL●CLEAR!","RESULT";L;:IF L≧V;END
81 STOP:PRINT "BEST●SC!":V=L:INPUT "NAME",O$:END
90 T=T+1:GOSUB #8:GOTO 5
P1
1 PRINT:PRINT "CLUB=";:IF W=3;PRINT "PUTTER":RETURN
3 IF K=0;PRINT "DRIVER";
5 IF K=1;PRINT "IRON";
7 IF K=2;PRINT "S.W";
9 IF KEY="Q";K=K-SGN K:GOTO 1
20 IF KEY="W";K=K+SGN(2-K:GOTO 1
30 IF KEY≠"-" THEN 9
40 PRINT "!";:GOTO #8
P2
10 PRINT CSR0;$;:IF W=3;PRINT CSRX;Q$;:RETURN
20 FOR I=LEN($)-1 TO 10:PRINT "ク";:NEXT I:RETURN
P3
10 PRINT CSR2;"[ROUGH]";:W=2:GOTO #8
P8
10 FOR I=0 TO 99:NEXT I:RETURN
P9
10 PRINT "●BY●YONAPUU","●GOLFER-PB-","TOP";V,"BY●";O$:A$="↑"
20 B$="←":C$="↓":D$="→":P$="゜":Q$="○":R$="o":Z=1:L=0:GOTO #0