home *** CD-ROM | disk | FTP | other *** search
- 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 return
- 2490 open15,8,15,"s0:fishy":close15:save"0:fishy",8:end
- 3000 rem get 7 characters
- 3010 t$="":ct=0
- 3020 getk$:ifk$=""then3020
- 3025 if k$=chr$(140) then return
- 3030 if k$=chr$(13) then 3110
- 3040 if k$<>chr$(20) then 3080
- 3050 if ct=0then3020
- 3060 ct=ct-1:t$=left$(t$,ct)
- 3070 print"[157] [157]";:goto3020
- 3080 if ct>6 then 3020
- 3090 if(k$<"a")or(k$>"z")then3020
- 3100 printk$;:ct=ct+1:t$=t$+k$:goto3020
- 3110 return
- 3200 rem get number
- 3210 ct=0
- 3220 getk$:ifk$=""then3220
- 3225 if asc(k$)=140 then 1160
- 3230 if k$=chr$(13) then 3310
- 3240 if k$<>chr$(20) then 3280
- 3250 if ct=0then3220
- 3260 ct=0
- 3270 print"[157][175][157]";:goto3220
- 3280 if ct>0 then 3220
- 3290 if(k$<"1")or(k$>"9")then3220
- 3300 printk$;:ct=ct+1:nm$=k$:goto3220
- 3310 return
- 3500 rem instructions
- 3510 print"[147] "n$(2)" would you like instructions? "
- 3520 get k$:ifk$=""then 3520
- 3530 if k$="n"then print"[147]":return
- 3540 print"[147] fishy is played just like the "
- 3550 print" game 'go fish'. you draw a card and "
- 3560 print" then the computer draws a card. after "
- 3570 print" you each have 5 cards, you can ask "
- 3580 print" the computer if it has one of the "
- 3590 print" cards you need to get 4 of a kind."
- 3600 print" if it has the card(s), they will be"
- 3610 print" added to your list of cards. if not,"
- 3620 print" you must 'go fish'. the computer will"
- 3625 print" also ask you for cards to help it."
- 3630 print" when you are told to choose a "
- 3640 print" card or to 'go fish', press the space"
- 3650 print" bar. the line dropped from the boat"
- 3660 print" must catch one of the fish or you"
- 3670 print" will be told to try again."
- 3680 print" if at any time you want to quit,"
- 3690 print" press the f8 key."
- 3700 print" press the spacebar to begin playing.";
- 3710 getk$:ifk$<>" "then 3710
- 3720 return
-