home *** CD-ROM | disk | FTP | other *** search
- 100 rem ***speed***
- 110 sd=54272:for a=sd to sd+24:poke a,0:next:x$=chr$(13)
- 120 poke53280,0:poke53281,0:poke53283,1
- 130 printchr$(8);chr$(142);
- 140 print"[147]loading data...[144]"
- 150 if cd=1 then 170
- 160 poke147,0:sys57812"speed char",8,1:sys62631
- 170 dim card$(4,13):open4,8,4,"0:speed cards,s,r"
- 180 fora=1to4:forb=1to13:input#4,ca$(a,b):next:next:close4
- 190 dimc(52):dimha(2,4):dimtw(2,5):dimp(2,21)
- 200 fori=1to52:c(i)=i:next
- 210 bc$="[159]sssss[157][157][157][157][157]sssss[157][157][157][157][157]sssss[157][157][157][157][157]sssss[157][157][157][157][157]sssss[157][157][157][157][157]sssss"
- 220 bl$=" [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] "
- 230 for a=49152to49296:readb:pokea,b:next:sys49194:poke2,0
- 240 data169,1,141,25,208,162,59,160,216,173,18,208,197,2,176,9,169,31,141,24,208
- 250 data165,2,208,11,162,27,160,200,169,21,141,24,208,169,0,141,18,208,76,128
- 260 data192,173,20,3,141,160,3,173,21,3,141,161,3,120,169,0,141,20,3,169
- 270 data192,141,21,3,169,1,141,26,208,169,27,141,17,208,169,127,141,13,220,88
- 280 data96,120,173,160,3,141,20,3,173,161,3,141,21,3,169,240,141,26,208,169,27
- 290 data141,17,208,169,0,141,13,220,169,120,141,25,208,169,21,141,24,208,32,132
- 300 data255,88,96,248,104,104,173,13,220,41,1,240,3,76,49,234,76,188,254,0,0,0,0
- 310 poke53280,14:poke53281,14:printchr$(142)"[147][146]";
- 320 poke53272,21:poke53265,27
- 330 print"[144][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]";
- 340 fora=1to22:print"[221]"spc(38)"[221]";:next:print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]"
- 350 fora=217to242:pokea,peek(a)or128:next
- 360 print" loadstar presents:"
- 370 print" "
- 380 print" speed "
- 390 print" "
- 400 print" by jason olds "
- 410 print" "
- 420 print" copyright 1987 "
- 430 print" "
- 440 print" "
- 450 print" "
- 460 remifpeek(203)<>60then420
- 470 poke198,0:print"[145][144]do you need instructions? (y/n) "
- 480 geta$:ifa$=""then480
- 490 ifa$="y"thenpoke53280,0:poke53281,0:goto1250
- 500 ifa$="n"thengosub2350:goto520
- 510 goto 480
- 520 rem ***setup board***
- 530 print"[147]":poke 53265,peek(53265)or64
- 540 poke 2,210:poke53280,0:poke53281,6
- 550 dp=1
- 560 fori=1to51:r=(53-i)*rnd(0):r=int(r)+i:t=c(r):c(r)=c(i):c(i)=t:next
- 570 tc=21:tp=21
- 580 print"-----------------[158]speed------------------";
- 590 print"[153]1-4 to select card space to draw card"
- 600 print" q to quit to loadstar"
- 610 print"";bc$
- 620 print"[157][157][157][157][157][157][157][157][157][157][157][157][157][157]";bc$
- 630 print"";bc$
- 640 print"";bc$
- 650 print"";bc$
- 660 print"";bc$
- 670 rem print"select speed (1-9), 1 is fastest"
- 680 remgeta$:ifa$=""then590
- 690 rem sp=val(a$):ifsp<1orsp>9then590
- 700 print" "
- 710 for a=1 to 10:gosub1780:tw(int(a/6)+1,a+(5*(a>5)))=c(a):next
- 720 for a=11 to 31:p(1,a-10)=c(a):next
- 730 for a=32 to 52:p(2,a-31)=c(a):next
- 740 pp=1:cp=1
- 750 for a=1 to 4:ha(1,a)=p(1,pp):pp=pp+1:next
- 760 for a=1 to 4:ha(2,a)=p(2,cp):cp=cp+1:next
- 770 fora=1to4:nu=ha(1,a):gosub1780:print""spc((a-1)*7+6);ca$(x,y)
- 780 next
- 790 print"--1-- --2-- --3-- --4--"
- 800 rem ***flip over stack cards***
- 810 for a=1 to 500:next
- 820 print"";bc$;"[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";bc$
- 830 poke214,20:print:print"get ready... ":fora=1to750:next
- 840 poke214,20:print:print"get set.....":fora=1to750:next
- 850 poke214,20:print:print"go!!!!!!!!!!"
- 860 print"";:nu=tw(1,dp):gosub1780:printca$(x,y)
- 870 print"";:nu=tw(2,dp):gosub1780:printca$(x,y)
- 880 s1=tw(1,dp):s2=tw(2,dp):dp=dp+1
- 890 rem ****main input procedure****
- 900 ti$="000000"
- 910 geta$
- 920 iftp=0then2220
- 930 iftc=0then2310
- 940 ifa$>"0"anda$<"5"thengosub1020:poke198,0
- 950 ifa$="q"then1790
- 960 ifa$=x$thengosub1950:ifcm=1thengoto1820
- 970 ifa$=" "thengosub1860
- 980 ifval(ti$)=spthenti$="000000":gosub1950
- 990 if cm=1 then print"the computer has no move.";
- 1000 ifcm=1thenprint" press return.";
- 1010 goto 910
- 1020 rem ***player wants to move card***
- 1030 print"you:";tp;"[157] computer:";tc;"[157] "
- 1040 cd=val(a$):forcl=1895to1903:pokecl,32:next
- 1050 cv=ha(1,cd):ifcv=-2thenreturn
- 1060 nu=s1:gosub1780:s3=y:nu=s2:gosub1780:s4=y
- 1070 nu=cv:gosub1780
- 1080 if(y=s3+1ory=s3-1)or(y=13ands3=1)or(y=1ands3=13)then1140
- 1090 if(y=s4+1ory=s4-1)or(y=13ands4=1)or(y=1ands4=13)then1190
- 1100 rem ***beep***
- 1110 pokesd+24,15:pokesd+5,31:pokesd+6,208:pokesd,240:pokesd+1,4:pokesd+4,33
- 1120 fors=1to200:next:pokesd+4,0:pokesd,0:pokesd+1,0:pokesd+24,0
- 1130 return
- 1140 print""spc((cd-1)*7+6);bl$
- 1150 print"";ca$(x,y)
- 1160 s1=ha(1,cd):ha(1,cd)=-2
- 1170 tp=tp-1
- 1180 return
- 1190 print""spc((cd-1)*7+6);bl$
- 1200 print"";ca$(x,y)
- 1210 s2=ha(1,cd):ha(1,cd)=-2
- 1220 tp=tp-1
- 1230 return
- 1240 end
- 1250 rem ***instructions***
- 1260 poke 53283,2:p5%=peek(53272)
- 1270 poke 53265,peek(53265)or64
- 1280 print"[147] speed "
- 1290 print"[159] the object is to discard all cards"
- 1300 print" from your hand and stack before the"
- 1310 print" computer does."
- 1320 print" [158]five cards are dealt to each stack"
- 1330 print" face down. the remaining cards are"
- 1340 print" dealt between you and the computer"
- 1350 print" face-down. these cards are called the"
- 1360 print" reserves."
- 1370 print"[156] before play, the two stacks"
- 1380 print" are shown along with the four cards in"
- 1390 print" the computer's hand. these cards will"
- 1400 print" remain face down until played. your"
- 1410 print" options will be displayed at the"
- 1420 print" bottom of the screen."
- 1430 print
- 1440 print" press space to continue"
- 1450 ifpeek(203)<>60then1450
- 1460 print"[147] speed "
- 1470 print" a card from each stack is moved to"
- 1480 print" the center piles face-down. when"
- 1490 print" the cards are turned over, the race"
- 1500 print" begins."
- 1510 print"[159] you can play a card that is one[159]"
- 1520 print" higher or one[159] lower than any facing"
- 1530 print" up in the stack."
- 1540 print" [158]ex: a two could be placed on an"
- 1550 print" ace or a ten on a jack. suits are of"
- 1560 print" equal value."
- 1570 print"[159] the card you play will become a"
- 1580 print" new play card. deal yourself new"
- 1590 print" card by pressing space[146][159]. this removes"
- 1600 print" a card from the reserve."
- 1610 print" press space to continue"
- 1620 ifpeek(203)<>60then1620
- 1630 print"[147] speed "
- 1640 print"[158] if you can't find a move, wait for"
- 1650 print" the computer to say that it can't"
- 1660 print" move either. then hit the return[146][158] key"
- 1670 print" move on. two more cards will be taken"
- 1680 print" from the stacks. when signalled to"
- 1690 print" go, the computer will immediately try"
- 1700 print" to move, so be ready!"
- 1710 print" hint: start out with a slow speed"
- 1720 print" until you get the hang of the game."
- 1730 print" then move up as your skill increases."
- 1740 printtab(13)"[152]-good luck!"
- 1750 print" press space to continue"
- 1760 ifpeek(203)<>60then1760
- 1770 gosub2350:poke 53283,1:goto 530
- 1780 x=int(nu/13.1)+1:y=int(13*(1-x))+nu:return
- 1790 rem ***quit***
- 1800 poke 2,0
- 1810 print"[147]";:goto2250
- 1820 rem ***no moves***
- 1830 if dp=6thendp=1
- 1840 goto820
- 1850 dp=1
- 1860 rem ***get card from pile***
- 1870 ifpp=22thenprint"no more cards in reserve "
- 1880 print"":wait197,64:if pp=22 then return
- 1890 pa=0:fora=1to4:ifha(1,a)=-2thengosub1910
- 1900 next:return
- 1910 ifpa=1thenreturn
- 1920 pa=1:ha(1,a)=p(1,pp):pp=pp+1:nu=ha(1,a):gosub1780
- 1930 print""spc((a-1)*7+6);ca$(x,y)
- 1940 return
- 1950 rem ***computer move***
- 1960 print"you:";tp;"[157] computer:";tc;"[157] "
- 1970 cm=0:forcl=1895to1903:pokecl,32:next
- 1980 fora=1to4:v=ha(2,a):ifv=-2thennext:goto 2040
- 1990 nu=s1:gosub1780:s3=y:nu=s2:gosub1780:s4=y:nu=v
- 2000 gosub 1780
- 2010 if(y=s3+1ory=s3-1)or(y=13ands3=1)or(y=1ands3=13)then2060
- 2020 if(y=s4+1ory=s4-1)or(y=13ands4=1)or(y=1ands4=13)then2110
- 2030 next
- 2040 fora=1to4:ifha(2,a)=-2thengoto2160
- 2050 next:cm=1:return
- 2060 print""spc((a-1)*7+6);bl$
- 2070 print"";ca$(x,y)
- 2080 s1=ha(2,a):ha(2,a)=-2
- 2090 tc=tc-1
- 2100 return
- 2110 print""spc((a-1)*7+6);bl$
- 2120 print"";ca$(x,y)
- 2130 s2=ha(2,a):ha(2,a)=-2
- 2140 tc=tc-1
- 2150 return
- 2160 if cp=22 then cm=1:return
- 2170 pa=0:fora=1to4:ifha(2,a)=-2thengosub2190
- 2180 next:return
- 2190 ifpa=1thenreturn
- 2200 pa=1:ha(2,a)=p(2,cp):cp=cp+1
- 2210 print""spc((a-1)*7+6);bc$:return
- 2220 print"[147]you won...":poke2,0
- 2230 x=15:for a=1 to 500:poke 53280,aandx:next
- 2240 poke 53280,0
- 2250 print"do you want to play again (y/n) ?"
- 2260 geta$:ifa$=""then2260
- 2270 ifa$="y"then310
- 2280 ifa$="n"thensys49234:load"hello connect",8:end
- 2290 goto2260
- 2300 end
- 2310 for a=1 to 700:next
- 2320 print"[147]sorry, the computer won...":poke2,0
- 2330 goto 2240
- 2340 end
- 2350 poke53281,0:print"[147][158]":poke214,7:print:printtab(11)"select speed (1-9)
- 2360 [153][163]13)"1 fast/9 slow"
- 2370 [153][163]10)"the number selected"
- 2380 [153][163]6)"will be the number of seconds"
- 2390 [153]"that the computer waits before moving."
- 2400 [161]a$:[139]a$[179]"1"[176]a$[177]"9"[167]2400
- 2410 sp[178][197](a$):[151]53281,6:[142]
-