home *** CD-ROM | disk | FTP | other *** search
- 10 goto3090
- 20 rem -- game screen --
- 30 poke53269,0:print"[147]";:poke53275,0
- 40 poke53265,peek(53265)or64
- 50 poke53281,4:poke53280,6:poke53282,1:poke53283,0:poke53284,7
- 60 fori=.to23:print"[154]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[157][148]@":next
- 70 print"[160][160][200][189][200][197][204][208][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][209][189][209][213][201][212][160][157][148][160]"
- 80 printtab(15)"[150]#$#$#$[150]#$#$"
- 90 printtab(15)"[150]%&%&%&[150]%&%&@"
- 100 printtab(15)"[150]#$@@[150]#$@@[150]#$@"
- 110 printtab(15)"[150]%&@[150]%&@[150]%&@"
- 120 fori=1to2
- 130 printtab(15)"[150]#$@[150]#$@[150]#$@":printtab(15)"[150]%&@[150]%&@[150]%&@"
- 140 next
- 150 printtab(3)"[150]#$#$#$#$#$#$#$@[150]#$@#$[150]#$#$#$#$#$#$"
- 160 printtab(3)"[150]%&%&%&%&%&%&%&@[150]%&@%&[150]%&%&%&%&%&%&@"
- 170 printtab(3)"#$@@@@@@@@@@@@@[153]#$@@@@@@@@@@@@#$@"
- 180 printtab(3)"%&@"tab(19)"[153]%&@"tab(35)"%&@"
- 190 printtab(3)"[150]#$#$#$#$#$#$#$[150]#$@#$[150]#$#$#$#$#$#$@"
- 200 printtab(3)"[150]%&%&%&%&%&%&%&@[150]%&@%&[150]%&%&%&%&%&%&@"
- 210 printtab(4)"@@@@@@@@@@@[150]#$@[150]#$@[150]#$@@@@@@@@@@@@@"
- 220 printtab(15)"[150]%&@[150]%&@[150]%&@"
- 230 fori=1to2
- 240 printtab(15)"[150]#$@[150]#$@[150]#$@":printtab(15)"[150]%&@[150]%&@[150]%&@"
- 250 next
- 260 printtab(15)"[150]#$#$#$[150]#$#$@"
- 270 printtab(15)"[150]%&%&%&[150]%&%&@"
- 280 printtab(16)"@@@@@@@@@@"
- 290 printtab(2)" "tab(27)" "
- 300 fori=.to3:printtab(2)"[144] [146]@"tab(27)"[144] [146]@":next
- 310 printtab(3)"@@@@@@@@@@@"tab(28)"@@@@@@@@@@@"
- 320 poke214,16:print
- 330 printtab(2)"[144] "tab(27)" "
- 340 fori=.to3:printtab(2)"[144] [146]@"tab(27)"[144] [146]@":next
- 350 printtab(3)"@@@@@@@@@@@"tab(28)"@@@@@@@@@@@"
- 360 poke214,2:print
- 370 printtab(3)"[156]star race":printtab(3)"a game by":printtab(3)"tony rose"
- 380 poke214,17:print""
- 390 printtab(31)d$(5)""
- 400 rem -- sprites --
- 410 poke51192,128:poke53285,14:poke53286,10:poke53276,1
- 420 fori=.to3:poke53287+i,0:next
- 430 poke53250,184:poke53251,135:poke53252,160:poke53253,135
- 440 poke53254,172:poke53255,156:poke53256,172:poke53257,114
- 450 poke53258,184:poke53259,135:poke53260,160:poke53261,135
- 460 poke53262,172:poke53263,156
- 470 rem -- main --
- 480 ifd<>6andd<>1thenpl=pl+1:ifpl>2thenpl=1
- 490 poke214,2:print
- 500 printtab(30)c$(-(pl=2))"knees"
- 510 printtab(31)""np(2)
- 520 poke214,17:print
- 530 printtab(6)c$(-(pl=1))"you"
- 540 printtab(6)""np(1)
- 550 poke214,23:print:printtab(13)tn$(pl)""
- 560 gosub1040
- 570 ifpl=2then1320
- 580 gosub1190:iff=0then480
- 590 rem -- move the hand --
- 600 geta$:j=peek(jy)and15
- 610 ifa$=""orj=7then650
- 620 ifa$="[157]"orj=11then670
- 630 ifa$=chr$(13)or(peek(jy)and16)=.then730
- 640 goto600
- 650 hp=hp+1:ifhp>57thenhp=1
- 660 goto680
- 670 hp=hp-1:ifhp<1thenhp=57
- 680 yp=bd(hp,1)*8+64:xp=bd(hp,2)*8+32
- 690 ifxp>255thenpoke53264,1
- 700 poke53248,xpand255:poke53249,yp:ifxp<256thenpoke53264,0
- 710 goto600
- 720 rem -- move --
- 730 ifbd(hp,0)=1then600
- 740 ifbd(hp,0)=2andbd(hp,3)=2then600
- 750 f=0:fori=1to4
- 760 ifmp(i)=0andhp>1then780
- 770 ifmp(i)+d=hpthenf=i
- 780 next
- 790 iff=0then600
- 800 rem -- erase --
- 810 ifmp(f)=0thennp(1)=np(1)-1:goto860
- 820 bd(mp(f),0)=0
- 830 poke214,bd(mp(f),1):print
- 840 poke646,bd(mp(f),3):printtab(bd(mp(f),2))"#$[157][157]%&"
- 850 rem -- place --
- 860 gosub2570:poke214,bd(hp,1):print
- 870 poke646,bd(hp,3):printtab(bd(hp,2))m$(1)
- 880 mp(f)=hp:f=0:ifbd(hp,0)thenf=1
- 890 bd(hp,0)=1:gosub2620
- 900 rem -- reach home? --
- 910 ifhp<>57then970
- 920 bd(57,0)=0:gosub2800
- 930 poke214,bd(57,1):print
- 940 poke646,bd(57,3):printtab(bd(57,2))"#$[157][157]%&"
- 950 w(pl)=w(pl)+1:ifw(pl)=4then1870
- 960 goto480
- 970 iff=0then480
- 980 rem -- which piece --
- 990 fori=1to4
- 1000 ifk(i)=kb(hp)thenk(i)=0:i=4
- 1010 next
- 1020 np(2)=np(2)+1:gosub2710:goto480
- 1030 rem -- roll the die --
- 1040 poke53269,0:poke53248,42:poke53249,200:poke53264,1:poke53269,1
- 1050 geta$:ifa$=chr$(13)or(peek(jy)and16)=.then1090
- 1060 ifa$="h"thengosub2460:poke53269,.:gosub4030:gosub2500:poke53269,1
- 1070 ifa$="q"thengosub2460:poke53269,.:gosub2310:gosub2500:poke53269,1
- 1080 goto1050
- 1090 fori=1to4:d=int(rnd(1)*6)+1
- 1100 poke214,17:print""
- 1110 printtab(34-i)l$d$(d):gosub2660
- 1120 next
- 1130 fori=1to4:d=int(rnd(1)*6)+1
- 1140 poke214,17:print
- 1150 printtab(26+i)r$d$(d):gosub2660
- 1160 next
- 1170 return
- 1180 rem -- can you move? --
- 1190 f=0:fori=1to4
- 1200 ifmp(i)=0andd<>1then1240
- 1210 ifmp(i)+d>57then1240
- 1220 ifbd(mp(i)+d,0)=0thenf=1:i=4:goto1240
- 1230 ifbd(mp(i)+d,0)=2andbd(mp(i)+d,3)<>2thenf=1:i=4
- 1240 next
- 1250 iff=0thenreturn
- 1260 xp=bd(hp,2)*8+32:yp=bd(hp,1)*8+64
- 1270 poke53269,0:poke53248,xpand255:poke53249,yp
- 1280 ifxp>255thenpoke53264,1:goto1300
- 1290 poke53264,0
- 1300 poke53269,1:return
- 1310 rem -- computer --
- 1320 fori=1to4
- 1330 x=k(i)+d:mv(i)=0
- 1340 ifk(i)=0andd<>1then1420
- 1350 ifx>57then1420
- 1360 ifbd(kb(x),0)=1thenifbd(kb(x),3)=10thenmv(i)=5:goto1420
- 1370 ifx=1andk(i)=0thenifbd(kb(x),0)<>2thenmv(i)=4:goto1420
- 1380 ifk(i)=1thenifbd(kb(x),0)=0thenmv(i)=3:goto1420
- 1390 ifx=57thenmv(i)=2:goto1420
- 1400 ifbd(kb(x),0)=0thenifbd(kb(x),3)=2thenmv(i)=1:goto1420
- 1410 ifbd(kb(x),0)=0thenmv(i)=rnd(1)
- 1420 next
- 1430 f=0:m=0:fori=1to4
- 1440 ifmv(i)>mthenm=mv(i):f=i
- 1450 next:m=k(f)+d
- 1460 iff=0then480
- 1470 xp=bd(kb(kp),2)*8+32:yp=bd(kb(kp),1)*8+64
- 1480 gosub1270
- 1490 rem -- knees moves --
- 1500 ifk(f)+d<=kpthen1560
- 1510 kp=kp+1:xp=bd(kb(kp),2)*8+32:yp=bd(kb(kp),1)*8+64
- 1520 ifxp>255thenpoke53264,1
- 1530 poke53248,xpand255:poke53249,yp
- 1540 ifxp<256thenpoke53264,0
- 1550 goto1500
- 1560 ifk(f)+d=kpthen1630
- 1570 kp=kp-1:xp=bd(kb(kp),2)*8+32:yp=bd(kb(kp),1)*8+64
- 1580 ifxp>255thenpoke53264,1
- 1590 poke53248,xpand255:poke53249,yp
- 1600 ifxp<256thenpoke53264,0
- 1610 goto1560
- 1620 rem -- erase knees --
- 1630 ifk(f)=0thennp(2)=np(2)-1:goto1690
- 1640 bd(kb(k(f)),0)=0
- 1650 poke214,bd(kb(k(f)),1):print
- 1660 poke646,bd(kb(k(f)),3)
- 1670 printtab(bd(kb(k(f)),2))"#$[157][157]%&"
- 1680 rem -- place knees --
- 1690 gosub2570:poke214,bd(kb(m),1):print
- 1700 poke646,bd(kb(m),3):printtab(bd(kb(m),2))m$(2)
- 1710 k(f)=k(f)+d:f=0:ifbd(kb(m),0)thenf=1
- 1720 bd(kb(m),0)=2:gosub2620
- 1730 rem -- reach home? --
- 1740 ifkp<>57then1800
- 1750 bd(57,0)=0:gosub2800
- 1760 poke214,bd(57,1):print
- 1770 poke646,bd(57,3):printtab(bd(57,2))"#$[157][157]%&"
- 1780 w(pl)=w(pl)+1:ifw(pl)=4then1870
- 1790 goto480
- 1800 iff=0then480
- 1810 rem -- which piece --
- 1820 fori=1to4
- 1830 ifmp(i)=kb(m)thenmp(i)=0:i=4
- 1840 next
- 1850 np(1)=np(1)+1:gosub2710:goto480
- 1860 rem -- game over --
- 1870 gosub2460:fori=.to2:gosub3010:next
- 1880 poke53269,0:poke53276,240:poke53264,0:poke53248,172:poke53249,114
- 1890 ifpl=2then1920
- 1900 fori=.to7:poke51192+i,129+i:next
- 1910 poke53291,7:poke53292,2:poke53293,2:poke53294,1:goto1960
- 1920 fori=.to7:poke51192+i,137+i:next
- 1930 poke53291,8:poke53292,3:poke53293,3:poke53294,1
- 1940 poke214,8:print
- 1950 printtab(19)"[156][160][160][157][157][170][170]"
- 1960 poke53269,255:gosub2950
- 1970 poke214,1:print
- 1980 fori=1to5:printtab(2)" ":next
- 1990 printtab(14)"@@@@@@@@"
- 2000 poke55591,2:poke55592,2:poke55595,2:poke55596,2:poke55599,2:poke55600,2
- 2010 poke214,16:print
- 2020 fori=1to5:printtab(2)" ":next
- 2030 printtab(14)"@@@@"
- 2040 poke56191,2:poke56192,2:poke56193,2:poke56194,2:poke56195,4:poke56196,4
- 2050 poke56197,2:poke56198,2:poke56199,2:poke56200,2
- 2060 ifpl=2then2110
- 2070 rem -- human win --
- 2080 printtab(5)"[156]you have beaten knees calhoon!"
- 2090 printtab(9)"way to go, star racer!":goto2140
- 2100 rem -- knees win --
- 2110 printtab(6)"[156]knees calhoon wins the race!"
- 2120 printtab(11)"(but it was close)"
- 2130 rem -- play again? --
- 2140 poke214,17:print
- 2150 printtab(7)"do you want to play again?"
- 2160 printtab(15)"(y[156]) or (n[156])"
- 2170 geta$:ifa$="n"then2260
- 2180 ifa$<>"y"then2170
- 2190 poke53269,0:gosub2500
- 2200 poke214,10:print
- 2210 fori=.to2:printtab(7)"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":next
- 2220 poke55809,6:poke55849,2:gosub2540
- 2230 printtab(11)"[145][145][207][206][197][160][205][207][205][197][206][212][160][208][204][197][193][211][197][174][174][174]"
- 2240 clr:restore:gosub3440:goto30
- 2250 rem -- end --
- 2260 print"[147]":poke53281,.:poke53280,.:poke53269,.:poke53276,.:poke53264,.
- 2270 poke53265,peek(53265)and191
- 2280 poke56578,peek(56578)or3:poke56576,(peek(56576)and252)or3
- 2290 poke648,4:goto5040
- 2300 rem -- quit? --
- 2310 poke214,7:print
- 2320 print"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]"
- 2330 fori=.to6:print"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]@":next
- 2340 print"@@@@@@@@@@@@@@@@@@@@@@@@@@@"
- 2350 poke55951,2:poke55952,2:poke55955,2:poke55956,2:poke55959,2:poke55960,2
- 2360 poke214,8:print
- 2370 printtab(12)"[215][200][193][212][160][215][201][204][204][160][201][212][160][194][197][191]"
- 2380 printtab(5)"[168][177][169][160][211][212][193][210][212][160][207][214][197][210][160][160][168][178][169][160][206][197][214][197][210][160][205][201][206][196]"
- 2390 printtab(10)"[168][179][169][160][209][213][201][212][160][212][207][160][204][207][193][196][211][212][193][210]"
- 2400 printtab(11)"[208][210][197][211][211][160][193][160][203][197][217][186][160][168][177][173][179][169]"
- 2410 geta$:ifa$<"1"ora$>"3"then2410
- 2420 ifa$="1"then2190
- 2430 ifa$="2"thenreturn
- 2440 goto2260
- 2450 rem --- save screen ---
- 2460 sys49152,55296,204*256,1000
- 2470 sys49152,50176,200*256,1000
- 2480 return
- 2490 rem --- restore screen ---
- 2500 sys49152,204*256,55296,1000
- 2510 sys49152,200*256,50176,1000
- 2520 return
- 2530 rem -- shadow --
- 2540 sys49152,49225,55864,26
- 2550 return
- 2560 rem -- erase --
- 2570 pokes+24,15:pokes+5,15:pokes+1,58
- 2580 pokes,149:pokes+4,17
- 2590 forde=.to150:next:pokes+4,0
- 2600 return
- 2610 rem -- move --
- 2620 pokes+1,34:pokes,75:pokes+4,17
- 2630 forde=.to150:next:pokes+4,0
- 2640 return
- 2650 rem -- dice sound --
- 2660 pokes+24,15:pokes+5,0:pokes+6,0
- 2670 pokes+4,129:pokes,216:pokes+1,36
- 2680 forde=1to20:next:pokes+4,128
- 2690 return
- 2700 rem -- you lose! --
- 2710 fori=1to3:forde=.to4:next
- 2720 pokes+1,14:pokes+5,3:pokes+6,240
- 2730 pokes+24,15:pokes+4,17
- 2740 forj=11to110step8
- 2750 pokes+1,j:pokes+4,63:pokes+1,255-j
- 2760 pokes+4,17:next
- 2770 pokes+4,16:next
- 2780 return
- 2790 rem -- you win --
- 2800 fori=1to2
- 2810 pokes+1,14:pokes+5,3:pokes+6,240
- 2820 pokes+24,15:pokes+4,17
- 2830 forj=6to10:fork=1to12stepsin(j)
- 2840 pokes+1,4*k:pokes+4,17
- 2850 next:next
- 2860 pokes+4,16:forde=1to10:next
- 2870 pokes+1,14:pokes+5,3:pokes+6,240
- 2880 pokes+24,15:pokes+4,17
- 2890 forj=6to10:fork=1to12steplog(j)
- 2900 pokes+1,4*k:pokes+4,17
- 2910 next:next
- 2920 pokes+4,16:forde=1to100:next
- 2930 next:return
- 2940 rem -- winner --
- 2950 pokes+24,15:pokes+5,15:pokes+6,252
- 2960 pokes+14,67:pokes+15,12:pokes+4,21
- 2970 fori=.to255step2:pokes+1,i:next
- 2980 fori=255to.step-2:pokes+1,i:next
- 2990 pokes+4,20:return
- 3000 rem --- the call ---
- 3010 pokes+24,15:pokes+19,72:pokes+20,129:pokes+14,50
- 3020 pokes+18,33:pokes+15,45
- 3030 forde=1to50:next:pokes+18,32
- 3040 forde=1to200:next
- 3050 pokes+15,69:pokes+18,17
- 3060 forde=1to500:next:pokes+18,16
- 3070 return
- 3080 rem -- title screen --
- 3090 poke56578,peek(56578)or3:poke56576,(peek(56576)and252)
- 3100 poke53272,29:poke648,196
- 3110 poke53265,peek(53265)and191
- 3120 poke53281,1:poke53280,15:print"[147]"
- 3130 printtab(12)"[159]loadstar proudly"
- 3140 printtab(16)"presents"
- 3150 print"[193][194][194][195][211][194][194][212][193][194][194][195][211][194][194][195] [211][194][194][195][193][194][194][195][193][194][194][195][211][194][194][212]"
- 3160 print"[150][196][197][198][199][213][214][215][216][196][197][221][207][196][197][221][207] [196][197][221][207][196][197][221][207][196][197][167][168][196][197][198][199]"
- 3170 print"[156][200][201][202][203] [217][218] [196][255][223][207][196][255][223][166] [196][255][223][166][196][255][223][207][196][197][169][170][196][255][175][176]"
- 3180 print"[154][204][205][206][207] [217][218] [196][197][161][207][196][197][161][207] [196][197][161][207][196][197][161][207][196][197][171][172][196][197][177][178]"
- 3190 print"[208][209][209][210] [219][220] [162][163][164][165][162][163][164][165] [162][163][164][165][162][163][164][165][208][209][209][210][162][209][209][165]"
- 3200 printtab(9)"[144][160][195][196][197][223][161][162]"
- 3210 printtab(9)"[198][199][200][201][163][164][165][166]"
- 3220 printtab(9)"[202][203][204][205][146][156][183][184][185][186][187][188][144][167][168][169][170][171]"
- 3230 printtab(9)"[206][207][208][209][210][146][156][189][190][144][172][173][174][175][176]"
- 3240 printtab(9)"[160][211][212][213][214][156][192][193][194][144][177][178][179][180]"
- 3250 printtab(9)"[160][215][216][217][156]#$%&<>[144][181][182][183]"
- 3260 printtab(9)"[160][218][219][220][184][185][186]"
- 3270 printtab(9)"[160][221][255][187][188]"
- 3280 printtab(4)"the first one to the tower wins!"
- 3290 printtab(11)"one moment please..."
- 3300 printtab(37)"[144][190][191][145]"
- 3310 rem -- sprites --
- 3320 fori=.to7:poke51192+i,145+i:next
- 3330 poke53287,7:poke53288,2:poke53289,2:poke53290,4:poke53291,8:poke53292,5
- 3340 poke53293,5:poke53285,14:poke53286,10
- 3350 poke53264,0:poke53276,255:poke53275,255:poke53269,255
- 3360 poke53248,104:poke53249,141:poke53250,96:poke53251,150
- 3370 poke53252,108:poke53253,159:poke53254,105:poke53255,180
- 3380 poke53256,240:poke53257,138:poke53258,246:poke53259,154
- 3390 poke53260,233:poke53261,156:poke53262,238:poke53263,175
- 3400 gosub3440:printtab(8)"[145] press a key to begin "
- 3410 geta$:ifa$=""then3410
- 3420 goto30
- 3430 rem -- initialize --
- 3440 dimi,j,k,f,m,x,d,xp,yp,pl,de
- 3450 hp=1:kp=1:pl=1:s=54272:jy=56320:x=rnd(-ti)
- 3460 l$=" [157] [157] [145][145][157][157][157][157][146]":r$=" [157] [157] [145][145][146]"
- 3470 fori=.to23:pokes+i,.:next
- 3480 dimbd(61,3),kb(57),m$(2),d$(6),mp(4),k(4),np(2),c$(1),w(2),tn$(2)
- 3490 fori=1to61:forj=1to2:readbd(i,j):next:next
- 3500 fori=1to61:readbd(i,3):next
- 3510 fori=1to26:kb(i)=26+i:next
- 3520 fori=27to52:kb(i)=i-26:next
- 3530 fori=53to56:kb(i)=i+5:next
- 3540 kb(57)=57
- 3550 m$(1)="[219][220][157][157][221][255]":m$(2)="[\[157][157]]^"
- 3560 np(1)=4:np(2)=4
- 3570 rem -- dice --
- 3580 d$(1)="+++[157][157][157]+[223]+[157][157][157]+++"
- 3590 d$(2)="[223]++[157][157][157]+++[157][157][157]++[223]"
- 3600 d$(3)="[223]++[157][157][157]+[223]+[157][157][157]++[223]"
- 3610 d$(4)="[223]+[223][157][157][157]+++[157][157][157][223]+[223]"
- 3620 d$(5)="[223]+[223][157][157][157]+[223]+[157][157][157][223]+[223]"
- 3630 d$(6)="[223]+[223][157][157][157][223]+[223][157][157][157][223]+[223]"
- 3640 c$(0)="[156]":c$(1)=""
- 3650 rem -- message --
- 3660 tn$(1)="[201][212][167][211][160][217][207][213][210][160][212][213][210][206]"
- 3670 tn$(2)="[160][201][212][167][211][160][205][217][160][212][213][210][206][160]"
- 3680 fori=.to72:reada:poke49152+i,a:next
- 3690 fori=.to25:reada:poke49225+i,a:next
- 3700 return
- 3710 rem -- row/column --
- 3720 data20,17,20,15,18,15,16,15,14,15
- 3730 data12,15,12,13,12,11,12,9,12,7
- 3740 data12,5,12,3,10,3,8,3,8,5,8,7
- 3750 data8,9,8,11,8,13,8,15,6,15,4,15
- 3760 data2,15,0,15,0,17,0,19,0,21,0,23
- 3770 data2,23,4,23,6,23,8,23,8,25,8,27
- 3780 data8,29,8,31,8,33,8,35,10,35
- 3790 data12,35,12,33,12,31,12,29,12,27
- 3800 data12,25,12,23,14,23,16,23,18,23
- 3810 data20,23,20,21,20,19,18,19,16,19
- 3820 data14,19,12,19,10,19
- 3830 data2,19,4,19,6,19,8,19
- 3840 rem -- what color? --
- 3850 data10,10,10,10,10,2,10,10,10,10,10,10,2,10,10,10,10,10,10,2,10,10,10,10
- 3860 data10,2,10,10,10,10,10,2,10,10,10,10,10,10,2,10,10,10,10,10,10,2,10,10
- 3870 data10,10,10,2,10,10,10,10,13,10,10,10,10
- 3880 rem -- copymem c000 ---
- 3890 data 032,253,174,032,138,173,032
- 3900 data 247,183,132,176,133,177,032
- 3910 data 253,174,032,138,173,032,247
- 3920 data 183,132,178,133,179,032,253
- 3930 data 174,032,138,173,032,247,183
- 3940 data 073,255,133,181,152,073,255
- 3950 data 133,180,230,180,208,002,230
- 3960 data 181,160,000,177,176,145,178
- 3970 data 200,208,004,230,177,230,179
- 3980 data 230,180,208,241,230,181,208
- 3990 data 237,096,255
- 4000 rem -- shadows --
- 4010 data2,2,2,2,2,2,2,4,4,6,6,2,2,6,6,4,4,2,2,2,2,2,2,2,2,2
- 4020 rem -- help screens --
- 4030 print"[147]":poke53281,14:poke53280,4:poke53284,4
- 4040 printtab(15)"directions"
- 4050 print" star race is a two-player board game"
- 4060 print" where you challenge knees calhoon to"
- 4070 print" see who can be the first to have all"
- 4080 print" of their men reach the tower."
- 4090 print" each player has four men in their"
- 4100 print" possession who race clock-wise around"
- 4110 print" the board to the center square. you"
- 4120 print" will control the white men, while"
- 4130 print" knees will control the black."
- 4140 print" the players move their men by taking"
- 4150 print" turns rolling a six-sided die, then,"
- 4160 print" if able, moving one of their men the"
- 4170 print" number of squares indicated."
- 4180 print" while each player's finish line is the"
- 4190 print" center square, their starting squares"
- 4200 print" and routes are slightly different."
- 4210 poke214,22:print
- 4220 printtab(10)"press fire or return"
- 4230 geta$:ifa$=""and(peek(jy)and16)then4230
- 4240 gosub5020
- 4250 poke214,2:print
- 4260 print" the board below shows each player's"
- 4270 print" start. each player travels clock-wise"
- 4280 print" around the board. however, you cannot"
- 4290 print" move down the center row, and knees"
- 4300 print" cannot move up the center row."
- 4310 printtab(23)"[144]knees will start"
- 4320 printtab(17)"[150][188][188][188][150]>[188][146][144]at the top right"
- 4330 printtab(17)"[150][188][188][188][146][144]and go down the"
- 4340 printtab(17)"[150][188][188][188][146][144]center row."
- 4350 printtab(17)"[150][188][188][188]"
- 4360 printtab(11)"[188][188][188][188][188][188][188][150][188][188][150][188][188][188][188][188][188]"
- 4370 printtab(11)"[188][153][188][188]"
- 4380 printtab(11)"[150][188][188][188][188][188][188][188][150][188][188][150][188][188][188][188][188][188]"
- 4390 printtab(17)"[188][188][188]"
- 4400 print" you start at [150][188][188][188]"
- 4410 print" the lower left [150][188][188][188]"
- 4420 print" and go up the [150][188][146][190][188][150][188][188]"
- 4430 print" center row."
- 4440 geta$:ifa$=""and(peek(jy)and16)then4440
- 4450 gosub5020
- 4460 poke214,2:print
- 4470 print" at the start of the game, it will be"
- 4480 print" knees' turn. press return or fire and"
- 4490 print" knees will roll the die, and if able,"
- 4500 print" make a move. unless knees has rolled a"
- 4510 print" 1 or 6 (see: how you move) it will now"
- 4520 print" be your turn."
- 4530 print" press return or fire to roll the die."
- 4540 print" if a legal move is possible, the hand"
- 4550 print" pointer will appear on the board. use"
- 4560 print" either the right/left crsr keys or a"
- 4570 print" joystick in port two to move the hand"
- 4580 print" to the square you want to move to and"
- 4590 print" press return or fire. if one of your"
- 4600 print" men can move to the square you have"
- 4610 print" selected it will do so."
- 4620 print" play will continue until all of one"
- 4630 print" player's men reach the center square."
- 4640 geta$:ifa$=""and(peek(jy)and16)then4640
- 4650 gosub5020
- 4660 poke214,2:print
- 4670 print" there are a few additional rules to"
- 4680 print" the game which are as follows:"
- 4690 print" - to place a man at his start square,"
- 4700 print" the player must roll a 1 die."
- 4710 print" - if a player rolls either a 1 or 6,"
- 4720 print" the player gets another turn."
- 4730 print" - a player cannot move onto a square"
- 4740 print" that is already occupied by one of"
- 4750 print" his men."
- 4760 print" - if a player moves one of his men"
- 4770 print" onto a square occupied by his"
- 4780 print" opponent, the opponent's man will"
- 4790 print" be removed from the board and will"
- 4800 print" have to begin at his start square"
- 4810 print" by rolling a 1 die."
- 4820 geta$:ifa$=""and(peek(jy)and16)then4820
- 4830 gosub5020
- 4840 poke214,2:print
- 4850 print" - the one exception to the last rule"
- 4860 print" is if your opponent is on a red"
- 4870 print" square. these squares are safe and"
- 4880 print" cannot be moved to if they are"
- 4890 print" already occupied."
- 4900 print" - in order to reach the finish, the"
- 4910 print" player must roll the exact number"
- 4920 print" needed. (if you are 3 squares away,"
- 4930 print" rolling a 4 does not help you.)"
- 4940 print" - the first player to have all four"
- 4950 print" of his men reach the finish wins!"
- 4960 print" finally, keep in mind that knees is a"
- 4970 print" crafty opponent who will do his best"
- 4980 print" to beat you...don't let knees win!"
- 4990 print" good luck, star racer!"
- 5000 geta$:ifa$=""and(peek(jy)and16)then5000
- 5010 print"[147]":poke53284,7:poke53281,4:poke53280,6:return
- 5020 fori=21to3step-1::poke781,i:sys59903:next:return
- 5030 rem -- back to the tower --
- 5040 goto40000
- 10000 dv=peek(186):open15,dv,15,"s0:sr":close15:save"sr",dv:end
- 40000 fori=0to21:poke828+i,8+i:next
- 40010 ifdv<8ordv>29ordv=8then40030
- 40020 a=peek(828):b=peek(828+dv-8):poke828,b:poke828+dv-8,a
- 40030 a$="hello connect":forj=8to29:i=peek(828+j-8):ifi=14thennext
- 40040 close2:open2,i,2:close2:ifstthen40060
- 40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
- 40060 next:print"[147]":poke53272,23:poke186,8:end
- 40070 q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
- 40080 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
- 40090 print"run:":poke631,13:poke632,13:poke198,2:end
-