home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
UpTime Volume 1 #2
/
utv1n2s1.d64
/
fishy
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-28
|
8KB
|
307 lines
5 poke52,48:poke56,48:clr
10 f$(1)="":f$(2)="[146]":x=rnd(-ti)
20 c$=" "
30 e$=" "
40 s=54272:v=53248:x=24:x1=24:pl=2:nm=0
50 nc=36:dima(nc),d(nc),t(nc)
60 poke 53281,0:poke53280,6:print"[147]"
70 printtab(11)" "
80 printtab(11)" "
90 printtab(11)" "
100 printtab(11)" "
110 printtab(11)" "
120 fori=0to24:pokes+i,0:next
130 for i=49152to49152+81:reada:pokei,a:next
140 data 173,14,220,41,254,141
150 data 14,220,165,1,41,251
160 data 133,1,160,0,185,0
170 data 208,153,0,48,185,0
180 data 209,153,0,49,185,0
190 data 210,153,0,50,185,0
200 data 211,153,0,51,185,0,212,153,0,52,185,0,213,153,0,53,185,0,214,153,0,54
210 data 185,0,215,153,0,55
220 data 200,208,205,165,1,9,4,133
230 data 1,173,14,220,9,1
240 data 141,14,220,96
250 sys49152
260 fori=12632to12639:reada:pokei,a:next
270 data 31,48,100,204,96,48,31,0
280 fori=12648to12655:reada:pokei,a:next
290 data 134,200,118,32,118,200,134,0
300 fori=12632+1024to12639+1024:reada:pokei,a:next
310 data 224,207,155,51,159,207,224,255
320 fori=12648+1024to12655+1024:reada:pokei,a:next
330 data 121,55,137,223,137,55,121,255
340 poke53272,(peek(53272)and240)+12
350 print"":fori=35to1step-1:print"[145]"tab(i)"+- "
360 gosub2210:next
370 fori=832to894:reada:pokei,a:next
380 poke2040,13:pokev,24:pokev+1,108:pokev+28,1
390 pokev+37,2:pokev+38,0:pokev+39,4
400 pokev+29,1:pokev+23,1:pokev+27,1
410 print"[145] fisherman's name: ";:gosub3000
414 if k$=chr$(140) then 1160
415 if t$="" then t$="fisher"
420 print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157] "
430 n$(2)=t$:n$(1)="64"
440 print" please wait [192] stocking the pond"
450 gosub1670:gosub3500:poke53280,3:poke53281,1:
460 print"[147]"tab(28)"[151] ":printtab(28)" "
470 print"[151]"tab(28)n$(1)":"tab(36)s(1)
480 printtab(28)""n$(2)":"tab(36)s(2)
490 print:printtab(34)"[129][205][221][206]"
500 printtab(34)"[192][209][192]"
510 printtab(34)"[206][221][205]"
520 print"";
530 fori=1to20:print"[169][223]";:next:printc$;
540 fori=1to4
550 print" +- +- +- +- +- +- +- +- +- ";:printc$;
560 next:print
570 print"[145][149]cards: ";
580 fori=1to2:print"[149]"c$;:next
590 fori=1984to2023:pokei,160:pokei+s,9:next
600 pokev+21,1
610 form=1to5
620 h=0
630 k=0:print"[144][146]"n$(2)","
640 print"please choose a card"
650 gosub1750:gosub2250
660 ifh<0then620
670 pl=1:gosub2010
680 print"[144]"n$(1)","
690 print"please choose a card"
700 ford=1to1000:next:gosub2050
710 gosub2140:gosub2250:gosub2010:pl=2
720 nextm
730 ifnm=9then1060
740 ifw(1)=0then1060
750 ifw(2)=0then1060
760 ifs(1)>4then1060
770 ifs(2)>4then1060
780 print"[144]"n$(1)","
790 print"do you have any [175]'s ?[157][157][157][157][157]";:gosub3200:k$=nm$
800 k=val(k$):ifk<1ork>9thengosub2010:goto730
810 gosub2450
820 iffl<>0then840
830 gosub2010:print"you don't have any":fort=1to1000:next:gosub2010:goto780
840 r=k:gosub2410:gosub2010
850 iffl=1thengosub1180:gosub2250:goto730
860 iffl=0thengosub1330
870 ifg=1then730
880 ifnm=9then1060
890 ifw(2)=0then1060
900 ifw(1)=0then1060
910 ifs(1)>4then1060
920 ifs(2)>4then1060
930 pl=1:r=int(rnd(1)*9)+1
940 ifcd(r,1)=0orcd(r,1)=5then930
950 print"[144]"n$(2)","
960 print"do you have any"r"[144]'s ?";
961 get k$:ifk$=""then 961
965 if asc(k$)=140 then 1160
970 ifk$<>"y"andk$<>"n"thengosub2010:goto950
980 ifk$="n"then1020
990 gosub1380:gosub2010
1000 iffl=1then950
1010 goto880
1020 gosub1490
1030 iffl=1thengosub2010:goto950
1040 ifg=1then880
1050 pl=2:goto730
1060 gosub2010
1070 printtab(5)"[144]game over!":gosub2160
1080 t=2
1090 print"";f$(t);
1100 ifs(1)>s(2)thenprinttab(5)n$(1)" wins"
1110 ifs(2)>s(1)thenprinttab(5)n$(2)" wins"
1120 ifs(1)=s(2)thenprinttab(5)"tie game!"
1130 print"[144] play again?"
1140 getk$:ifk$=""thenprint"[145][145][145][145][145]":ford=1to200:t=3-t:goto1090
1150 ifk$="y"thenpokev+21,0:run
1160 poke52,128:poke56,128:clr:sys(8*4096)+4
1170 -----rem have cards (c)-----
1180 print"yes, i have"cd(k,1)"card(s).":fort=1to500:next
1190 w(1)=w(1)-cd(k,1)
1200 w(2)=w(2)+cd(k,1)
1210 b=cd(k,1):cd(k,1)=0
1220 cd(k,2)=cd(k,2)+b
1230 co=2
1240 fori=0tocd(k,2)-1
1250 poke1945+4*(k-1)+i,k+48
1260 poke1945+4*(k-1)+i+s,co
1270 ifco=2thengosub2140
1280 next
1290 fort=1to500:next
1300 ifco=2thenco=0:goto1240
1310 gosub2010:return
1320 -----rem no cards (c)-----
1330 g=0:gosub2010:print"no [192] go fish!"
1340 h=0:gosub1750
1350 ifh<0then1340
1360 gosub2010:gosub2250:return
1370 -----rem have cards (p)-----
1380 fl=0
1390 ifcd(r,2)=0then1470
1400 cd(r,1)=cd(r,1)+cd(r,2)
1410 w(2)=w(2)-cd(r,2)
1420 w(1)=w(1)+cd(r,2)
1430 cd(r,2)=0
1440 fori=0to3
1450 poke1945+4*(r-1)+i,160:poke1945+4*(r-1)+i+s,9:next:gosub2140
1460 gosub2010:gosub2250:gosub2010:return
1470 gosub2010:print"no you don't!":ford=1to1000:next:fl=1:return
1480 -----rem no cards (p)-----
1490 k=r:gosub2010:gosub2410
1500 iffl=0then1530
1510 gosub2010:print"that's not right!"
1520 fort=1to1000:next:gosub2010:return
1530 g=0:gosub2010:print"no [192] go fish"
1540 gosub2050:gosub2140
1550 ifc=rthenprint" got one!!![144]":fort=1to1000:next:g=1
1560 gosub2010:gosub2250:gosub2010:return
1570 -----rem sprite data-----
1580 data 0,48,0,0,48,0,0,184
1590 data 0,0,184,0,2,186,0,2
1600 data 186,0,10,186,128,10,186,128
1610 data 42,186,160,42,186,160,170,186
1620 data 168,0,48,0,0,48,3,0
1630 data 48,12,85,85,84,21,85,80
1640 data 21,85,80,5,85,64,1,85
1650 data 0,0,0,0,0,0,0,0
1660 -----rem set deck-----
1670 fori=0to8:forj=1to4:a(j+i*4)=i+1:next:next
1680 fori=1to36:t(i)=0:next
1690 fori=1to36
1700 r=int(rnd(1)*36)+1
1710 ift(r)=1then1700
1720 d(i)=a(r):t(r)=1
1730 next:return
1740 -----rem go fish-----
1750 ifnc=0thenreturn
1760 x=x+2:ifx=256thenpo=1:x=0
1770 x1=x1+2
1780 ifx=70andpeek(v+16)=1thenpo=0:x=0:x1=0
1790 pokev,x:pokev+16,po
1800 getk$:ifk$=" "then1820
1802 if k$="" then goto1760
1805 if asc(k$)=140 then 1160
1810 goto1760
1820 ifx1>290then1760
1830 t=int((x1-24)/8):t=1510+t
1840 poket,66+128:poket+s,6
1850 fori=1to7
1860 ifpeek(t+40*i)<>160thenb=t+40*i:goto1920
1870 poket+40*i,66+128:pokes+t+40*i,6
1880 next
1890 print"missed[192]try again."
1900 fori=0to7:poket+40*i,160:next
1910 ford=1to1000:next:gosub2010:h=h-1:return
1920 pokeb-1,160:pokeb,160:pokeb+1,160
1930 fori=btotstep-40:pokei,160:next
1940 c=d(nc):nc=nc-1
1950 ifk<>cthen1970
1960 print" got one!!![144]":gosub2140:fort=1to1000:next:gosub2010:g=1
1970 cd(c,2)=cd(c,2)+1:k=c
1980 gosub1230:w(2)=w(2)+1
1990 return
2000 -----rem clear screen-----
2010 print"";
2020 fori=1to4:printe$:next:print"";
2030 return
2040 -----rem go fish-----
2050 ifnc=0thenreturn
2060 fori=1544to1823
2070 ifpeek(i)<>160then2090
2080 next:return
2090 pokei,160:pokei+1,160
2100 c=d(nc):nc=nc-1
2110 cd(c,1)=cd(c,1)+1
2120 w(1)=w(1)+1:return
2130 -----rem sound-----
2140 pokes+24,15:pokes+6,240:pokes+5,0:pokes+1,25:pokes,177:pokes+4,17
2150 ford=1to50:next:pokes+24,0:return
2160 pokes+24,15:pokes+5,9:pokes+6,0
2170 forj=1to3:pokes+4,17
2180 pokes,75:pokes+1,34
2190 ford=1to250:next:pokes+4,16:ford=1to50:next:next
2200 pokes+24,0:return
2210 pokes+24,15:pokes+6,240:pokes+5,0:pokes+4,17
2220 pokes+1,100:pokes,100
2230 pokes+24,0:return
2240 -----rem check for matches-----
2250 gosub2010
2260 fori=1to9
2270 if cd(i,pl)=4then2290
2280 next:return
2290 print"[144] [213][192][192][192][192][192][192][192][192][201]"
2300 print" [221] match! [221]"
2310 print" [202][192][192][192][192][192][192][192][192][203]"
2320 gosub2160
2330 s(pl)=s(pl)+1:cd(i,pl)=5
2340 ifpl=2thenforj=0to3:poke1945+4*(i-1)+j,160:poke1945+4*(i-1)+j+s,9:next
2350 print"[151]"tab(28)n$(1)":"tab(36)s(1)
2360 printtab(28)""n$(2)":"tab(36)s(2)
2370 fort=1to1500:next:nm=nm+1
2380 w(pl)=w(pl)-4
2390 gosub2010:return
2400 -----rem check for cards in hand--
2410 fl=1
2420 ifcd(k,3-pl)=0thenfl=0
2430 ifcd(k,3-pl)=5thenfl=0
2440 return
2450 fl=1
2460 ifcd(k,2)=0thenfl=0
2470 ifcd(k,2)=5thenfl=0
2480 retu