home *** CD-ROM | disk | FTP | other *** search
- 0 rem grid locked
- 50 poke 45,peek(174):poke 46,peek(175):clr
- 100 dima(44)
- 110 poke53269,0:poke53281,0:gosub1650
- 120 poke53281,0
- 130 s=54272:forss=stos+24:pokess,0:next:pokes+24,15
- 140 pokes+5,12:pokes+6,9:pokes+12,12:pokes+13,9:pokes+7,2:pokes+8,3.5
- 150 print"[147]"
- 160 a$(1,1)="[156][213][201][157][157][202][203][145]"
- 170 a$(1,2)="[213][201][157][157][202][203][145]"
- 180 a$(1,3)="[213][201][157][157][202][203][145]"
- 190 a$(1,4)="[158][213][201][157][157][202][203][145]"
- 200 a$(2,1)="[156][176][174][157][157][173][189][145]"
- 210 a$(2,2)="[176][174][157][157][173][189][145]"
- 220 a$(2,3)="[176][174][157][157][173][189][145]"
- 230 a$(2,4)="[158][176][174][157][157][173][189][145]"
- 240 a$(3,1)="[156][206][205][157][157][205][206][145]"
- 250 a$(3,2)="[206][205][157][157][205][206][145]"
- 260 a$(3,3)="[206][205][157][157][205][206][145]"
- 270 a$(3,4)="[158][206][205][157][157][205][206][145]"
- 280 a$(4,1)="[156][205][206][157][157][206][205][145]"
- 290 a$(4,2)="[205][206][157][157][206][205][145]"
- 300 a$(4,3)="[205][206][157][157][206][205][145]"
- 310 a$(4,4)="[158][205][206][157][157][206][205][145]"
- 320 print" [176][192][192][178][192][192][178][192][192][178][192][192][174]"
- 330 print" [221] [221] [221] [221] [221]"
- 340 print" [221] [221] [221] [221] [221]"
- 350 print" [171][192][192][219][192][192][219][192][192][219][192][192][179]"
- 360 print" [221] [160][221][160][160][221][160][160][221][160][160][221]"
- 370 print" [221] [221][160][160][221][160][160][221][160][160][221]"
- 380 print" [171][192][192][219][192][192][219][192][192][219][192][192][179]"
- 390 print" [221] [221] [221] [221] [221]"
- 400 print" [221] [221] [221] [221] [221]"
- 410 print" [171][192][192][219][192][192][219][192][192][219][192][192][179]"
- 420 print" [221] [160][221][160][160][221][160][160][221][160][160][221]"
- 430 print" [221] [221][160][160][221][160][160][221][160][160][221]"
- 440 print" [173][192][192][177][192][192][177][192][192][177][192][192][189]"
- 450 print" [159]grid locked by joel epstein":gosub 1020
- 460 print""tab(28)"color:"
- 470 printtab(27)"[156] [146] [146] [146] [158] [146]"
- 480 print""tab(28)"function:[158]"
- 490 printtab(26)"place[157][157][157][157][157]clear 1[157][157][157][157][157][157][157]clear all[157][157][157][157][157][157][157][157][157]quit"
- 500 print""tab(28)"shape:"
- 510 printtab(27)"[158][209] [146] [218] [214]"
- 520 print"_[157]";:x=0:a=1
- 530 j=peek(56320):x=x+1:get m$
- 540 if(j=125anda<4)or(m$=""anda<4)then a=a+1:print" [157]_[157]";
- 550 if(j=126anda>1)or(m$="[145]"anda>1)then a=a-1:print" [157][145]_[157]";
- 560 if(j=111andx>10anda=3)or(m$=chr$(13)anda=3)thengosub2080:clr:print"[147]":goto100
- 570 if(j=111andx>10anda=2)or(m$=chr$(13)anda=2)thengosub2080:cl=1:goto750
- 580 if(j=111andx>10anda=4)or(m$=chr$(13)anda=4)then print" ":gosub2030:goto520
- 590 if(j=111andx>10anda=1)or(m$=chr$(13)anda=1)thengosub2080:goto 610
- 600 goto 530
- 610 print""tab(27)"^[157]";:a=1:x=0
- 620 j=peek(56320):x=x+1:getm$
- 630 if(j=119anda<4)or(m$=""anda<4)then print" ^[157]";:a=a+1
- 640 if(j=123anda>1)or(m$="[157]"anda>1)then print" [157][157][157]^[157]";:a=a-1
- 650 if(j=111 and x>10)orm$=chr$(13)then gosub2080:goto670
- 660 goto620
- 670 print""tab(27)"^[157]";:b=1:x=0
- 680 j=0:j=peek(56320):x=x+1:getm$
- 690 if(j=119andb<4)or(m$=""andb<4)then print" ^[157]";:b=b+1
- 700 if(j=123andb>1)or(m$="[157]"andb>1)then print" [157][157][157]^[157]";:b=b-1
- 710 if(j=111 andx>10)orm$=chr$(13) then gosub2080:goto 730
- 720 goto680
- 730 nn=a*10+b:ifa(nn)=1thengosub940:goto900
- 740 a(nn)=1
- 750 print"[158]^[157]";
- 760 r=1:c=1:x=0
- 770 j=peek(56320):x=x+1:getm$
- 780 if(j=119andc<4)or(m$=""andc<4)then c=c+1:print"[192][158]^[157]";
- 790 if(j=123andc>1)or(m$="[157]"andc>1)then c=c-1:print"[192][158][157][157][157][157]^[157]";
- 800 if(j=111andx>10)orm$=chr$(13)then gosub2080:goto 840
- 810 if(j=125andr<4)or(m$=""andr<4)then r=r+1:print"[192][158][157]^[157]";
- 820 if(j=126andr>1)or(m$="[145]"andr>1)then r=r-1:print"[192][158][157][145][145][145]^[157]";
- 830 goto 770
- 840 ifcl=1thengosub1510:goto900
- 850 if b(r,c)<>0 then 770
- 860 gosub 1140:ifmu=1thenmu=0:goto900
- 870 if b(r,c)=0 then b(r,c)=nn:ct=ct+1
- 880 print"[192][157][145][145][157]";a$(b,a):gosub1020:goto890
- 890 if ct=16 then gosub 1560
- 900 print" [157][157] [157][157] [157][157] [157][157] "
- 910 print""tab(27)" "
- 920 print""tab(27)" "
- 930 goto 520
- 940 gosub2090:print" that has been taken already, try again"
- 950 gosub 960:return
- 960 print"[158] press joystick button or hit return":x=0:j=0
- 970 j=peek(56320):x=x+1:getm$
- 980 if(j=111 and x>15)or(m$=chr$(13))then goto 1000
- 990 goto 970
- 1000 print"";:forx=1to4:print" ";:next
- 1010 return
- 1020 print"";:for f=1 to 4
- 1030 for g=1 to 4
- 1040 if f=1 then print" [156]";
- 1050 if f=2 then print" ";
- 1060 if f=3 then print" ";
- 1070 if f=4 then print" [158]";
- 1080 if g=1 then print"[209]";:ifa(f*10+g)<>0 then print"[157][151][209]";
- 1090 if g=2 then print" [146]";:ifa(f*10+g)<>0then print"[157][151] [146]";
- 1100 if g=3 then print"[218]";:ifa(f*10+g)<>0 then print"[157][151][218]";
- 1110 if g=4 then print"[214]";:ifa(f*10+g)<>0 then print"[157][151][214]";
- 1120 if rd=1 then return
- 1130 next:print" ";:next:return
- 1140 rem *** check here ***
- 1150 cn=(int(nn/10)):cm=(nn-((int(nn/10))*10))
- 1160 for x=1 to 4
- 1170 if int(b(r,x)/10)=cn then c=x:gosub1400:return
- 1180 if(b(r,x)-((int(b(r,x)/10))*10))=cmthenc=x:gosub 1400:return
- 1190 next
- 1200 for x=1 to 4
- 1210 if int(b(x,c)/10)=cn then r=x:gosub1400:return
- 1220 if(b(x,c)-((int(b(x,c)/10))*10))=cmthenr=x:gosub 1400:return
- 1230 next
- 1240 if r<>c then 1290
- 1250 for x=0 to 4
- 1260 if int(b(x,x)/10)=cn then c=x:r=x:gosub1400:return
- 1270 if(b(x,x)-((int(b(x,x)/10))*10))=cmthenc=x:r=x:gosub 1400:return
- 1280 next
- 1290 ev=0:p=4:fory=1to4
- 1300 ifr=y and c=p then ev=ev+1
- 1310 p=p-1
- 1320 next
- 1330 if ev=0then mu=0:goto 1390
- 1340 p=4:fory=1to4
- 1350 if int(b(y,p)/10)=cn then r=y:c=p:gosub1400:return
- 1360 if(b(y,p)-((int(b(y,p)/10))*10))=cmthenr=y:c=p:gosub1400:return
- 1370 p=p-1
- 1380 next
- 1390 rd=0:return
- 1400 rem *** give message here ***
- 1410 gosub 2090
- 1420 rd=1:print"[192][157][145][145][157]";
- 1430 print" you can't put the";
- 1440 f=(int(nn/10)):g=(nn-((int(nn/10))*10)):a(f*10+g)=0
- 1450 gosub 1040:print" here"
- 1460 print" because of the ";
- 1470 f=(int(b(r,c)/10)):g=(b(r,c)-((int(b(r,c)/10))*10))
- 1480 dm=a(b(r,c)):a(b(r,c))=0:gosub1040:a(b(r,c))=1
- 1490 print" in row";r;"column";c
- 1500 mu=1:gosub960:return
- 1510 rd=0:print"[192][157][157][145][145] [157][157] "
- 1520 ng=b(r,c):f=int(ng/10):g=ng-((int(ng/10))*10):a(f*10+g)=0
- 1530 gosub 1020
- 1540 a(b(r,c))=0:b(r,c)=0
- 1550 ct=ct-1:cl=0:nn=0:f=0:g=0:return
- 1560 print" hooray!!!"
- 1570 print" you solved this crazy puzzle!"
- 1580 forux=1to30:poke53280,ux:foruu=1to50:next:next
- 1590 print"[158] do you want to play again (y or n)"
- 1600 getpl$:ifpl$=""then 1600
- 1610 if pl$="y" then 1640
- 1620 if pl$="n"then 2100
- 1630 goto 1600
- 1640 clr:run
- 1650 poke53281,0:poke53280,0:print"[147]":sys949
- 1660 print"[156]grid locked"
- 1740 get a$:ifa$=""then 1740
- 1750 if a$="n"then return
- 1760 if a$="y"then 1780
- 1770 goto 1740
- 1780 print"[147]the object of this game is to fill the":print
- 1790 print"grid with various shapes of different":print
- 1800 print"colors. there is a catch, however.":print
- 1810 print"the grid is 4x4 - there are 4 different":print
- 1820 print"shapes and 4 different colors. to be":print
- 1830 print"successful in solving this grid, you":print
- 1840 print"must not have a shape or a color":print
- 1850 print"duplicated in any vertical, horizontal,":print
- 1860 print"or diagonal row of 4. ":print:print:print
- 1870 print" press space bar to continue reading"
- 1880 geta$:ifa$=""ora$<>" "thengoto1880
- 1890 print"[147]use joystick in #2 or cursor keys to:":print
- 1900 print"1. [158]place (put a shape on the board)":print
- 1910 print"2. [158]clear 1 (remove one piece from board)"
- 1920 print"3. [158]clear all (clear board and try again)"
- 1930 print"4. [158]quit (to exit the game)":print
- 1940 print"guide the pointer in the various menus":print
- 1950 print"by either using the cursor keys or the":print
- 1960 print"joystick. to select an item on the menu"
- 1970 print"either press the joystick button or hit":print
- 1980 print"return. when the desired shape is chosen"
- 1990 print"position arrow on grid and press return":print
- 2000 print"press space bar to begin this crazy game"
- 2010 geta$:ifa$=""ora$<>" "thengoto2010
- 2020 return
- 2030 gosub2080:print"are you sure you want to quit (y or n) ?"
- 2040 getpl$:ifpl$=""then 2040
- 2050 if pl$="n" then print" ":return
- 2060 if pl$="y"then 2100
- 2070 goto 2040
- 2080 pokes+1,30:pokes,100:pokes+4,21:forx=1to200:next:pokes+4,20:return
- 2090 pokes+11,33:forx=1to200:next:pokes+11,32:return
- 2100 f=20:no=1:nt=10:dimpd(10,4):nn=1
- 2110 v=53248:i=249:rem video & image #
- 2120 poke 53280,0:poke v+21,0
- 2130 poke 53281,14
- 2140 s=54272:forsd=stos+24:pokes,0:next
- 2150 pokes+24,15:pokes+2,0:pokes+5,129:pokes+6,65
- 2160 pokes+7,85:pokes+8,36:pokes+12,136:pokes+13,129
- 2170 sys 907:poke v+21,0
- 2180 poke v,100:poke v+1,120:rem posit
- 2190 poke v+39,11:rem color
- 2200 poke v+29,0 :rem place vert
- 2210 poke v+23,0 :rem expan hori
- 2220 poke v+21,1:xl=0:rem turn on
- 2230 j=peek(56320):vv=peek(v+1):vh=peek(v):vo=peek(v+16)
- 2240 hp=sgn(jand4)-sgn(jand8)
- 2250 ifhd<>hpthenifhp=1theni=249
- 2260 ifhd<>hpthenifhp=-1theni=253
- 2270 ifi=252theni=249:no=2:nt=10
- 2280 ifi=256theni=253:no=2:nt=10
- 2290 ifvo=1andvh=>59andhp=1thengoto2230
- 2300 ifvo=0andvh<=20andhp=-1thengoto2230
- 2310 vp=sgn(jand1)-sgn(jand2):ifwk=1andzz<65thenvp=.5
- 2320 ok=(f>51)
- 2330 ifvp=1andvv=>156thengoto2230
- 2340 ifvp=-1andvv<=94thengoto2230
- 2350 pokev+1,vv+vp*2
- 2360 pokev+16,ok*(-1)
- 2370 pokev,f*5+(ok*256)
- 2380 poke2040,i:ifhp=0andvp=0thengoto2420
- 2390 nt=nt+26
- 2400 ifnt>88thennt=10
- 2410 pokes+4,129:pokes+1,no:pokes,nt:i=i+1:forgg=1to1:next:pokes+4,128
- 2420 ifj=111andxl>10thengosub2450
- 2430 hd=hp:f=f+hd:xl=xl+1:ifwk=1 then return
- 2440 hd=hp:f=f+hd:xl=xl+1:goto2230
- 2450 xl=0:ifvo=0andvv=94andvh>=35andvh<=50thenrun
- 2460 ifvo=0andvv=94andvh>=115andvh<=130thenmm=2:a$="one more time":goto2500
- 2470 ifvo=0andvv=94andvh>=195andvh<=210thenmm=3:a$="stroop":goto2500
- 2480 ifvo=1andvv=94andvh>=19andvh<=34thenmm=4:gosub2550:if z=2 thenreturn
- 2490 return
- 2500 poke53280,0:poke53281,0:pokev+21,0
- 2510 print"[147][156] please wait while file loads..."
- 2520 poke 43,1:poke44,16:poke4096,0
- 2530 loada$,8
- 2550 print"[158] are you sure you want to quit?"
- 2560 get a$:if a$="" then 2560
- 2570 ifa$="n"thenz=2
- 2575 ifz=2thenprint"[144] viking technologies, inc. ";
- 2580 if z=2 thenprint" ";:z=0:return
- 2590 if a$="y" then 2610
- 2600 goto 2560
- 2610 clr:load"upt.reboot",8
- 2620 rem **** return to uptime ****
-