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