home *** CD-ROM | disk | FTP | other *** search
- 0 rem copyright 1994 - compute publications intl ltd - all rights reserved
- 1 ifa=0thena=1:load"link.data",8,1
- 2 poke53280,0:poke53281,0:poke53270,216:poke53282,2:poke53283,1:poke788,52
- 3 poke792,193:poke56578,63:poke56576,196:poke53272,18:poke648,196
- 4 print"[154][147]"chr$(14)chr$(8):gosub100
- 5 x=5:y=5:gosub138:print"[158][206]"z$"[208]":fork=0to2:printtab(5)"[210]o"spc(26)"o[210]":next
- 6 printtab(5)"[209]"z$"[211]"
- 7 fork=0to25:forl=0to2:poke50423+k+l*40,128+k+l*26:next:next:x=7:y=11:gosub138
- 8 printsp$:printtab(7)"o[146]createdo[146]by:o[146]johno[146]camerono":printtab(7)sp$
- 9 printtab(11)""left$(sp$,19):printtab(11)"o[146]@o[146]copyrighto[146]1994o"
- 10 printtab(11)left$(sp$,19):printtab(11)"o[146]computeo[146]magazineo"
- 11 printtab(11)left$(sp$,19):printtab(13)"[158])o[146]presso[146]fireo[146]("
- 12 fork=0to7:ms=fnrn(253)+1:poke51456+k,ms:ml=1:gosub94
- 13 if((peek(56320)and16)=0)or((peek(56321)and16)=0)thenk=10
- 14 next:ifk<10then12
- 15 fork=0to7:poke51456+k,0:next
- 16 print"[147][156] [176]"bd$"[174]":fork=0to13:print"[221]"spc(36)"[221]":next
- 17 gosub93:print"";
- 18 fork=0to1:forl=0to1:print"[221] [221] [221]";:next:print"";:next
- 19 print"[173][192][178][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][189][173][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][178][192][189]"
- 20 fork=0to4:print"[221]"spc(32)"[221]":next:print"[173]"left$(bd$,32)"[189]";
- 21 x=14:y=0:gosub138:print"([158] link 'em )"
- 22 fork=2to18step2:fory=1to13step2:x=k:gosub138:gosub155:printsq$(0)
- 23 x=38-k:gosub138:gosub155:printsq$(0):next:next
- 24 x=6:y=19:gosub138:print"how many to play against you?"
- 25 nm=3:gosub55:gosub59:np=ch+1:gosub71:rm=126:cp=1:px=0:py=0
- 26 fork=1tonp:ps(k)=0:pn$(k)="ball"+str$(k):gosub140:next
- 27 fork=1tonp:y=16:gosub143:poke646,cl(k)-8:printpn$(k):next
- 28 fork=1tonp:poke646,1-2*(cp<>k):gosub99
- 29 gosub141:next
- 30 gosub48:pokesp+21,1:ox=px:oy=py
- 31 gosub73
- 32 px=px-(jr=8andpx<17)+17*(jr=8andpx>16)+(jl=4andpx>0)-17*(jl=4andpx<1)
- 33 py=py-(jd=2andpy<6)+6*(jd=2andpy>5)+(ju=1andpy>0)-6*(ju=1andpy<1)
- 34 iffbthen36
- 35 ifpx=oxandpy=oythen31
- 36 gosub48:iffbthenpokesp+21,0:gosub159:goto38
- 37 goto30
- 38 ifrm>0then28
- 39 x=0:y=15:gosub138:gosub93
- 40 wn=1:bg=0:fork=1tonp:print"[159]":gosub99
- 41 ifps(k)>bgthenbg=ps(k):wn=k
- 42 next:k=wn:gosub143:gosub144:print""sc$
- 43 x=5:y=21:gosub138:print"[159]player"wn"[157][159]: you are the winner!"
- 44 forzk=1to4:cp=k:x=4:y=19:gosub138:poke646,cl(zk)and7:print"[206]"z$"[207][207][208]"
- 45 fork=1to3:printtab(4)"[210]"spc(30)"[210]":next:printtab(4)"[209]"z$"[207][207][211]"
- 46 if((peek(56320)and16)=0)or((peek(56321)and16)=0)then16
- 47 nextzk:goto44
- 48 gosub150:pokesp,sx:pokesp+16,lr:pokesp+1,sy:return
- 49 end
- 50 x=4+int((33-3*nm)/2):y=19:gosub138:fork=0tonm-1
- 51 s1(k)=cl(fnrn(3)+1):s2(k)=fnrn(6)
- 52 f=0:ifk>0thengosub57
- 53 iff=1then51
- 54 poke646,s1(k):printfm$(s2(k))" ";:next:print
- 55 x=4+int((33-3*nm)/2):y=21:gosub138:fork=0tonm-1
- 56 print"[154]"nu$(k)" ";:next:print:return
- 57 forl=0tok-1:ifs1(l)=s1(k)ands2(l)=s2(k)thenf=1:l=k
- 58 next:return
- 59 ch=0
- 60 y=22:gosub67:printar$
- 61 ol=ch:gosub73:ch=ch-(jr=8andch<nm-1)+(jl=4andch>0)
- 62 ifch<>olthenz=x:x=4+int((33-3*nm)/2)+3*ol:gosub138:print" ":gosub66
- 63 ifnotfbthen60
- 64 ms=30:ml=10:gosub94
- 65 ch=ol:y=21:gosub138:print"[151]"zz$(ch)"[157][157] ":ch=ch+1:return
- 66 x=z:ms=50:ml=10:gosub94:return
- 67 x=4+int((33-3*nm)/2)+3*ch:gosub138:return
- 68 y=21:ch=c1:gosub67:a$=zz$(ch):a=od(ch):zz$(ch)=zz$(c2):print"[154]"zz$(ch)
- 69 od(ch)=od(c2):ch=c2:gosub67:od(c2)=a
- 70 zz$(ch)=a$:print"[154]"a$:return
- 71 x=4:fory=19to23:gosub138:print" ":next
- 72 return
- 73 jy=15-(peek(j)and15):ju=jyand1:jd=jyand2:jl=jyand4:jr=jyand8
- 74 fb=((peek(j)and16)=0)
- 75 ifju=0andjd=0andjr=0andjl=0andfb=0then77
- 76 return
- 77 a=-(j=56320)+(j=56321):j=j+a:goto73
- 78 forz1=0to7:x0=px:y0=py
- 79 ify0<3and(z1<2orz1=7)then91
- 80 ify0>4and(z1>2andz1<6)then91
- 81 ifx0<3and(z1>4)then91
- 82 ifx0>14and(z1>0andz1<4)then91
- 83 forz2=0to2:x0=x0+xd(z1):y0=y0+yd(z1):b0=(x0+1)+y0*18
- 84 ifx0<0orx0>17ory0<0ory0>6thenz2=9:goto86
- 85 ifun(b0)<>(9+cp)thenz2=9
- 86 nextz2:ifz2=10then91
- 87 fork=1tonp:poke646,1-2*(cp<>k):gosub99:next
- 88 un(b0)=20:x=2+x0*2:y=1+y0*2:gosub138:poke646,cl(cp):printbl$(5)
- 89 b0=(px+1)+py*18:x=2+px*2:y=1+py*2:gosub138:printbl$(5):un(b0)=20
- 90 ps(cp)=ps(cp)+250:ms$="[158]four in a row! bonus 250 pts!":gosub145
- 91 nextz1
- 92 return
- 93 print"[156][171][192][192]( )[192][192][178][192][192]( )[192][192][174][176][192][192]( )[192][192][178][192][192]( )[192][192][179]":return
- 94 pokeso+5,10:pokeso+6,5:pokeso+24,7:pokeso,0:pokeso+1,ms
- 95 pokeso+4,33:forsz=1toml:next:pokeso+4,32:return
- 96 ml=5:forms=200to10step-10:gosub94:next:return
- 97 ml=5:forms=10to200step10:gosub94:next:return
- 98 ml=1:forms=0to255step5:gosub94:next:return
- 99 y=17:gosub143:gosub144:printsc$:return
- 100 z$="[207]":fork=0to26:z$=z$+"[207]":next
- 101 x$="":y$=""
- 102 sp$="":fork=0to25:sp$=sp$+"o":next
- 103 bd$="[192]":fork=0to34:bd$=bd$+"[192]":next
- 104 fork=0to5:readbl$(k):next
- 105 data"[","\","]","^_","[193][194][157][157][195][196][145]","#$[157][157]%&[145]"
- 106 fork=0to5:readfm$(k):next:fm$(6)=bl$(4):j=56320
- 107 data"]][157][157]]][145]","^_[157][157][212][213][146][145]","[186][187][157][157][188][190][145]","*+[157][157]-/[145]","^_[157][157]]][145]","]][157][157][212][213][146][145]"
- 108 fork=0to8:readnu$(k):next:readar$
- 109 data"[223][160]","[161][162]","[163][164]","[165][166]","[167][168]","[169][170]","[172][175]","[180][181]","[184][185]","[155][182][183]"
- 110 fork=0to4:readsq$(k):next:fork=0to4:readsn$(k),sc(k):next
- 111 data"[151][197][198][157][157][199][200][145]",";<[157][157]=>[145]","[201][202][157][157][203][204][145]","[151][214][215][157][157][216][217][145]","[151][218][219][157][157][220][255][145]"
- 112 data"[207][157][208][145]",10,"[205][157][206][145]",15,"[209][157][210][145]",25,"[211][157][212][145]",50,"[213][157][206][145]",75
- 113 fork=1to4:readcl(k):next:data10,14,13,15
- 114 dim un(126)
- 115 so=54272:fork=0to24:pokeso+k,0:next:pokeso+15,255:pokeso+18,128
- 116 pokeso+24,128
- 117 def fnrn(x)=int((peek(so+27)/256)*(x+1))
- 118 up$="your score goes up by "
- 119 sp=53248:pokesp+21,0:poke51192,0:pokesp,39:pokesp+1,57:pokesp+16,0
- 120 pokesp+39,10:fork=49152to49203step3:pokek,192:pokek+1,0:pokek+2,192:next
- 121 fork=0to1:poke49152+k,255:poke49203+k,255:next
- 122 fork=49206to49216:pokek,0:next:gosub130
- 123 cs$(0)=sn$(2)+sn$(3):cs$(1)=sn$(3)+sn$(0):cs$(2)=sn$(4)+sn$(3)
- 124 cs$(3)=sn$(1)+sn$(0)+sn$(0):cs$(4)=sn$(1)+sn$(3)+sn$(0)
- 125 cs$(5)=sn$(2)+sn$(0)+sn$(0):cs$(6)=sn$(2)+sn$(3)+sn$(0)
- 126 fork=0to6:reads2$(k):next:data25,50,75,100,150,200,250
- 127 fork=0to7:readxd(k),yd(k):next
- 128 data0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1
- 129 return
- 130 fork=0to8:zz$(k)=nu$(k):od(k)=k:next:return
- 131 zy(0)=fnrn(nm-1):fork=1tonm-1
- 132 zy(k)=fnrn(nm-1):fl=0:forl=0tok-1:ifzy(k)=zy(l)thenfl=1:l=k
- 133 nextl:iffl=1then132
- 134 nextk:return
- 135 f=0:fork=0tonm-1:ifzy(k)<>od(k)thenf=1:k=nm
- 136 next:iff=0thenfl=1
- 137 return
- 138 print""left$(x$,x)left$(y$,y);:return
- 139 x=5*k+(4*(k-1))-(k>2):return
- 140 gosub139:y=15:gosub138:poke646,cl(k):print"^_":return
- 141 gosub139:x=x-1:y=15:gosub138:poke646,1-2*(cp<>k)
- 142 print"()":return
- 143 x=3*k+(6*(k-1))-(k>2):gosub138:return
- 144 s$=str$(ps(k)):sc$=right$("000000"+right$(s$,len(s$)-1),6):return
- 145 ox=x:oy=y:gosub71:x=14:y=20:gosub138:print"[191] player"cp"[157] [191]"
- 146 x=4+int((34-len(ms$))/2):y=22:gosub138:printms$
- 147 a=(peek(646)and7):a2=-(a=2)-2*(a=5)-3*(a=7):ona2gosub96,97,98
- 148 forl=1to2000:next:zk=fre(0):gosub71:x=ox:y=oy:return
- 149 gosub138:print" [157][157] ":un(b)=9+cp:gosub156:return
- 150 xx=2+px*2:yy=1+py*2:sy=57+16*py:lr=-(px>13):sx=39+16*px+256*(lr=1)
- 151 return
- 152 cp=cp+1:ifcp>npthencp=1
- 153 return
- 154 gosub152:return
- 155 b=int(x/2)+int(y/2)*18:un(b)=fnrn(8)+1:ms=b:ml=1:gosub94:return
- 156 poke646,cl(cp):forz1=0to4:x=xx:y=yy:gosub138
- 157 printbl$(z1):ms=15*z1:ml=25:gosub94:next:gosub78:return
- 158 b=int(xx/2)+int(yy/2)*18:a=un(b):return
- 159 gosub158:ifa=0then162
- 160 x=xx:y=yy:gosub138
- 161 onagosub165,168,170,171,172,173,174,176,177
- 162 ifa>9thenms$="that space is already occupied!":gosub145
- 163 ifa<10thenrm=rm-1
- 164 return
- 165 print"[154]"sn$(1)sn$(0):ps(cp)=ps(cp)+10:ms$=up$+"10 pts."
- 166 ms=150:ml=100
- 167 gosub94:gosub145:gosub149:gosub152:return
- 168 print"[154]"sn$(1)sn$(3):ps(cp)=ps(cp)+15:ms$=up$+"15 pts.":goto166
- 169 goto166
- 170 print"[154]"sn$(2)sn$(3):ps(cp)=ps(cp)+25:ms$=up$+"25 pts.":goto166
- 171 print"[154]"sn$(3)sn$(0):ps(cp)=ps(cp)+50:ms$=up$+"50 pts.":goto166
- 172 print"[154]"sn$(4)sn$(3):ps(cp)=ps(cp)+75:ms$=up$+"75 pts.":goto166
- 173 print"[150]"sq$(1):ms$="no advancement in score!":ms=25:ml=100:goto167
- 174 print"[153]"sq$(1):ms$="you recieve a free move!":ms=100:ml=100:gosub94
- 175 gosub145:gosub149:return
- 176 poke646,cl(cp):printsq$(2):ms=175:ml=100:gosub94:gosub179:return
- 177 printsq$(3):ms$="the marker you put here is lost!":ms=10:ml=100:gosub94
- 178 un(b)=20:gosub145:gosub152:return
- 179 ox=x:oy=y:gosub71:x=4:y=19:gosub138:mt=1
- 180 print"what would you like to play for?":x=8:y=21:gosub138
- 181 fork=0to6:print"[154]"cs$(k)" ";:next:nm=0:gosub130
- 182 x=8+3*nm-(nm-3)*(nm>3):y=23:gosub138:printar$
- 183 ol=nm:gosub73:nm=nm-(jr=8andnm<6)+(jl=4andnm>0)
- 184 ifnm<>olthenz=x:x=8+3*ol-(ol-3)*(ol>3):gosub138:print" ":gosub204
- 185 ifnotfbthen182
- 186 nm=ol:y=21:gosub138:print"[151]"cs$(nm):nm=nm+3:gosub71:gosub50:mr=nm*2
- 187 gosub131:p4=nm-3
- 188 gosub199:fl=0:gosub135:iffl=1then196
- 189 x=22:y=23:gosub138:print"move:"right$(str$(mt),2)" of ";
- 190 printright$(str$(mr),2):gosub59:c1=ch-1
- 191 ch=ch-1:gosub60:c2=ch-1:ifc2=c1then191
- 192 gosub68:gosub199:fl=0:gosub135:iffl=1then196
- 193 mt=mt+1:ifmt<=mrthen189
- 194 ms$="you failed to find the order!"
- 195 gosub202:x=ox:y=oy:gosub138:printsq$(4):un(b)=20:goto198
- 196 gosub202:x=ox:y=oy:gosub149
- 197 ms$=up$+s2$(p4)+" pts.":ps(cp)=ps(cp)+val(s2$(p4))
- 198 gosub145:gosub130:gosub152:return
- 199 x=5:y=23:gosub138:print"correct:";:ct=0:fork=0tonm-1
- 200 ifzy(k)=od(k)thenct=ct+1
- 201 next:printright$(str$(ct),1):return
- 202 x=4+int((33-3*nm)/2):y=22:gosub138:fork=0tonm-1
- 203 print"[150]"nu$(zy(k))" ";:next:fork=1to4000:next:return
- 204 x=z:ms=75:ml=10:gosub94:return
-