home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 56
/
056.d81
/
golfer.exe
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
6KB
|
202 lines
10 rem the golfer arcade
20 rem by jc hilty 3/88-rev.8/88
30 gosub1530
40 gosub1680
50 pokev+4,105:pokev+5,155:pokev+6,105:pokev+7,197:pokev+2,105:pokev+3,182
60 pokev,138:pokev+1,200:poke2042,192:poke2043,193
70 pokev+21,15
80 gosub1840:xg=105
90 poke49802,ba:poke49900,1:print"[144]"tab(12)n$:r=0
100 w1=peek(v+30):w2=peek(v+31)
110 onhgoto150,410,600,830,150,600,830,410,150
120 rem swing the club
130 poke2042,194:poke2043,195:pokev+2,xg-19:pokev+3,154:w2=peek(v+30):return
140 rem hole 1,5,9
150 gosub1920
160 print"[150]mno[146] mno[146] mno"
170 print"pqr[146] pqr[146] pqr":print:print:print
180 print"ghi[146] ghi[146] ghi"
190 print"jkl[146] jkl[146] jkl"
200 pokev+8,200:pokev+9,123:pokev+12,80:pokev+13,78:pokev+21,95
210 poke49809,255:poke49813,2:poke49810,0:poke49814,0:poke49900,80
220 poke49800,80:z=1
230 ifpeek(197)=3thengosub130:poke49800,81:r=1:goto270
240 ifpeek(197)=4thengosub1860:goto270
250 ifpeek(197)=6thengosub1180:goto270
260 ifpeek(197)=5thengosub1200
270 onzgosub320,350,320,350,380,390:z=z+1:ifz=7thenz=1
280 ifr=0then230
290 ifpeek(v+31)and1thenpoke49800,0:goto1230
300 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
310 goto270
320 ifpeek(v+8)<60thenpoke49809,2:poke49900,16:return
330 ifpeek(v+8)>225thenpoke49809,255:poke49900,16:return
340 return
350 ifpeek(v+12)<60thenpoke49813,2:poke49900,64:return
360 ifpeek(v+12)>225thenpoke49813,254:poke49900,64:return
370 return
380 poke49522,1:poke49525,7:poke49526,8:sys49152:return
390 poke49522,2:poke49525,12:poke49526,13:sys49152:return
400 rem hole 2,8
410 gosub1920
420 pokev+12,70:pokev+13,80:poke49813,2:poke49814,2:poke49900,64:pokev+21,79
430 poke49800,64
440 ifpeek(197)=3thengosub130:poke49800,65:r=1
450 ifpeek(197)=4thengosub1860:goto480
460 ifpeek(197)=6thengosub1180:goto480
470 ifpeek(197)=5thengosub1200
480 onzgosub530,560:z=z+1:ifz=3thenz=1
490 ifr=0then440
500 ifpeek(v+31)and1thenpoke49800,0:goto1230
510 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
520 goto480
530 ifpeek(v+12)>230thenpoke49813,254:poke49900,64:return
540 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
550 return
560 ifpeek(v+13)>130thenpoke49814,254:poke49900,64:return
570 ifpeek(v+13)<75thenpoke49814,2:poke49900,64:return
580 return
590 rem hole 3,6
600 gosub1920
610 pokev+12,50:pokev+13,70:pokev+10,140:pokev+11,098:pokev+08,180:pokev+09,138
620 poke49813,2:poke49814,0:poke49811,254:poke49812,0
630 poke49809,1:poke49810,0:poke49900,112:pokev+21,127:poke49800,112
640 ifpeek(197)=3thengosub130:poke49800,113:r=1
650 ifpeek(197)=4thengosub1860:goto680
660 ifpeek(197)=6thengosub1180:goto680
670 ifpeek(197)=5thengosub1200
680 onzgosub730,760,790:z=z+1:ifz=4thenz=1
690 ifr=0then640
700 ifpeek(v+31)and1thenpoke49800,0:goto1230
710 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
720 goto680
730 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
740 ifpeek(v+12)>220thenpoke49813,254:poke49900,64:return
750 return
760 ifpeek(v+10)<40thenpoke49811,2:poke49900,32:return
770 ifpeek(v+10)>220thenpoke49811,255:poke49900,32:return
780 return
790 ifpeek(v+8)<40thenpoke49809,1:poke49900,16:return
800 ifpeek(v+8)>220thenpoke49809,255:poke49900,16:return
810 return
820 rem hole 4,7
830 gosub1920
840 print"[158]abc[146] abc[146] abc"
850 print"def[146] def[146] def"
860 pokev+12,60:pokev+13,80:pokev+8,160:pokev+9,136
870 poke49813,2:poke49814,0:poke49809,255:poke49810,0:poke49900,80
880 poke49522,2:poke49525,8:poke49526,9
890 pokev+21,95:poke49800,80
900 ifpeek(197)=3thengosub130:poke49800,81:r=1
910 ifpeek(197)=4thengosub1860:goto940
920 ifpeek(197)=6thengosub1180:goto940
930 ifpeek(197)=5thengosub1200
940 onzgosub990,1020,990,1020,1050:z=z+1:ifz=6thenz=1
950 ifr=0then900
960 ifpeek(v+31)and1thenpoke49800,0:goto1230
970 w2=peek(v+30):ifw2and1thenpoke49800,0:goto1330
980 goto940
990 ifpeek(v+12)<40thenpoke49813,2:poke49900,64:return
1000 ifpeek(v+12)>220thenpoke49813,254:poke49900,64:return
1010 return
1020 ifpeek(v+8)<40thenpoke49809,1:poke49900,16:return
1030 ifpeek(v+8)>220thenpoke49809,255:poke49900,16:return
1040 return
1050 sys49152:return
1060 rem game over
1070 ifsc>hsthenhs=sc:print"[144]"tab(32)hs
1080 gosub1920:pokev+21,14
1090 print""tab(11)"[144]game over":print
1100 printtab(2)"press f1 to play again":print
1110 printtab(2)"press f3 to return to loadstar"
1120 ifpeek(197)=4then1150
1130 ifpeek(197)=5then1950
1140 goto1120
1150 r=0:z=1:h=1:th=0:ts=0:sc=250
1160 gosub1680
1170 goto50
1180 xg=xg+8:ifxg>200thenxg=200:return
1190 pokev,xg+33:pokev+2,xg:pokev+4,xg:pokev+6,xg:return
1200 xg=xg-8:ifxg<50thenxg=60:return
1210 pokev,xg+33:pokev+2,xg:pokev+4,xg:pokev+6,xg:return
1220 rem miss shot
1230 poke2042,196:poke2043,197:th=th+1:ts=ts+1:sc=sc-25:ifsc<0thensc=0
1240 print"[144]"tab(34)th
1250 print""tab(34)ts
1260 print""tab(33)" "
1270 print""tab(32)sc
1280 forx=0to24:pokes+x,0:next:pokes+24,143:pokes+5,16:pokes+19,16
1290 pokes+6,252:pokes+20,249:pokes+4,21:pokes+18,17:pokes+1,68:pokes+15,42
1300 fort=0to400:next:pokes+4,20:pokes+18,16
1310 fort=0to1000:next:z=1:goto50
1320 rem make shot
1330 poke2042,198:poke2043,199:th=th+1:ts=ts+1
1340 ifw2and16thensc=sc+20:goto1370
1350 ifw2and32thensc=sc+50:goto1370
1360 sc=sc+100
1370 print"[144]"tab(34)th
1380 print""tab(34)ts
1390 print""tab(33)" "
1400 print""tab(32);sc
1410 restore
1420 forx=0to24:pokes+x,0:next:pokes+24,15:pokes+5,85:pokes+6,85:pokes+4,33
1430 forx=0to5:readh1,n1:pokes+1,h1:pokes,n1
1440 ifh1=50thenfort=0to300:next
1450 fort=0to300:next:next:forx=0to24:pokes+x,0:next
1460 h=h+1:ifh=10then1070
1470 print"[144]"tab(34);h
1480 th=0
1490 print""tab(35)" "
1500 print"[144]"tab(34);th
1510 z=1:goto50
1520 rem initial setup & title screen
1530 print"[147]":poke53280,0:poke53281,0:print"[154]one moment please..."
1540 print"...are those elephants on the tee?"
1550 poke147,0:sys57812"golf.ml",8,1:sys62631
1560 poke147,0:sys57812"golf.sp",8,1:sys62631
1570 poke147,0:sys57812"golf.font",8,1:sys62631:poke53272,31
1580 v=53248:s=54272:h=1:r=0:hs=0:ts=0:th=0:sc=250:xg=105
1590 forx=49800to49816:pokex,0:next:sys49754
1600 poke49523,0:poke49524,29
1610 poke2041,200:poke2042,192:poke2043,193:poke2040,204:poke2044,201
1620 poke2045,202:poke2046,203
1630 pokev+23,14:pokev+29,14
1640 pokev+28,12:pokev+40,0:pokev+41,1:pokev+42,9:pokev+37,0:pokev+38,10
1650 pokev+39,1:pokev+43,0:pokev+44,0:pokev+45,0
1660 return
1670 rem playing screen
1680 poke53281,13:poke53280,5
1690 print"[147]++[144]f1-ball speed+[144]f3-move left+++********"
1700 print"++++++++++[144]f5-move right++++++++********"
1710 print"+"tab(30)"+*[144]golfer*":printtab(31)"*[144]arcade*"
1720 printtab(31)"********":printtab(31)"* hole *":printtab(31)"*number*"
1730 printtab(31)"* *":printtab(31)"********":printtab(31)"* putts*"
1740 printtab(31)"* this *":printtab(31)"* hole *":printtab(31)"* *"
1750 printtab(31)"********":printtab(31)"* total*":printtab(31)"* putts*"
1760 printtab(31)"* *":printtab(31)"********"
1770 printtab(31)"* score*":printtab(31)"* *":printtab(31)"********"
1780 printtab(31)"* high *":printtab(31)"* *"
1790 print" ball speed-slow +[144]f7 to putt+ ********"
1800 print"[144]"tab(34)h:print""tab(34)th
1810 print""tab(34)ts:print""tab(32)sc
1820 print""tab(32)hs
1830 return
1840 ba=255:n$="fast":return
1850 rem set ball speed
1860 ba=ba+1:ifba=256thenba=253
1870 ifba=253thenn$="slow"
1880 ifba=254thenn$="med."
1890 ifba=255thenn$="fast"
1900 poke49802,ba:poke49900,1:print"[144]"tab(12)n$:return
1910 rem erase obstacles
1920 print"":fort=0to8:print" ":next
1930 return
1940 data 25,30,33,135,42,62,50,60,42,62,50,60
1950 print"[147][144]":sys65418:pokev+21,0:poke53281,0:goto1970
1960 printpeek(197):goto1960:rem check peek
19