CLEAR,25000:CLEAR,50000 SCREEN 1,320,200,3,1 WINDOW 2,,,0,1 ON BREAK GOSUB quit: BREAK ON FOR x=0 TO 7 READ r,g,b PALETTE x,r,g,b NEXT DATA 0,0,0,.33,.87,0,.93,.2,0,.4,.6,1,1,.73,0,.73,.73,.73,1,.13,.93,1,1,1 REM 0-black,1-green,2-red,3-blue,4-orange,5-grey,6-mauve,7-white DEFINT a-z RANDOMIZE TIMER DIM check(225),grid(17,17),cordx(17,17),cordy(17,17),bonus(17,17) DIM gotbonus(2,17,17) GOSUB graphics COLOR 3 LOCATE 5,5:PRINT "S T E P P I N G S T O N E S"; COLOR 4:LOCATE 7,13:PRINT "BY ERIC COVELL" COLOR 5 ditto: LOCATE 10,4:INPUT"Do you want instructions (y,n)";ans$:ans$=UCASE$(ans$) IF ans$<>"Y" AND ans$<>"N" THEN ditto IF ans$="Y" THEN GOSUB instructions restart: GOSUB getnames CLS LOCATE 2,5:COLOR 7:PRINT "MAZE 1" LOCATE 4,5:PRINT "MAZE 1 + BONUSES" LOCATE 6,5:PRINT "MAZE 1 + BONUSES + FOOTPRINTS" LOCATE 8,5:PRINT "MAZE 2" LOCATE 10,5:PRINT "MAZE 2 + BONUSES" LOCATE 12,5:PRINT "MAZE 2 + BONUSES + FOOTPRINTS" LOCATE 14,5:PRINT "RANDOM MAZE" LOCATE 16,5:PRINT "RANDOM MAZE + BONUSES" LOCATE 18,5:PRINT "RANDOM MAZE + BONUSES + FOOTPRINTS" FOR y=6 TO 134 STEP 16:LINE(5,y)-(17,y+12),3,b:NEXT LOCATE 20,5:COLOR 2:PRINT "Click in box of choice" type=3 GOSUB readmouse level=choice start: CLS FOR x=0 TO 225:check(x)=0:NEXT y=0 FOR x=1 TO 225 again: p=INT(RND*225)+1 IF check(p)<>0 THEN again y=y+1:IF y=7 THEN y=1 check(p)=y NEXT y=9:x=0:k=0 FOR j=2 TO 16 y=y+11 FOR i=2 TO 16 x=x+11 k=k+1 m=check(k) grid(i,j)=m cordx(i,j)=x:cordy(i,j)=y NEXT x=0 NEXT rubout=0 IF level=1 THEN GOSUB obstacle2 IF level=2 THEN GOSUB obstacle2:GOSUB bonus IF level=3 THEN rubout=1:GOSUB obstacle2:GOSUB bonus IF level=4 THEN GOSUB obstacle1 IF level=5 THEN GOSUB obstacle1:GOSUB bonus IF level=6 THEN rubout=1:GOSUB obstacle1:GOSUB bonus IF level=7 THEN GOSUB maze IF level=8 THEN GOSUB maze:GOSUB bonus IF level=9 THEN rubout=1:GOSUB maze:GOSUB bonus y=9:x=0 FOR j=2 TO 16 y=y+11 FOR i= 2 TO 16 x=x+11 m=grid(i,j) LINE(x,y)-(x+10,y+10),m,bf IF level<>1 AND level<>4 AND level<>7 THEN GOSUB printbonus NEXT x=0 NEXT FOR x=1 TO 3 p=INT(RND*6)+1 col(x)=p NEXT y=8 FOR x=1 TO 3 y=y+12 LINE(199,y)-(229,y+10),col(x),bf NEXT LINE(197,18)-(231,56),7,b PUT(199,69),nw,PSET PUT(209,69),north,PSET PUT(219,69),ne,PSET PUT(199,79),west,PSET PUT(219,79),east,PSET PUT(199,89),sw,PSET PUT(209,89),south,PSET PUT(219,89),se,PSET cx(1)=9:cx(2)=9:cy(1)=2:cy(2)=16 LINE(cordx(cx(1),cy(1)),cordy(cx(1),cy(1)))-(cordx(cx(1),cy(1))+10,cordy(cx(1),cy(1))+10),7,b LINE(cordx(cx(2),cy(2)),cordy(cx(2),cy(2)))-(cordx(cx(2),cy(2))+10,cordy(cx(2),cy(2))+10),0,b IF pla=1 THEN r=0 FOR y=12 TO 92 STEP 16 r=r+1 LINE(280,y)-(292,y+12),r,b NEXT END IF LOCATE 14,24:COLOR 6:PRINT "SCORES"; x=LEN(names$(1)):p=10-x:LOCATE 15,24:COLOR 7,3:PRINT names$(1)+SPACE$(p) x=LEN(names$(2)):p=10-x:LOCATE 17,24:COLOR 0,3:PRINT names$(2)+SPACE$(p); LOCATE 15,34:PRINT score(1):LOCATE 17,34:PRINT score(2) begin: cp=1 WHILE xxx=0 pn=pn+1:IF pn=3 THEN pn=1 LOCATE 19,24:COLOR ,0:PRINT " "; LOCATE 19,24:COLOR 2:PRINT names$(pn); tryagain: LOCATE 20,24:COLOR 0:PRINT " " LOCATE 20,24:COLOR 7:PRINT "SELECT DIRECTION"; type=1 GOSUB readmouse GOSUB checkchoice badmove: IF flag=1 THEN COLOR 0:LOCATE 20,24:PRINT " "; COLOR 2:LOCATE 20,24:PRINT "ILLEGAL MOVE"; FOR x=1 TO 5000:NEXT GOTO tryagain END IF GOSUB update IF wrong=1 THEN flag=1:GOTO badmove IF pn=2 AND cy(1)=16 OR cy(2)=2 THEN xxx=1:GOTO over IF pn=2 THEN GOSUB changecolour over: WEND LOCATE 1,1 PRINT:COLOR 5:PRINT " PRESS SPACE BAR TO CONTINUE"; ee:a$=INKEY$:IF a$<>" "THEN ee CLS newgame: LOCATE 10,10 INPUT"ANOTHER GAME (Y/N)";ans$ ans$=UCASE$(ans$) IF ans$<>"Y" AND ans$<>"N" THEN newgame IF ans$="Y" THEN xxx=0:FOR w=1 TO 2:FOR x=1 TO 17:FOR y=1 TO 17:gotbonus(w,x,y)=0:NEXT:NEXT:NEXT FOR x=1 TO 17:FOR y=1 TO 17:bonus(x,y)=0:NEXT:NEXT CLS:LOCATE 10,10 INPUT"SAME PLAYERS (Y/N)";ans$ ans$=UCASE$(ans$) 51 : IF ans$<>"Y" AND ans$<>"N" THEN 51 IF ans$="Y" THEN samep=1 :ELSE samep=0:FOR y=1 TO 2:score(y)=0:NEXT IF samep=1 THEN CLS:LOCATE 10,1 PRINT "CONTINUE SCORE OR START AGAIN" INPUT "TYPE 'C' TO CONTINUE, 'R' TO RESTART";ans$ ans$=UCASE$(ans$) 59 : IF ans$<>"C" AND ans$<>"R" THEN 59 IF ans$="R" THEN FOR y=1 TO 2:score(y)=0:NEXT END IF GOTO restart END IF quit: CLEAR,25000 SYSTEM END getnames: IF samep=1 THEN 6000 FOR x=1 TO 2 19 : CLS:LOCATE 10,1: COLOR 6:PRINT "Player ";x;" please type your name":INPUT"max 10 letters ",names$(x) names$(x)=UCASE$(names$(x)) l= LEN(names$(x)):IF l>10 THEN 19 NEXT 6000 : CLS LINE(10,20)-(50,60),4,b LINE(10,90)-(50,130),4,b LOCATE 5,10:COLOR 5:PRINT "Players control colours" LOCATE 15,10:COLOR 5:PRINT "Random colours" LOCATE 21,10:COLOR 6:PRINT "Click on selection" type=2 GOSUB readmouse IF choice=1 THEN pla=1 :ELSE pla=0 RETURN update: IF pn=1 THEN cc=7 :ELSE cc=0 oldcol=grid(cx(pn),cy(pn)) IF gotbonus(pn,newcx(pn),newcy(pn))=1 AND choice<>5 THEN wrong=1 :ELSE wrong=0 IF newcx(pn)=cx(3-pn) AND newcy(pn)=cy(3-pn) THEN wrong=1 :ELSE wrong=0 IF wrong=1 THEN RETURN IF rubout=1 THEN IF choice<>5 THEN LINE(cordx(cx(pn),cy(pn)),cordy(cx(pn),cy(pn)))-(cordx(cx(pn),cy(pn))+10,cordy(cx(pn),cy(pn))+10),0,bf grid(cx(pn),cy(pn))=0 END IF END IF IF rubout=0 THEN LINE(cordx(cx(pn),cy(pn)),cordy(cx(pn),cy(pn)))-(cordx(cx(pn),cy(pn))+10,cordy(cx(pn),cy(pn))+10),oldcol,b LINE(cordx(newcx(pn),newcy(pn)),cordy(newcx(pn),newcy(pn)))-(cordx(newcx(pn),newcy(pn))+10,cordy(newcx(pn),newcy(pn))+10),cc,b cx(pn)=newcx(pn):cy(pn)=newcy(pn) IF choice=5 THEN sc=0 IF choice=4 OR choice=6 THEN sc=1 IF pn=1 THEN IF choice=7 OR choice=8 OR choice=9 THEN sc=2 IF choice=1 OR choice=2 OR choice=3 THEN sc=-2 END IF IF pn=2 THEN IF choice=1 OR choice=2 OR choice=3 THEN sc=2 IF choice=7 OR choice=8 OR choice=9 THEN sc=-2 END IF score(pn)=score(pn)+sc IF level<>1 AND level<>4 AND level<>7 THEN IF choice<>5 THEN sc=bonus(cx(pn),cy(pn)) IF sc>0 THEN gotbonus(pn,cx(pn),cy(pn))=1 score(pn)=score(pn)+sc END IF END IF IF pn=1 THEN r=0 :ELSE r=2 LOCATE 15+r,34:PRINT " ";:COLOR 5:LOCATE 15+r,34:PRINT score(pn); RETURN changecolour: rcol(2)=col(1):rcol(3)=col(2) IF pla=0 THEN col(1)=INT(RND*6)++1 :ELSE col(1)=0 col(2)=rcol(2):col(3)=rcol(3) j=8 FOR i=1 TO 3 j=j+12 LINE(199,j)-(229,j+10),col(i),bf NEXT IF pla=1 THEN COLOR 0:LOCATE 19,24:PRINT " "; cp=3-cp COLOR 2:LOCATE 19,24:PRINT names$(cp); COLOR 0:LOCATE 20,24:PRINT " "; COLOR 4:LOCATE 20,24:PRINT "Select Colour" type=4 GOSUB readmouse col(1)=choice LINE(199,20)-(229,30),col(1),bf END IF RETURN checkchoice: flag=0 ON choice GOSUB 1,2,3,4,5,6,7,8,9 newcol=grid(newcx(pn),newcy(pn)) IF newcol=0 THEN flag=1 IF newcol<>col(3) THEN flag=1 IF choice=5 THEN flag=0 RETURN printbonus: aa=bonus(i,j) IF aa<>0 THEN IF aa=1 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),one,PSET IF aa=2 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),two,PSET IF aa=3 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),three,PSET IF aa=4 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),four,PSET IF aa=5 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),five,PSET IF aa=6 THEN PUT(cordx(i,j)+2,cordy(i,j)+2),six,PSET END IF RETURN 1 : newcx(pn)=cx(pn)-1:newcy(pn)=cy(pn)-1 RETURN 2 : newcx(pn)=cx(pn):newcy(pn)=cy(pn)-1 RETURN 3 : newcx(pn)=cx(pn)+1:newcy(pn)=cy(pn)-1 RETURN 4 : newcx(pn)=cx(pn)-1:newcy(pn)=cy(pn) RETURN 5 : newcx(pn)=cx(pn):newcy(pn)=cy(pn) RETURN 6 : newcx(pn)=cx(pn)+1:newcy(pn)=cy(pn) RETURN 7 : newcx(pn)=cx(pn)-1:newcy(pn)=cy(pn)+1 RETURN 8 : newcx(pn)=cx(pn):newcy(pn)=cy(pn)+1 RETURN 9 : newcx(pn)=cx(pn)+1:newcy(pn)=cy(pn)+1 RETURN obstacle1: FOR j=4 TO 14 STEP 10 FOR i=3 TO 5 grid(i,j)=0 grid(i+5,j)=0 grid(i+10,j)=0 NEXT NEXT FOR i=2 TO 4 grid(i,9)=0:grid(i+4,9)=0:grid(i+8,9)=0:grid(i+12,9)=0 NEXT RETURN obstacle2: FOR j=5 TO 6 FOR i=2 TO 4 grid(i,j)=0 grid(i+5,j)=0 grid(i+7,j)=0 grid(i+12,j)=0 NEXT NEXT FOR j=12 TO 13 FOR i=2 TO 4 grid(i,j)=0 grid(i+5,j)=0 grid(i+7,j)=0 grid(i+12,j)=0 NEXT NEXT RETURN bonus: FOR x=1 TO 225:check(x)=0:NEXT IF level>6 THEN 2000 IF level>3 THEN 2001 count=1:x=0 WHILE count<13 1900 : p=INT(RND*75)+1 IF check(p)<>0 THEN 1900 x=x+1 IF x<2 THEN q=6 :ELSE IF x<4 THEN q=5 :ELSE IF x<6 THEN q=4 :ELSE IF x<8 THEN q=3 :ELSE IF x<10 THEN q=2 :ELSE q=1 check(p)=q count=count+1 WEND k=0 FOR j=7 TO 11 FOR i=2 TO 16 k=k+1 m=check(k) bonus(i,j)=m NEXT NEXT RETURN 2000 : FOR x=1 TO 30 2010 : j=INT(RND*13)+3 i=INT(RND*13)+3 IF grid(i,j)=0 THEN 2010 IF bonus(i,j)<>0 THEN 2010 k=INT(RND*6+1) bonus(i,j)=k NEXT RETURN 2001 : count=1:x=0 WHILE count<21 2002 : p=INT(RND*120)+1 IF check(p)<>0 THEN 2002 x=x+1 IF x<3 THEN q=6 :ELSE IF x<6 THEN q=5 :ELSE IF x<9 THEN q=4 :ELSE IF x<12 THEN q=3 :ELSE IF x<15 THEN q=2 :ELSE q=1 check(p)=q count=count+1 WEND k=0 FOR j=5 TO 8 FOR i=2 TO 16 k=k+1 bonus(i,j)=check(k) NEXT:NEXT FOR j=10 TO 13 FOR i=2 TO 16 k=k+1 bonus(i,j)=check(k) NEXT:NEXT RETURN maze: FOR j=1 TO 10:FOR i=1 TO 10:maze(i,j)=0:NEXT:NEXT FOR x=1 TO 10 3000 : j=INT(RND*7)+3 i=INT(RND*7)+3 IF maze(i,j)<>0 THEN 3000 maze(i,j)=1 GOSUB fillmaze NEXT RETURN fillmaze: j1=i:i1=j grid(i,j)=0:grid(18-j,i)=0:grid(18-i,18-j)=0:grid(j,18-i)=0 RETURN readmouse: WHILE MOUSE(0)<>0:WEND WHILE MOUSE(0)=0:WEND xm=MOUSE(1):ym=MOUSE(2) IF type=4 THEN 1150 IF type=3 THEN 1100 IF type=2 THEN 1000 IF type=1 THEN IF xm>229 OR xm<199 OR ym>100 OR ym<69 THEN readmouse IF ym<80 THEN IF xm>218 THEN choice=3 :ELSE IF xm>209 THEN choice=2 :ELSE choice=1 END IF IF ym>79 AND ym<91 THEN IF xm>218 THEN choice=6 :ELSE IF xm>209 THEN choice=5 :ELSE choice=4 END IF IF ym>90 AND ym<102 THEN IF xm>218 THEN choice=9 :ELSE IF xm>209 THEN choice=8 :ELSE choice=7 END IF END IF 1000 : IF type=2 THEN IF xm<10 OR xm>50 OR ym<20 OR ym >130 THEN readmouse IF ym>60 AND ym<90 THEN readmouse IF ym<60 THEN choice=1 :ELSE choice=2 END IF 1100 : IF type=3 THEN choice=0 IF xm<5 OR xm>17 OR ym<6 OR ym>146 THEN readmouse IF ym<19 THEN choice=1 IF ym>21 AND ym<35 THEN choice=2 IF ym>37 AND ym<51 THEN choice=3 IF ym>53 AND ym<67 THEN choice=4 IF ym>69 AND ym<83 THEN choice=5 IF ym>85 AND ym<99 THEN choice=6 IF ym>101 AND ym<115 THEN choice=7 IF ym>117 AND ym<131 THEN choice=8 IF ym>133 AND ym<147 THEN choice=9 IF choice=0 THEN readmouse END IF 1150 : IF type=4 THEN choice=0 IF xm<280 OR xm>292 OR ym<12 OR ym>104 THEN readmouse IF ym<25 THEN choice=1 IF ym>27 AND ym<41 THEN choice=2 IF ym>43 AND ym<57 THEN choice=3 IF ym>59 AND ym<73 THEN choice=4 IF ym>75 AND ym<89 THEN choice=5 IF ym>91 AND ym<105 THEN choice=6 END IF RETURN graphics: DIM north(33) FOR i=0 TO 32:READ north(i):NEXT DATA &hA,&hA,&h3,&h0,&hC00,&h1E00,&h3F00,&h7F80 DATA &h7F80,&hC00,&hC00,&hC00,&h0,&hFFC0,&h8C40,&h9E40 DATA &hAF40,&hFFC0,&hFFC0,&h8C40,&h8C40,&h8C40,&hFFC0,&h0 DATA &hC00,&h1E00,&h2F00,&h7F80,&h7F80,&hC00,&hC00,&hC00 DATA &h0 DIM south(33) FOR i=0 TO 32:READ south(i):NEXT DATA &hA,&hA,&h3,&h0,&hC00,&hC00,&hC00,&h7F80 DATA &h7F80,&h3F00,&h1E00,&hC00,&h0,&hFFC0,&h8C40,&h8C40 DATA &h8C40,&hFFC0,&hFFC0,&hBF40,&h9E40,&h8C40,&hFFC0,&h0 DATA &hC00,&hC00,&hC00,&h7F80,&h7F80,&h3F00,&h1E00,&hC00 DATA &h0 DIM east(33) FOR i=0 TO 32:READ east(i):NEXT DATA &hA,&hA,&h3,&h0,&hC00,&hE00,&hF00,&h7F80 DATA &h7F80,&hF00,&hE00,&hC00,&h0,&hFFC0,&h8C40,&h8E40 DATA &h8F40,&hFFC0,&hFFC0,&h8F40,&h8E40,&h8C40,&hFFC0,&h0 DATA &hC00,&hE00,&hF00,&h7F80,&h7F80,&hF00,&hE00,&hC00 DATA &h0 DIM west(33) FOR i=0 TO 32:READ west(i):NEXT DATA &hA,&hA,&h3,&h0,&hC00,&h1C00,&h3C00,&h7F80 DATA &h7F80,&h3C00,&h1C00,&hC00,&h0,&hFFC0,&h8C40,&h9C40 DATA &hBC40,&hFFC0,&hFFC0,&hBC40,&h9C40,&h8C40,&hFFC0,&h0 DATA &hC00,&h1C00,&h3C00,&h7F80,&h7F80,&h3C00,&h1C00,&hC00 DATA &h0 DIM nw(33) FOR i=0 TO 32:READ nw(i):NEXT DATA &hA,&hA,&h3,&h0,&h7F00,&h7E00,&h7C00,&h7C00 DATA &h7E00,&h6700,&h4380,&h180,&h0,&hFFC0,&hFF40,&hFE40 DATA &hFC40,&hFC40,&hFE40,&hE740,&hC3C0,&h81C0,&hFFC0,&h0 DATA &h7F00,&h7E00,&h7C00,&h7C00,&h7E00,&h6700,&h4380,&h180 DATA &h0 DIM ne(33) FOR i=0 TO 32:READ ne(i):NEXT DATA &hA,&hA,&h3,&h0,&h3F80,&h1F80,&hF80,&hF80 DATA &h1F80,&h3980,&h7080,&h6000,&h0,&hFFC0,&hBFC0,&h9FC0 DATA &h8FC0,&h8FC0,&h9FC0,&hB9C0,&hF0C0,&hE040,&hFFC0,&h0 DATA &h3F80,&h1F80,&hF80,&hF80,&h1F80,&h3980,&h7080,&h6000 DATA &h0 DIM sw(33) FOR i=0 TO 32:READ sw(i):NEXT DATA &hA,&hA,&h3,&h0,&h180,&h4380,&h6700,&h7E00 DATA &h7C00,&h7C00,&h7E00,&h7F00,&h0,&hFFC0,&h81C0,&hC3C0 DATA &hE740,&hFE40,&hFC40,&hFC40,&hFE40,&hFF40,&hFFC0,&h0 DATA &h180,&h4380,&h6700,&h7E00,&h7C00,&h7C00,&h7E00,&h7F00 DATA &h0 DIM se(33) FOR i=0 TO 32:READ se(i):NEXT DATA &hA,&hA,&h3,&h0,&h6000,&h7080,&h3980,&h1F80 DATA &hF80,&hF80,&h1F80,&h3F80,&h0,&hFFC0,&hE040,&hF0C0 DATA &hB9C0,&h9FC0,&h8FC0,&h8FC0,&h9FC0,&hBFC0,&hFFC0,&h0 DATA &h6000,&h7080,&h3980,&h1F80,&hF80,&hF80,&h1F80,&h3F80 DATA &h0 DIM one(18) FOR i=0 TO 17:READ one(i):NEXT DATA &h3,&h5,&h3,&hA000,&h2000,&hA000,&hA000,&h0 DATA &hA000,&h2000,&hA000,&hA000,&h0,&hA000,&h2000,&hA000 DATA &hA000,&h0 DIM two(18) FOR i=0 TO 17:READ two(i):NEXT DATA &h3,&h5,&h3,&h0,&hC000,&h0,&h6000,&h0 DATA &h0,&hC000,&h0,&h6000,&h0,&h0,&hC000,&h0 DATA &h6000,&h0 DIM three(18) FOR i=0 TO 17:READ three(i):NEXT DATA &h3,&h5,&h3,&h0,&hC000,&h0,&hC000,&h0 DATA &h0,&hC000,&h0,&hC000,&h0,&h0,&hC000,&h0 DATA &hC000,&h0 DIM four(18) FOR i=0 TO 17:READ four(i):NEXT DATA &h3,&h5,&h3,&h6000,&h6000,&h4000,&h0,&hC000 DATA &h6000,&h6000,&h4000,&h0,&hC000,&h6000,&h6000,&h4000 DATA &h0,&hC000 DIM five(18) FOR i=0 TO 17:READ five(i):NEXT DATA &h3,&h5,&h3,&h0,&h6000,&h0,&hC000,&h0 DATA &h0,&h6000,&h0,&hC000,&h0,&h0,&h6000,&h0 DATA &hC000,&h0 DIM six(18) FOR i=0 TO 17:READ six(i):NEXT RETURN DATA &h3,&h5,&h3,&h0,&h6000,&h0,&h4000,&h0 DATA &h0,&h6000,&h0,&h4000,&h0,&h0,&h6000,&h0 DATA &h4000,&h0 instructions: COLOR 1:CLS PRINT "Move from one side of playfield to the" PRINT "other. You can only move to a square" PRINT "of the same color as the lowest of the" PRINT "block of three colors shown on the" PRINT "right side of the screen." PRINT:COLOR 2 PRINT "Moving forward either in a vertical or" PRINT "diagonal direction scores 2 points." PRINT "Moving backward loses 2 points, while" PRINT "moving on the same row scores 1 point." PRINT "Staying on the same square scores zero." PRINT:COLOR 3 PRINT "Click on the appropriate arrow symbol-" PRINT "(left mouse button) - when prompted to " PRINT "move. Click on the blank square in the" PRINT "center of the arrow symbols to stay on" PRINT "the same square." PRINT:COLOR 4 PRINT "When both players have completed their" PRINT "turn, the block of colors moves down 1" PRINT "place so what was the current color is" PRINT "replaced by the next color, and so on." PRINT:COLOR 5:PRINT " PRESS SPACE BAR TO CONTINUE"; aa:a$=INKEY$:IF a$<>" "THEN aa CLS:COLOR 1 PRINT "The third colour is now chosen. At the" PRINT "start of the game you will be given the" PRINT "choice of having the new color chosen" PRINT "randomly or alternately by the players." PRINT "This option adds considerably to the" PRINT "tactics of the game. Pick the colour" PRINT "you want by clicking in one of the six" PRINT "boxes on the right of the screen when" PRINT "prompted." PRINT:COLOR 2 PRINT "There are 3 playfields available. The " PRINT "first 2 playfields have black bands " PRINT "across the screen with gaps in them." PRINT "The 3rd playfield has a series of black" PRINT "squares randomly generated in crossword" PRINT "puzzle fashion. You cannot move onto a" PRINT "black square. There are 3 alternatives" PRINT "for each playfield." PRINT COLOR 3:PRINT " 1) No additions COLOR 4:PRINT " 2) Bonus numbers COLOR 6:PRINT " 3) Bonus numbers + footprints" PRINT:COLOR 5:PRINT " PRESS SPACE BAR TO CONTINUE"; bb:a$=INKEY$:IF a$<>" "THEN bb CLS:COLOR 1 PRINT "1) No additions: The game is played" PRINT "on the playfields as described above." COLOR 2:PRINT PRINT "2) Numbers are shown randomly on some" PRINT "of the squares. Landing on any of the" PRINT "bonus squares adds the bonus value to" PRINT "your score. You may only land on any" PRINT "one bonus square once during the game." COLOR 3:PRINT PRINT "3) In this variation, bonuses are as" PRINT "in 2), but as you leave any square," PRINT "the square, any bonus are blacked out" PRINT "so either player can use the square" PRINT "subsequently." PRINT "Hence, you leave a trail of `footprints'" PRINT "as you travel the screen. It is fairly" PRINT "easy to get trapped using the footprint" PRINT "variations, particularly for the first" PRINT "2 playfields. Always make sure there is" PRINT "a route open for you to reach the other" PRINT "side of the playfield." PRINT:COLOR 5:PRINT " PRESS SPACE BAR TO CONTINUE"; cc:a$=INKEY$:IF a$<>" "THEN cc CLS COLOR 4:PRINT PRINT "The first named player plays white and" PRINT "moves down the playfield. The second " PRINT "player plays black and moves upward. No" PRINT "player can move to a square occupied by" PRINT "the other." COLOR 2:PRINT PRINT "The game ends when one of the players " PRINT "has crossed the playfield. If this is" PRINT "the first player then the other player" PRINT "is given one more move. The winner is " PRINT "the player with the highest score. You " PRINT "will be given the opportunity to carry" PRINT "the score forward if the same players " PRINT "are competing." PRINT:COLOR 5:PRINT " PRESS SPACE BAR TO CONTINUE"; dd:a$=INKEY$:IF a$<>" "THEN dd RETURN