home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / s85xx / s8503b.d64 / golf (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  9KB  |  212 lines

  1. 0 REM     ** GOLF ('85) ***
  2. 1 REM     *  ----------   *
  3. 2 REM     * B.TERTELMANN  *
  4. 3 REM     * OSTENDORF 36  *
  5. 4 REM     * 4435 HORSTMAR *                       *****************
  6. 5 PRINT"[147][155]* GOLF *":V=53248:POKEV+21,0:POKEV+32,11:POKEV+33,11:GOTO15
  7. 6 REM V+16 FUER BAEUME UND BALLBEWEGUNG
  8. 7 IFZ>WTHENZ=ZANDW:POKEV6,C
  9. 8 RETURN
  10. 9 IFD-C>WTHENPOKEV6,PEEK(V6)OR16:C=W+1:RETURN
  11. 10 IFD<CTHENPOKEV6,PEEK(V6)ANDNOT16:C=0
  12. 11 RETURN
  13. 15 V6=V+16:V0=V+30:V1=V0+1:O=21.9:W=255:M=40:SX=.8:SY=.8:S=54272:J=56320:B=2040
  14. 16 DIMP%(38),P(50):FORI=0TO38:READP%(I):NEXT
  15. 17 FORI=0TO7:READR(I),G(I),B(I),H(I):NEXT:N=20
  16. 18 FORI=0TO10:READP(I):P(N+I)=-P(I):P(N-I)=P(I):P(M-I)=-P(I):P(M+I)=P(I):NEXT
  17. 20 FORI=832TO864:READQ:POKEI,Q:NEXT:FORI=ITO989:POKEI,0:NEXT
  18. 25 FORI=ITOI+33:READQ:POKEI,Q:NEXT:FORI=12800TOI+46:READQ:POKEI,Q:NEXT
  19. 30 FORI=ITOI+38:POKEI,0:NEXT:FORI=ITOI+297:READQ:POKEI,Q:NEXT
  20. 35 POKE924,24:POKE927,60:POKE930,60:POKE933,24:POKEV+42,5:POKEV+43,1:REM BALL
  21. 40 DEFFNB(X)=O+(SIN(X/2)+COS(X/4))/2:REM BODENKURVE FUER 1.BILD
  22. 42 DEFFNH(X)=K+SIN(X/5)/2+(X-A)*L:REM    HORIZONT FUER 2.BILD
  23. 45 POKEV+37,10:POKEV+38,0:POKEB,200:POKEB+3,203:POKEB+4,14
  24. 50 POKES,0:POKES+6,0:POKES+7,0:POKES+9,0:POKES+10,8
  25. 55 POKES+13,0:POKES+14,0:POKES+19,9:POKES+20,0:POKES+24,15
  26. 60 PRINT"[147]":POKEV+33,6:POKEV+32,11
  27. 62 PRINTTAB(14)"[213][192][201][213][192][201][201]  [213][192][201]"
  28. 65 PRINTTAB(14)"[221]  [221] [221][221]  [221]"
  29. 68 PRINTTAB(14)"[221][192][201][221] [221][221]  [171][192]"
  30. 70 PRINTTAB(14)"[221] [221][221] [221][221]  [221]"
  31. 72 PRINTTAB(14)"[202][192][203][202][192][203][202][192][203][203]"
  32. 75 PRINTTAB(14)"************[144]"
  33. 80 PRINTTAB(8)"1 SPIELER.......TASTE 1"
  34. 82 PRINTTAB(8)"2 SPIELER.......TASTE 2":I=10
  35. 85 GETA$:IFA$="1"ORA$="2"THEN90
  36. 86 A=55600:FORK=0TO38:POKEA+P%(K),I^1:NEXT
  37. 87 FORK=0TO11:POKE55750+K,I^1:NEXT:I=7-(I=7)*3:GOTO85
  38. 90 SS=VAL(A$):BS(1)=999:BS(2)=999:SM(1)=0:SM(2)=0:SP=0
  39. 95 S(1)=0:S(2)=0:SP=SP+1:FORN=1TOSS:POKES+8,15:POKES+12,5:POKES+15,150
  40. 99 REM VORBEREITUNG BILD 1
  41. 100 POKEV+33,9:PRINT"[147]":POKEV+33,6:POKEV+32,11:POKEV+23,42:POKEV+29,232
  42. 105 POKEV+28,7:POKEV+40,5:POKEV+41,5:POKEV+44,0:POKEV+45,15:POKEV+46,15
  43. 110 POKEB+1,201:POKEB+2,202:POKEB+5,204:POKEB+6,13:POKEB+7,15
  44. 115 Q=RND(TI):A=Q*9999:A%=Q*20:X=A+A%:H=FNB(X)
  45. 120 Y=FNB(X+10):IFY+1<HTHEN115
  46. 125 IFY>HTHENH=Y
  47. 130 Z=A%+55297+INT(H)*M:FORI=0TO8:POKEZ+I,14:NEXT
  48. 135 Z=Z+41:FORI=0TO6:POKEZ+I,14:NEXT:L=A%+1024:R=L+10
  49. 140 K=0:FORX=A+37TOA+39:IFFNB(X)>=22THENK=1
  50. 145 NEXT:Y=56173:FORI=0TO2:FORX=0TOK:POKEY+I+X*M,8:NEXT:NEXT
  51. 150 POKEV6,1:POKEV,64:POKEV+1,FNB(A+38)*8+35
  52. 155 K=1:IFA%>14THENK=3:GOTO165
  53. 160 IFA%>7THENK=2
  54. 165 X%(K-1)=A%+8:FORI=KTO3:X%(I)=RND(1)*(11+I*6-X%(I-1))+X%(I-1)+6:NEXT
  55. 170 ONKGOTO185,180
  56. 175 X%(1)=RND(1)*(A%-12)+4:X%(2)=RND(1)*(A%-8-X%(1))+X%(1)+6:GOTO185
  57. 180 X%(1)=RND(1)*(A%-6)+4
  58. 185 X%=RND(1)*3+1
  59. 190 Y%=RND(1)*3+1:IFY%=X%THEN190
  60. 195 K=6-X%-Y%:X=X%(X%):Z=X*8+18:C=3:GOSUB7:POKEV+2,Z:POKEV+3,FNB(X+A)*8+8
  61. 200 X=X%(Y%):Z=X*8+18:C=5:GOSUB7:POKEV+4,Z:POKEV+5,FNB(X+A)*8+29
  62. 205 X=X%(K):Z=X*8+8:C=41:GOSUB7:POKEV+6,Z:POKEV+10,Z
  63. 210 Z=FNB(X+A)*8+8:POKEV+7,Z:POKEV+11,Z:POKEV+8,0
  64. 215 POKEV+12,132:POKEV+13,73:POKEV+14,180:POKEV+15,63
  65. 220 X=A:FORI=1024TO1063:IFI>LANDI<RTHENY=H:GOTO230
  66. 225 Y=FNB(X)
  67. 230 Y%=Y:POKEI+M*Y%,B(8*(Y-Y%)):FORY=Y%+1TO24:POKEI+M*Y,160:NEXT:X=X+1:NEXT
  68. 235 PRINT"[144]":ONSSGOSUB670,680:L=A%+2:R=L+10
  69. 240 PRINTTAB(5)"[172][190]  [188][146][187]":PRINTTAB(5)"[190]    [188]"
  70. 245 PRINTTAB(5)"  [152]              ":PRINTTAB(3)"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]"
  71. 250 PRINTTAB(5)"[187]    [172][144]":POKEV+21,W:Z=931:P=0:U=5
  72. 254 REM SPIEL BILD 1
  73. 255 C=0:X=A:X%=0:D=14
  74. 260 POKES+6,0:Y=FNB(X):E=Y*8+37:X=0
  75. 265 POKEV+8,D-C:POKEV+9,E:POKEV+27,0:GOSUB650:IFX%>38THEN310
  76. 270 GOSUB550:F=2*SGN(T):K=F:G=G*T:G=G*G:T=P(P)/T:POKEV+27,16
  77. 275 POKEZ,0:POKES+4,129:Y=PEEK(V0)+PEEK(V1)
  78. 280 D=D+K:IFD<14ORD>328THENPOKES+5,9:POKES+4,0:POKES+4,17:K=-K:D=D+K+K
  79. 285 IFPEEK(V0)AND14THENPOKES+18,0:POKES+18,129:K=-K:D=D+K+K
  80. 290 X=X+F:Y=E+X*(X/G-T):IFY>240THEN300
  81. 295 GOSUB9:POKEV+8,D-C:POKEV+9,Y:IFNOTPEEK(V1)AND16THEN280
  82. 300 X%=D/8+.5:IFX%>LANDX%<RTHENPOKEV+9,H*8+40:GOTO500
  83. 305 POKES+11,0:POKES+11,17:X=X%-2+A:D=X%*8-2:GOSUB9:GOTO260
  84. 309 REM ENDE BILD 1
  85. 310 PRINT"":FORI=0TO28:FORK=0TO4:PRINT"";CHR$(20):NEXT:PRINT"[145][145][145][145][145][145]"
  86. 315 POKES+18,16:POKES+18,17:FORT=0TO50:NEXT:NEXT
  87. 319 REM VORBEREITUNG BILD 2
  88. 320 POKEV+21,0:PRINT"[147]":POKEV+33,9:POKEV,207:POKEV+1,120:POKEV+28,1
  89. 325 POKEB+1,13:POKEB+2,15:POKEB+5,205:POKEB+6,205:POKEB+7,205
  90. 330 POKEV+40,15:POKEV+41,15:POKEV+44,7:POKEV+45,13:POKEV+46,7
  91. 335 FORI=V+10TOV+13:POKEI,RND(1)*140+25:I=I+1:POKEI,RND(1)*85+120:NEXT
  92. 340 POKEV+14,RND(1)*62:POKEV+15,RND(1)*85+120:POKEV6,128
  93. 345 E=(Y-19)*50+35:D=INT((RND(1)+X%-39)*104+15):C=0:GOSUB9
  94. 350 POKEV+8,D-C:POKEV+9,E:POKES+8,5:POKES+12,96
  95. 355 POKEV+2,132:POKEV+3,73:POKEV+4,180:POKEV+5,63
  96. 360 X%=(FNB(A+39)-FNB(A+37))*7:Q=SGN(X%):L=Q/9:K=6-Q-Q:Q=Q*SX:POKE55720,0
  97. 365 X=A:FORI=1024TO1063:Y=FNH(X):Y%=Y:FORT=0TOY%-1:POKEI+T*M,160:NEXT
  98. 370 POKEI+M*Y%,H(8*(Y-Y%)):X=X+1:NEXT
  99. 375 POKES+15,15:ONSSGOSUB670,680:POKEV+23,192:POKEV+29,102:POKEV+21,247
  100. 380 GOSUB650:GOSUB550:G=G/4+1:F=P(P):POKEZ,0:POKES+4,129
  101. 384 REM SPIEL BILD 2
  102. 385 I=PEEK(V0)+PEEK(V1):FORI=GTO1STEP-.07:X0=D:Y0=E:IFI<3THEND=D+Q:E=E+SY
  103. 390 D=D+T*I:IFD<14ORD>330THENPOKES+18,0:POKES+18,17:T=-P(P+10):D=X0
  104. 395 IFPEEK(V1)AND16THENIFE<109THENE=FNH((D-14)/8+A)*8+M:I=I-.1:GOTO415
  105. 400 H=PEEK(V0):E=E-F*I:IFE>237THENPOKES+18,0:POKES+18,17:F=-P(P):E=Y0
  106. 405 IFHAND16THENIFNOTHAND1THENI=I-.4:POKES+11,0:POKES+11,129
  107. 410 IFE<126ANDE>120THENIFD<211ANDD>205THEN435
  108. 415 D=INT(D+.5):Y%=E+.5:GOSUB9:POKEV+8,D-C:POKEV+9,Y%:NEXT
  109. 420 IFPEEK(V1)AND16THENIFE<109THENPOKEV+9,Y%+3:E=E+3
  110. 425 IFE<160THENIFD<250ANDD>170THENPOKE1448,87:POKEV+21,246:GOTO380
  111. 430 POKE1448,32:POKEV+21,247:GOTO380
  112. 434 REM SPIELENDE UND AUSWERTUNG
  113. 435 POKEV+8,208:POKEV+9,123:GOSUB650:POKES+12,0:POKES+13,89:POKEV+32,2
  114. 440 POKES+11,0:POKES+11,65:GOSUB490:POKEV+33,8:GOSUB490:POKEV+32,11
  115. 445 GOSUB490:POKEV+33,9:GOSUB490:POKEV+21,0:POKES+11,0:POKES+13,0:NEXTN
  116. 450 FORI=1TOSS:SM(I)=SM(I)+S(I):IFS(I)<BS(I)THENBS(I)=S(I)
  117. 455 NEXT:PRINT"[147]":POKEV+33,8:ONSSGOSUB700,705
  118. 460 PRINTTAB(5)"VON VORN..........TASTE V":PRINTTAB(5)"(PUNKTE AUF 0)"
  119. 465 PRINTTAB(5)"WEITER.........TASTE W ODER FIRE"
  120. 470 GETA$:IFPEEK(J)AND16THENIFA$<>"V"ANDA$<>"W"THEN470
  121. 475 IFA$="V"THEN60
  122. 480 GOTO95
  123. 489 REM TONERZEUGUNG BEI SPIELENDE
  124. 490 FORI=0TO3:FORF=20TO50:POKES+8,F:NEXT:NEXT:RETURN
  125. 499 REM TON UND RAMENFARBE, WENN SEE GE-TROFFEN
  126. 500 POKES+5,9:POKES+6,58:POKEV+32,8:POKES+4,0:POKES+4,129
  127. 505 FORI=10TOMSTEP.3:POKES+1,I:NEXT:POKEV+32,11
  128. 510 FORI=25TO70STEP.3:POKES+1,I:NEXT:POKEV+32,8:POKES+4,128
  129. 515 FORI=0TO300:NEXT:POKES+5,5:POKEV+32,11:GOTO255
  130. 549 REM EINGABE WINKEL UND SCHLAGSTAERKE
  131. 550 POKES+1,W:POKES+5,2:POKES+4,32:POKEZ,R(U):POKES+4,33:POKES+1,30
  132. 555 F=NOTPEEK(J):IFFAND16THEN595
  133. 560 IFFAND4THENP=P+(P=M)*P+1:GOTO635
  134. 565 IFFAND8THEN630
  135. 570 GETA$:IFA$=""THEN555
  136. 575 IFA$="[157]"THENP=P+(P=M)*P+1:GOTO635
  137. 580 IFA$=""THEN630
  138. 585 IFA$<>" "THEN555
  139. 590 FORI=0TO180:NEXT
  140. 595 I=853:T=0:G=2:S(N)=S(N)+1
  141. 600 IFG>13THENG=G^1:GOTO620
  142. 605 G=G+.23:IFT>7THENT=0:I=I+1:IFI=856THENI=1011
  143. 610 IFI=1013THENF=G(T)OR1:POKEI,F:POKEI+3,F:POKEI+6,F:GOTO620
  144. 615 POKEI,G(T):POKEI+3,G(T):POKEI+6,G(T)
  145. 620 T=T+1:GETA$:IFNOTPEEK(J)AND16ORA$=" "THEN600
  146. 625 T=P(P+10):ONSSGOSUB670,685:POKES+4,0:POKES+5,5:RETURN
  147. 630 P=P-(P=0)*M-1
  148. 635 Y%=11-9*P(P):X%=11.5+10*P(P+10):A%=X%/8:U=X%AND7
  149. 640 POKEZ,0:Z=896+A%+3*Y%:POKEZ,R(U):GOTO555
  150. 649 REM GESCHWINDIGKEITS-SKALA LOESCHEN
  151. 650 POKE1019,1:POKE1016,1:POKE1013,1:POKE1018,0:POKE1015,0:POKE1012,0
  152. 655 POKE1017,0:POKE1014,0:POKE1011,0:POKE861,0:POKE858,0:POKE855,0
  153. 660 POKE860,0:POKE857,0:POKE854,0:POKE859,128:POKE856,128:POKE853,128:RETURN
  154. 669 REM BILDSCHIRMKOPF FUER 1 SPIELER
  155. 670 PRINT""
  156. 675 PRINTTAB(9)"SPIEL"SPTAB(24)"[146]SCHLAEGE:"S(1):RETURN
  157. 679 REM BILDSCHIRMKOPF FUER 2 SPIELER
  158. 680 POKE1041+N*24,81:POKE55313+N*24,15
  159. 685 PRINT""
  160. 690 PRINT"1.SPIELER"S(1)TAB(18)""SP"[157] "TAB(26)"[146]2.SPIELER"S(2):RETURN
  161. 699 REM AUSWERTUNG FUER 1 SPIELER
  162. 700 GOSUB675:PRINTTAB(13)"BESTES SPIEL"BS(1):PRINTTAB(13)"SUMME"SM(1):RETURN
  163. 704 REM AUSWERTUNG FUER 2 SPIELER
  164. 705 GOSUB690:PRINT" BESTES SP."BS(1)TAB(25)"BESTES SP."BS(2)
  165. 710 PRINT" SUMME"SM(1)TAB(25)"SUMME"SM(2):RETURN
  166. 755 DATA-88,-89,-90,-50,-10,30,70,71,72,32,-8,-9,-85,-86,-87,-47,-7,33,73,74
  167. 760 DATA75,35,-5,-45,-84,-44,-4,36,76,77,78,79,39,-1,,-41,-81,-80,-79
  168. 765 DATA192,128,160,99,96,192,227,119,48,224,247,120,24,240,248,226
  169. 770 DATA12,248,98,249,6,252,121,239,3,254,111,228,3,255,100,160
  170. 774 REM SIN-TABELLE
  171. 775 DATA.001,.156,.309,.454,.588,.707,.809,.891,.951,.986,.999
  172. 779 REM SPRITE 'SKALA LINKS'
  173. 780 DATA226,57,200,166,8,74,162,57,206,162,32,66,226,57,194
  174. 785 DATA8,66,16,255,255,255,128,,,128,,,128,,,255,255,255
  175. 789 REM SPRITE 'SKALA RECHTS'
  176. 790 DATA115,156,231,66,4,165,115,136,231,18,136,161,115,136,231
  177. 795 DATA132,33,8,255,255,255,,,1,,,1,,,1,255,255,255,
  178. 799 REM SPRITE 'FAHNE'
  179. 800 DATA,12,,,13,,,13,64,,13,64,,13,16,,13,84,,13,80,,13,,
  180. 805 DATA12,,,12,,,12,,,12,,,12,,,12,,,12,,,63
  181. 809 REM SPRITE 'TANNE'
  182. 810 DATA8,,,8,,,42,,,34,,,168,128,,170,128,2,170,128,2,170
  183. 815 DATA160,10,46,160,10,190,168,10,62,40,,60,,,60,,,60,,
  184. 819 REM SPRITE 'KLEINER BAUM'
  185. 820 DATA,170,,2,170,128,10,170,168,10,42,168,42,168,168,34,130,170,42,42
  186. 825 DATA170,40,170,42,168,138,170,162,40,162,40,170,170,170,170,168,138,186
  187. 830 DATA160,170,186,,40,60,,,60,,,60,,,60,,,60,,,60,,,60,,
  188. 834 REM SPRITE 'GROSSER BAUM - LAUB'
  189. 835 DATA31,240,,59,254,,59,255,,125,207,128,124,191,224,126,127,224,223,127
  190. 840 DATA112,227,63,176,125,63,176,62,30,112,1,153,176,,3,224,,1,224,
  191. 845 DATA,,24,,,118,,,205,,,240,,,,,,,,,,,,
  192. 849 REM SPRITE 'GROSSER BAUM - STAMM'
  193. 850 DATA,,,4,,,4,,,2,48,,3,64,,1,128,,32,128
  194. 855 DATA128,28,192,64,2,192,64,1,225,128,0,102,64,,124,,,120,,
  195. 860 DATA112,,6,112,,9,240,,48,240,,,112,0,,112,,,112,,,112,,
  196. 864 REM SPRITE 'SANDFELDER'
  197. 865 DATA,2,170,,,,,85,85,,,,10,170,170,,,,5,85
  198. 870 DATA85,,,,42,170,170,,,,85,85,85,,,,42,170,168,
  199. 875 DATA,,85,85,80,,,,170,170,128,,,,85,85,64,,,,170,170,,
  200. 885 REM MIT DEN VARIABLEN SX UND SY KANN IN ZEILE 15 FUER BILD 2 DAS GEFAELLE
  201. 886 REM  IN X- UND Y-RICHTUNG GETRENNT   EINGESTELLT WERDEN.
  202. 890 REM FUER S/W-GERAET ODER -MONITOR    BITTE FOLGENDE ZEILEN AENDERN
  203. 891 REM 100 POKEV+33,8...
  204. 892 REM 145 ...POKEY+I+X*M,12...
  205. 893 REM 320 ...POKEV+33,8...
  206. 894 REM 435 ...POKEV+32,0
  207. 895 REM 440 ...POKEV+33,12...
  208. 896 REM 445 ...POKEV+33,8...
  209. 897 REM 500 ...POKEV+32,12...
  210. 898 REM 510 ...POKEV+32,12...
  211. 900 REM-ZEILEN BRAUCHEN NICHT MIT EINGE- GEBEN ZU WERDEN!
  212.