// Text of project C:\Documents and Settings\Administrator\My Documents\My Downloads\Newton\Programming\Newton Projects\Hopper\Hopper.NTK written on: 04/29/04 23:49:28 // Beginning of file about.lyt aboutBox := {viewBounds: {left: 1, top: 80, right: 174, bottom: 174}, debug: "aboutBox", _proto: @180 }; _view000 := /* child of aboutBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\nwww.dumbstart.com\nApril 29, 2004\nVersion 4" , viewBounds: {left: -5, top: 5, bottom: -5, right: 5}, viewJustify: 246, _proto: @218 }; constant |layout_about.lyt| := aboutBox; // End of file about.lyt // Beginning of file winBox.lyt winBox := {viewBounds: {left: 1, top: 80, right: 174, bottom: 174}, ViewSetupFormScript: // be sure to call inherited:?ViewSetupFormScript() func() begin SetValue(firstPlace,'text,hiscores.player1.name); SetValue(secondPlace,'text,hiscores.player2.name); SetValue(thirdPlace,'text,hiscores.player3.name); SetValue(fourthPlace,'text,hiscores.player4.name); score1:=NumberStr(hiscores.player1.score); score2:=NumberStr(hiscores.player2.score); score3:=NumberStr(hiscores.player3.score); score4:=NumberStr(hiscores.player4.score); SetValue(firstScore,'text,score1); SetValue(secondScore,'text,score2); SetValue(thirdScore,'text,score3); SetValue(fourthScore,'text,score4); inherited:?ViewSetupFormScript(); end, debug: "winBox", _proto: @180 }; firstPlace := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: -5, top: 5, bottom: -70, right: -42}, viewJustify: 246 , debug: "firstPlace", _proto: @218 }; // View firstPlace is declared to winBox secondPlace := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: -5, top: 25, bottom: -50, right: -42}, viewJustify: 246, debug: "secondPlace", _proto: @218 }; // View secondPlace is declared to winBox thirdPlace := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: -5, top: 45, bottom: -30, right: -42}, viewJustify: 246, debug: "thirdPlace", _proto: @218 }; // View thirdPlace is declared to winBox fourthPlace := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: -5, top: 65, bottom: -10, right: -42}, viewJustify: 246, debug: "fourthPlace", _proto: @218 }; // View fourthPlace is declared to winBox firstScore := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: 132, top: 5, bottom: -70, right: 4}, viewJustify: 244, debug: "firstScore", _proto: @218 }; // View firstScore is declared to winBox secondScore := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: 132, top: 25, bottom: -50, right: 4}, viewJustify: 244 , debug: "secondScore", _proto: @218 }; // View secondScore is declared to winBox thirdScore := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: 132, top: 45, bottom: -30, right: 4}, viewJustify: 244 , debug: "thirdScore", _proto: @218 }; // View thirdScore is declared to winBox fourthScore := /* child of winBox */ { text: "Created by\nMichael Burks\ndumbstart@satx.rr.com\noriginalGreenTablet \n@ Yahoo groups\nJuly 2003" , viewBounds: {left: 132, top: 65, bottom: -10, right: 4}, viewJustify: 244 , debug: "fourthScore", _proto: @218 }; // View fourthScore is declared to winBox constant |layout_winBox.lyt| := winBox; // End of file winBox.lyt // Beginning of file newWinBox.lyt newWinBox := {viewBounds: {left: 1, top: 80, right: 174, bottom: 174}, ViewSetupFormScript: // be sure to call inherited:?ViewSetupFormScript() func() begin Print("Inside ViewSetupFormScript of newWinBox"); inherited:?ViewSetupFormScript(); newValue:=NumberStr(scorePoints); SetValue(theScore,'text,newValue); end, ViewQuitScript: // must return the value of inherited:?ViewQuitScript() func() begin Print("Inside View Quit Script"); inherited:?ViewQuitScript(); if scorePoints > hiscores.player1.score then begin hiscores.player4.name:=hiscores.player3.name; hiscores.player4.score:=hiscores.player3.score; hiscores.player3.name:=hiscores.player2.name; hiscores.player3.score:=hiscores.player2.score; hiscores.player2.name:=hiscores.player1.name; hiscores.player2.score:=hiscores.player1.score; hiscores.player1.name:=newWinner.entryLine.text; hiscores.player1.score:=scorePoints; scorePoints:=0; end; if scorePoints > hiscores.player2.score then begin hiscores.player4.name:=hiscores.player3.name; hiscores.player4.score:=hiscores.player3.score; hiscores.player3.name:=hiscores.player2.name; hiscores.player3.score:=hiscores.player2.score; hiscores.player2.name:=newWinner.entryLine.text; hiscores.player2.score:=scorePoints; scorePoints:=0; end; if scorePoints > hiscores.player3.score then begin hiscores.player4.name:=hiscores.player3.name; hiscores.player4.score:=hiscores.player3.score; hiscores.player3.name:=newWinner.entryLine.text; hiscores.player3.score:=scorePoints; scorePoints:=0; end; if scorePoints > hiscores.player4.score then begin hiscores.player4.name:=newWinner.entryLine.text; hiscores.player4.score:=scorePoints; scorePoints:=0; end; theSoup := GetUnionSoup("Hopper:" & kAppSymbol); highScoreCursor := theSoup:Query(nil); scoreEntry:=highScoreCursor:Entry(); //Set soup to player 1 Print("Setting first place to soup"); scoreEntry.player1.name:=hiscores.player1.name; scoreEntry.player1.score:=hiscores.player1.score; //Set soup to player 2 scoreEntry.player2.name:=hiscores.player2.name; scoreEntry.player2.score:=hiscores.player2.score; //Set soup to player 3 scoreEntry.player3.name:=hiscores.player3.name; scoreEntry.player3.score:=hiscores.player3.score; //Set soup to player 4 scoreEntry.player4.name:=hiscores.player4.name; scoreEntry.player4.score:=hiscores.player4.score; //Set soup to player 5 scoreEntry.player5.name:=hiscores.player5.name; scoreEntry.player5.score:=hiscores.player5.score; winBox:Open(); entryChangeXmit(scoreEntry,kAppSymbol); end, debug: "newWinBox", _proto: @180 }; newWinner := /* child of newWinBox */ {viewBounds: {left: -2, top: 19, bottom: 49, right: 178}, alwaysCallPickActionScript: nil, label: "Your Name", textSetup: func() begin text // return value becomes the initial value of the input field end, debug: "newWinner", _proto: @189 }; // View newWinner is declared to newWinBox _view001 := /* child of newWinBox */ {text: "Your Score:", viewBounds: {left: -2, top: 59, bottom: 79, right: 88}, viewJustify: 8388609, _proto: @218 }; theScore := /* child of newWinBox */ {text: "Static Text", viewBounds: {left: 98, top: 59, right: 178, bottom: 79}, debug: "theScore", _proto: @218 }; // View theScore is declared to newWinBox constant |layout_newWinBox.lyt| := newWinBox; // End of file newWinBox.lyt // Beginning of file picture.lyt picture := {viewBounds: {left: 2, top: 19, right: 230, bottom: 247}, viewFlags: 1, viewFormat: 0, debug: "picture", viewClass: 76 }; constant |layout_picture.lyt| := picture; // End of file picture.lyt // Beginning of file help.lyt _view002 := {viewBounds: {left: 0, top: 42, bottom: 217, right: 199}, _proto: @180}; _view003 := /* child of _view002 */ { text: "Hopper is a game of high scores where you move from one square to another in either 4 or 8 directions by the number of squares listed on the square you are currently occupying." , viewBounds: {left: 0, top: 6, bottom: 66, right: 201}, viewJustify: 7, viewFont: ROM_fontSystem9, _proto: @218 }; _view004 := /* child of _view002 */ {text: "3", viewBounds: {left: 12, top: 71, bottom: 101, right: 42}, viewFormat: 336, viewJustify: 8388614, viewFont: ROM_fontSystem14Bold, _proto: @218 }; _view005 := /* child of _view002 */ { text: "If your current square was a three, you would then move to a square that is exactly three squares away. In the example to the left you could move from the 3 square to squares 3 spaces away (i.e. the 3 square)." , viewBounds: {left: 54, top: 68, bottom: 161, right: 200}, viewJustify: 7, viewFont: ROM_fontSystem9, _proto: @218 }; _view006 := /* child of _view002 */ {text: "1", viewBounds: {left: 20, top: 104, bottom: 120, right: 36}, viewFormat: 340, viewJustify: 8388614, viewFont: ROM_fontSystem14Bold, _proto: @218 }; _view007 := /* child of _view002 */ {text: "2", viewBounds: {left: 20, top: 123, bottom: 139, right: 36}, viewFormat: 340, viewJustify: 8388614, viewFont: ROM_fontSystem14Bold, _proto: @218 }; _view008 := /* child of _view002 */ {text: "3", viewBounds: {left: 18, top: 143, bottom: 163, right: 38}, viewFormat: 336, viewJustify: 8388614, viewFont: ROM_fontSystem14Bold, _proto: @218 }; constant |layout_help.lyt| := _view002; // End of file help.lyt // Beginning of file Hopper.lyt main := {allBoxes: nil, icon3: BuildPictureViewSlot({ imageFile4: "back3.bmp", maskOption: 0}), allowDiagonal: nil, viewFormat: 33620305, gameScore: "0", theSoup: nil, ViewQuitScript: // must return the value of inherited:?ViewQuitScript() func() begin allBoxes:=nil; score.text:=nil; clickedBox:=nil; score.text:=nil; inherited:?ViewQuitScript(); end, closedBox: nil, levelTotal: nil, theScores: nil, viewFlags: 1, highScoreCursor: nil, scoreCursor: nil, viewBounds: {left: 10, top: 15, bottom: 287, right: 242}, scoring: func(points) begin scorePoints:=scorePoints+points; newValue:=NumberStr(scorePoints); SetValue(score,'text,newValue); end, icon2: BuildPictureViewSlot({ imageFile4: "back2.bmp", maskOption: 0}), scorePoints: 0, declareSelf: 'base, ViewSetupFormScript: // be sure to call inherited:?ViewSetupFormScript() func() begin if allowDiagonal then infoButtons.infoItems:=['"Allow 8 Directions",'"High Scores"]; else infoButtons.infoItems:=['"Allow 4 Directions",'"High Scores"]; hiscores:={}; inherited:?ViewSetupFormScript(); clickedBox:=box44; boxToMove:=[]; score.text:=gameScore; allBoxes:=[box11,box12,box13,box14,box15,box16,box17,box21,box22,box23,box24,box25,box26,box27,box31,box32,box33,box34,box35,box36,box37, box41,box42,box43,box44,box45,box46,box47,box51,box52,box53,box54,box55,box56,box57,box61,box62,box63,box64,box65,box66,box67, box71,box72,box73,box74,box75,box76,box77]; internal:=GetStores()[0]; if not internal:HasSoup("Hopper:" & kAppSymbol) then begin theScores:= internal:CreateSoupXMit("Hopper:" & kAppSymbol, [ {structure: 'slot, path: 'date, type: 'symbol}, {structure: 'slot, path: 'score, type: 'int}, {structure: 'slot, path: 'time, type: 'int}, {structure: 'slot, path: 'rank, type: 'int}, {structure: 'slot, path: 'name, type: 'string}], kAppSymbol); theScores:AddXmit({game:'Hopper, player1:{name:"Jack Burks",score:4}, player2:{name:"Thanks for playing!",score:3}, player3:{name:"www.dumbstart.com",score:2}, player4:{name:nil,score:1}}, 'kAppSymbol); end; theSoup := GetUnionSoup("Hopper:" & kAppSymbol); highScoreCursor := theSoup:Query(nil); scoreEntry:=highScoreCursor:Entry(); hiscores.player1.name:=scoreEntry.player1.name; hiscores.player1.score:=scoreEntry.player1.score; hiscores.player2.name:=scoreEntry.player2.name; hiscores.player2.score:=scoreEntry.player2.score; hiscores.player3.name:=scoreEntry.player3.name; hiscores.player3.score:=scoreEntry.player3.score; hiscores.player4.name:=scoreEntry.player4.name; hiscores.player4.score:=scoreEntry.player4.score; hiscores.player5.name:=scoreEntry.player5.name; hiscores.player5.score:=scoreEntry.player5.score; end, hiscores: , change: func(boxing) begin //Add to closedBox Array AddArraySlot(closedBox,clickedBox); //Change old box to blank text with white background with zero value :scoring(clickedBox.value); clickedBox:Close(); clickedBox.value:=0; //Change new box to ltGray background and set clickedBox to new box SetValue(boxing,'viewFormat,vfFillLtGray); clickedBox:=boxing; end, viewClass: 74, icon1: BuildPictureViewSlot({ imageFile4: "back1.bmp", maskOption: 0}), debug: "main", viewFont: ROM_fontSystem14Bold, emptyCheck: func() begin local totalBox:=0; foreach box in boxToMove do begin totalBox:=totalBox + 1; if SetContains(closedBox,box) then totalBox:=totalBox - 1; end; if totalBox = 0 then begin if scorePoints > hiscores.player4.score then begin newWinBox:Open(); end else begin winBox:Open(); end; end; end;, clickedBox: nil, boxToMove: nil }; picture := /* child of main */ LinkedSubview(picture, {viewBounds: {left: 191, top: -3, bottom: 17, right: 211}, debug: "picture"}) // View picture is declared to main reset := /* child of main */ { buttonClickScript: func() begin //reset Score keeping to zero closedBox:=[]; scorePoints:=0; SetValue(score,'text,"0"); //Randomly select randomBackground:=Random(1,3); if randomBackground = 1 then SetValue(picture,'icon,icon1); if randomBackground = 2 then SetValue(picture,'icon,icon2); if randomBackground = 3 then SetValue(picture,'icon,icon3); //change text and value of each box foreach singleBox in allBoxes do begin singleBox:Open(); SetValue(singleBox,'viewFormat,vfFillWhite); singleBox.value:=Random(1,3); local textValue:=NumberStr(singleBox.value); SetValue(singleBox,'text,textValue); end; //Setup beginning boxToMove SetValue(box44,'viewFormat,vfFillLtGray); clickedBox:=box44; if box44.value=1 then boxToMove:=[box43,box45,box34,box54]; if box44.value=2 then boxToMove:=[box42,box46,box24,box64]; if box44.value=3 then boxToMove:=[box41,box47,box14,box74]; end, text: "Start A Game", viewBounds: {left: 21, top: 254, bottom: 267, right: 119}, viewFormat: 67109457, viewFont: editFont10, viewJustify: 8388614, debug: "reset", _proto: @226 }; box71 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box71) then begin //Change the value of box to blank and setup next clickable boxes :change(box71); //Setup boxes according to value of box if box71.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box61,box72,box62]; else boxToMove:=[box61,box72]; end; //Setup boxes according to value of box if box71.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box51,box73,box53]; else boxToMove:=[box51,box73]; end; //Setup boxes according to value of box if box71.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box41,box74,box44]; else boxToMove:=[box41,box74]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 217, right: 230, bottom: 247}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box71", _proto: @226 }; // View box71 is declared to main box61 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box61) then begin //Change the value of box to blank and setup next clickable boxes :change(box61); //Setup boxes according to value of box if box61.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box51,box62,box52,box72]; else boxToMove:=[box71,box51,box62]; end; //Setup boxes according to value of box if box61.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box63,box41,box43]; else boxToMove:=[box63,box41]; end; //Setup boxes according to value of box if box61.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box64,box31,box34]; else boxToMove:=[box64,box31]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 167, top: 217, right: 197, bottom: 247}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box61", _proto: @226 }; // View box61 is declared to main box51 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box51) then begin //Change the value of box to blank and setup next clickable boxes :change(box51); //Setup boxes according to value of box if box51.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box61,box41,box52,box62,box42]; else boxToMove:=[box61,box41,box52]; end; //Setup boxes according to value of box if box51.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box31,box53,box73,box33]; else boxToMove:=[box71,box31,box53]; end; //Setup boxes according to value of box if box51.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box54,box21,box24]; else boxToMove:=[box54,box21]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 134, top: 217, right: 164, bottom: 247}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box51", _proto: @226 }; // View box51 is declared to main box41 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box41) then begin //Change the value of box to blank and setup next clickable boxes :change(box41); //Setup boxes according to value of box if box41.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box31,box32,box42,box52,box51]; else boxToMove:=[box31,box51,box42]; end; //Setup boxes according to value of box if box41.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box21,box23,box43,box63,box61]; else boxToMove:=[box21,box61,box43]; end; //Setup boxes according to value of box if box41.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box11,box14,box44,box74,box71]; else boxToMove:=[box11,box71,box44]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 101, top: 217, right: 131, bottom: 247}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box41", _proto: @226 }; // View box41 is declared to main box31 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box31) then begin //Change the value of box to blank and setup next clickable boxes :change(box31); //Setup boxes according to value of box if box31.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box21,box22,box32,box42,box41]; else boxToMove:=[box21,box41,box32]; end; //Setup boxes according to value of box if box31.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box11,box13,box33,box53,box51]; else boxToMove:=[box11,box51,box33]; end; //Setup boxes according to value of box if box31.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box61,box64,box34]; else boxToMove:=[box61,box34]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 68, top: 217, right: 98, bottom: 247} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box31" , _proto: @226 }; // View box31 is declared to main box21 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box21) then begin //Change the value of box to blank and setup next clickable boxes :change(box21); //Setup boxes according to value of box if box21.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box11,box12,box22,box32,box31]; else boxToMove:=[box11,box31,box22]; end; //Setup boxes according to value of box if box21.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box41,box43,box23]; else boxToMove:=[box41,box23]; end; //Setup boxes according to value of box if box21.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box51,box54,box24]; else boxToMove:=[box51,box24]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 35, top: 217, right: 65, bottom: 247} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box21" , _proto: @226 }; // View box21 is declared to main box11 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box11) then begin //Change the value of box to blank and setup next clickable boxes :change(box11); //Setup boxes according to value of box if box11.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box12,box22,box21]; else boxToMove:=[box12,box21]; end; //Setup boxes according to value of box if box11.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box13,box33,box31]; else boxToMove:=[box13,box31]; end; //Setup boxes according to value of box if box11.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box14,box44,box41]; else boxToMove:=[box14,box41]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 217, right: 32, bottom: 247}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box11", _proto: @226 }; // View box11 is declared to main box72 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box72) then begin //Change the value of box to blank and setup next clickable boxes :change(box72); //Setup boxes according to value of box if box72.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box61,box63,box73,box62]; else boxToMove:=[box71,box73,box62]; end; //Setup boxes according to value of box if box72.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box74,box54,box52]; else boxToMove:=[box74,box52]; end; //Setup boxes according to value of box if box72.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box75,box45,box42]; else boxToMove:=[box75,box42]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 184, right: 230, bottom: 214}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box72", _proto: @226 }; // View box72 is declared to main box62 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box62) then begin //Change the value of box to blank and setup next clickable boxes :change(box62); //Setup boxes according to value of box if box62.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box72,box71,box61,box51,box52,box53,box63,box73]; else boxToMove:=[box72,box52,box63,box61]; end; //Setup boxes according to value of box if box62.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box42,box44,box64]; else boxToMove:=[box42,box64]; end; //Setup boxes according to value of box if box62.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box32,box35,box65]; else boxToMove:=[box32,box65]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 167, top: 184, right: 197, bottom: 214}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 2, debug: "box62", _proto: @226 }; // View box62 is declared to main box52 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box52) then begin //Change the value of box to blank and setup next clickable boxes :change(box52); //Setup boxes according to value of box if box52.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box42,box41,box51,box61,box62,box63,box53,box43]; else boxToMove:=[box53,box51,box42,box62]; end; //Setup boxes according to value of box if box52.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box54,box32,box34,box74,box72]; else boxToMove:=[box54,box32,box72]; end; //Setup boxes according to value of box if box52.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box55,box22,box25]; else boxToMove:=[box55,box22]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 134, top: 184, right: 164, bottom: 214}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 2, debug: "box52", _proto: @226 }; // View box52 is declared to main box42 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box42) then begin //Change the value of box to blank and setup next clickable boxes :change(box42); //Setup boxes according to value of box if box42.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box41,box43,box52,box32,box31,box33,box53,box51]; else boxToMove:=[box41,box43,box52,box32]; end; //Setup boxes according to value of box if box42.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box44,box64,box24,box62,box22]; else boxToMove:=[box44,box62,box22]; end; //Setup boxes according to value of box if box42.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box45,box72,box12,box15,75]; else boxToMove:=[box45,box72,box12]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 101, top: 184, right: 131, bottom: 214}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 2, debug: "box42", _proto: @226 }; // View box42 is declared to main box32 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box32) then begin //Change the value of box to blank and setup next clickable boxes :change(box32); //Setup boxes according to value of box if box32.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box31,box33,box22,box42,box21,box23,box43,box41]; else boxToMove:=[box31,box33,box22,box42]; end; //Setup boxes according to value of box if box32.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box34,box12,box52,box14,box54]; else boxToMove:=[box34,box12,box52]; end; //Setup boxes according to value of box if box32.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box35,box62,box65]; else boxToMove:=[box35,box62]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 68, top: 184, right: 98, bottom: 214} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box32" , _proto: @226 }; // View box32 is declared to main box22 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box22) then begin //Change the value of box to blank and setup next clickable boxes :change(box22); //Setup boxes according to value of box if box22.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box21,box23,box12,box32,box11,box13,box33,box31]; else boxToMove:=[box21,box23,box12,box32]; end; //Setup boxes according to value of box if box22.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box24,box42,box44]; else boxToMove:=[box24,box42]; end; //Setup boxes according to value of box if box22.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box25,box52,box55]; else boxToMove:=[box25,box52]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 35, top: 184, right: 65, bottom: 214} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box22" , _proto: @226 }; // View box22 is declared to main box12 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box12) then begin //Change the value of box to blank and setup next clickable boxes :change(box12); //Setup boxes according to value of box if box12.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box11,box13,box22,box23,box21]; else boxToMove:=[box11,box13,box22]; end; //Setup boxes according to value of box if box12.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box14,box32,box34]; else boxToMove:=[box14,box32]; end; //Setup boxes according to value of box if box12.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box15,box42,box45]; else boxToMove:=[box15,box42]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 184, right: 32, bottom: 214}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box12", _proto: @226 }; // View box12 is declared to main box73 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box73) then begin //Change the value of box to blank and setup next clickable boxes :change(box73); //Setup boxes according to value of box if box73.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box72,box74,box63,box62,box64]; else boxToMove:=[box72,box74,box63]; end; //Setup boxes according to value of box if box73.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box75,box53,box55,box51]; else boxToMove:=[box71,box75,box53]; end; //Setup boxes according to value of box if box73.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box76,box43,box46]; else boxToMove:=[box76,box43]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 151, right: 230, bottom: 181}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box73", _proto: @226 }; // View box73 is declared to main box63 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box63) then begin //Change the value of box to blank and setup next clickable boxes :change(box63); //Setup boxes according to value of box if box63.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box62,box64,box53,box73,box52,box54,box74,box72]; else boxToMove:=[box62,box64,box53,box73]; end; //Setup boxes according to value of box if box63.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box61,box65,box43,box41,box45]; else boxToMove:=[box61,box65,box43]; end; //Setup boxes according to value of box if box63.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box66,box33,box36]; else boxToMove:=[box66,box33]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 167, top: 151, right: 197, bottom: 181}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 2, debug: "box63", _proto: @226 }; // View box63 is declared to main box53 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box53) then begin //Change the value of box to blank and setup next clickable boxes :change(box53); //Setup boxes according to value of box if box53.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box52,box54,box43,box63,box42,box44,box64,box62]; else boxToMove:=[box52,box54,box43,box63]; end; //Setup boxes according to value of box if box53.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box51,box55,box33,box73,box31,box35,box75,box71]; else boxToMove:=[box51,box55,box33,box73]; end; //Setup boxes according to value of box if box53.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box56,box23,box26]; else boxToMove:=[box56,box23]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 134, top: 151, right: 164, bottom: 181}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 1, debug: "box53", _proto: @226 }; // View box53 is declared to main box43 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box43) then begin //Change the value of box to blank and setup next clickable boxes :change(box43); //Setup boxes according to value of box if box43.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box42,box44,box33,box53,box52,box54,box32,box34]; else boxToMove:=[box42,box44,box33,box53]; end; //Setup boxes according to value of box if box43.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box41,box45,box63,box23,box61,box65,box21,box25]; else boxToMove:=[box41,box45,box63,box23]; end; //Setup boxes according to value of box if box43.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box73,box76,box46,box16,box13]; else boxToMove:=[box73,box13,box46]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 101, top: 151, right: 131, bottom: 181}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 1, debug: "box43", _proto: @226 }; // View box43 is declared to main box33 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box33) then begin //Change the value of box to blank and setup next clickable boxes :change(box33); //Setup boxes according to value of box if box33.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box32,box34,box43,box23,box42,box44,box22,box24]; else boxToMove:=[box32,box34,box43,box23]; end; //Setup boxes according to value of box if box33.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box31,box35,box13,box53,box51,box55,box11,box15]; else boxToMove:=[box31,box35,box13,box53]; end; //Setup boxes according to value of box if box33.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box63,box36,box66]; else boxToMove:=[box63,box36]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 68, top: 151, right: 98, bottom: 181} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box33" , _proto: @226 }; // View box33 is declared to main box23 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box23) then begin //Change the value of box to blank and setup next clickable boxes :change(box23); //Setup boxes according to value of box if box23.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box13,box24,box33,box22,box12,box32,box14,box34]; else boxToMove:=[box13,box24,box33,box22]; end; //Setup boxes according to value of box if box23.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box21,box25,box43,box45,box41]; else boxToMove:=[box21,box25,box43]; end; //Setup boxes according to value of box if box23.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box26,box53,box56]; else boxToMove:=[box26,box53]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 35, top: 151, right: 65, bottom: 181} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box23" , _proto: @226 }; // View box23 is declared to main box13 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box13) then begin //Change the value of box to blank and setup next clickable boxes :change(box13); //Setup boxes according to value of box if box13.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box12,box14,box23,box22,box24]; else boxToMove:=[box12,box14,box23]; end; //Setup boxes according to value of box if box13.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box11,box15,box33,box35,box31]; else boxToMove:=[box11,box15,box33]; end; //Setup boxes according to value of box if box13.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box16,box43,box46]; else boxToMove:=[box16,box43]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 151, right: 32, bottom: 181}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box13", _proto: @226 }; // View box13 is declared to main box74 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box74) then begin //Change the value of box to blank and setup next clickable boxes :change(box74); //Setup boxes according to value of box if box74.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box73,box75,box64,box63,box65]; else boxToMove:=[box73,box75,box64]; end; //Setup boxes according to value of box if box74.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box72,box76,box56,box54,box52]; else boxToMove:=[box72,box76,box54]; end; //Setup boxes according to value of box if box74.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box77,box41,box47,box43]; else boxToMove:=[box71,box77]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 118, right: 230, bottom: 148}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 3, debug: "box74", _proto: @226 }; // View box74 is declared to main box64 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box64) then begin //Change the value of box to blank and setup next clickable boxes :change(box64); //Setup boxes according to value of box if box64.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box63,box65,box54,box53,box55,box74,box75,box73]; else boxToMove:=[box63,box65,box54,box74]; end; //Setup boxes according to value of box if box64.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box62,box66,box46,box44,box42]; else boxToMove:=[box62,box66,box44]; end; //Setup boxes according to value of box if box64.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box61,box67,box31,box37,box34]; else boxToMove:=[box61,box67,box34]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 167, top: 118, right: 197, bottom: 148}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 2, debug: "box64", _proto: @226 }; // View box64 is declared to main box54 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box54) then begin //Change the value of box to blank and setup next clickable boxes :change(box54); //Setup boxes according to value of box if box54.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box53,box55,box44,box64,box45,box65,box43,box63]; else boxToMove:=[box53,box55,box44,box64]; end; //Setup boxes according to value of box if box54.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box52,box56,box34,box74,box36,box76,box32,box72]; else boxToMove:=[box52,box56,box34,box74]; end; //Setup boxes according to value of box if box54.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box51,box57,box24,box27,box21]; else boxToMove:=[box51,box57,box24]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 134, top: 118, right: 164, bottom: 148}, viewFormat: 513 , viewFont: ROM_fontSystem14Bold, value: 1, debug: "box54", _proto: @226 }; // View box54 is declared to main box44 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box44) then begin //Change the value of box to blank and setup next clickable boxes :change(box44); //Setup boxes according to value of box if box44.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box53,box54,box55,box43,box45,box33,box34,box35]; else boxToMove:=[box54,box34,box43,box45]; end; //Setup boxes according to value of box if box44.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box62,box64,box66,box42,box46,box22,box24,box26]; else boxToMove:=[box64,box42,box24,box46]; end; //Setup boxes according to value of box if box44.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box71,box74,box77,box41,box47,box11,box14,box17]; else boxToMove:=[box74,box41,box47,box14]; end; :emptyCheck(); end; end;, text: nil, viewBounds: {left: 101, top: 118, right: 131, bottom: 148}, viewFormat: 513 , value: 3, viewFont: ROM_fontSystem14Bold, debug: "box44", _proto: @226 }; // View box44 is declared to main box34 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box34) then begin //Change the value of box to blank and setup next clickable boxes :change(box34); //Setup boxes according to value of box if box34.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box44,box33,box24,box35,box25,box45,box23,box43]; else boxToMove:=[box44,box33,box24,box35]; end; //Setup boxes according to value of box if box34.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box54,box32,box36,box14,box16,box56,box52,box12]; else boxToMove:=[box54,box32,box36,box14]; end; //Setup boxes according to value of box if box34.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box64,box61,box67,box37,box31]; else boxToMove:=[box64,box31,box37]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 68, top: 118, right: 98, bottom: 148} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box34" , _proto: @226 }; // View box34 is declared to main box24 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box24) then begin //Change the value of box to blank and setup next clickable boxes :change(box24); //Setup boxes according to value of box if box24.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box14,box25,box34,box23,box13,box15,box35,box33]; else boxToMove:=[box14,box25,box34,box23]; end; //Setup boxes according to value of box if box24.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box22,box44,box26,box42,box46]; else boxToMove:=[box22,box44,box26]; end; //Setup boxes according to value of box if box24.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box27,box54,box21,box57,box51]; else boxToMove:=[box27,box54,box21]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 35, top: 118, right: 65, bottom: 148} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box24" , _proto: @226 }; // View box24 is declared to main box14 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box14) then begin //Change the value of box to blank and setup next clickable boxes :change(box14); //Setup boxes according to value of box if box14.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box13,box23,box24,box25,box15]; else boxToMove:=[box13,box15,box24]; end; //Setup boxes according to value of box if box14.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box12,box32,box34,box36,box16]; else boxToMove:=[box12,box34,box16]; end; //Setup boxes according to value of box if box14.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box17,box11,box41,box47,box44]; else boxToMove:=[box11,box17,box44]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 118, right: 32, bottom: 148}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box14", _proto: @226 }; // View box14 is declared to main box75 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box75) then begin //Change the value of box to blank and setup next clickable boxes :change(box75); //Setup boxes according to value of box if box75.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box74,box76,box64,box65,box66]; else boxToMove:=[box74,box76,box65]; end; //Setup boxes according to value of box if box75.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box73,box77,box53,box55,box57]; else boxToMove:=[box73,box77,box55]; end; //Setup boxes according to value of box if box75.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box72,box42,box45]; else boxToMove:=[box45,box72]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 85, right: 230, bottom: 115}, viewFont: ROM_fontSystem14Bold, value: 3, viewFormat: 513, debug: "box75", _proto: @226 }; // View box75 is declared to main box65 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box65) then begin //Change the value of box to blank and setup next clickable boxes :change(box65); //Setup boxes according to value of box if box65.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box64,box66,box54,box55,box56,box74,box75,box76]; else boxToMove:=[box64,box75,box66,box55]; end; //Setup boxes according to value of box if box65.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box63,box45,box43,box47,box67]; else boxToMove:=[box63,box45,box67]; end; //Setup boxes according to value of box if box65.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box35,box32,box62]; else boxToMove:=[box35,box62]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 167, top: 85, right: 197, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box65", _proto: @226 }; // View box65 is declared to main box55 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box55) then begin //Change the value of box to blank and setup next clickable boxes :change(box55); //Setup boxes according to value of box if box55.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box54,box46,box44,box66,box64,box56,box45,box65]; else boxToMove:=[box54,box56,box45,box65]; end; //Setup boxes according to value of box if box55.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box53,box37,box33,box73,box77,box57,box35,box75]; else boxToMove:=[box53,box57,box35,box75]; end; //Setup boxes according to value of box if box55.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box52,box25,box22]; else boxToMove:=[box52,box25]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 134, top: 85, right: 164, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box55", _proto: @226 }; // View box55 is declared to main box45 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box45) then begin //Change the value of box to blank and setup next clickable boxes :change(box45); //Setup boxes according to value of box if box45.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box55,box46,box44,box35,box54,box56,box34,box36]; else boxToMove:=[box55,box46,box44,box35]; end; //Setup boxes according to value of box if box45.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box65,box25,box43,box47,box63,box67,box23,box27]; else boxToMove:=[box65,box25,box43,box47]; end; //Setup boxes according to value of box if box45.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box75,box42,box15,box72,box12]; else boxToMove:=[box75,box42,box15]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 101, top: 85, right: 131, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box45", _proto: @226 }; // View box45 is declared to main box35 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box35) then begin //Change the value of box to blank and setup next clickable boxes :change(box35); //Setup boxes according to value of box if box35.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box25,box36,box34,box45,box44,box46,box24,box26]; else boxToMove:=[box25,box36,box34,box45]; end; //Setup boxes according to value of box if box35.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box33,box55,box37,box15,box53,box57,box13,box17]; else boxToMove:=[box33,box55,box37,box15]; end; //Setup boxes according to value of box if box35.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box32,box65,box62]; else boxToMove:=[box32,box65]; end; :emptyCheck(); end; end;, text: "1", viewBounds: {left: 68, top: 85, right: 98, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box35", _proto: @226 }; // View box35 is declared to main box25 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box25) then begin //Change the value of box to blank and setup next clickable boxes :change(box25); //Setup boxes according to value of box if box25.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box15,box26,box35,box24,box14,box16,box36,box34]; else boxToMove:=[box15,box26,box35,box24]; end; //Setup boxes according to value of box if box25.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box23,box27,box45,box43,box47]; else boxToMove:=[box23,box45,box27]; end; //Setup boxes according to value of box if box25.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box55,box22,box52]; else boxToMove:=[box55,box22]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 35, top: 85, right: 65, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box25", _proto: @226 }; // View box25 is declared to main box15 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box15) then begin //Change the value of box to blank and setup next clickable boxes :change(box15); //Setup boxes according to value of box if box15.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box16,box26,box25,box24,box14]; else boxToMove:=[box14,box25,box16]; end; //Setup boxes according to value of box if box15.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box13,box37,box33,box35,box17]; else boxToMove:=[box13,box17,box35]; end; //Setup boxes according to value of box if box15.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box42,box45,box12]; else boxToMove:=[box45,box12]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 85, right: 32, bottom: 115}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box15", _proto: @226 }; // View box15 is declared to main box76 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box76) then begin //Change the value of box to blank and setup next clickable boxes :change(box76); //Setup boxes according to value of box if box76.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box75,box66,box77,box65,box67]; else boxToMove:=[box75,box66,box77]; end; //Setup boxes according to value of box if box76.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box74,box56,box54]; else boxToMove:=[box74,box56]; end; //Setup boxes according to value of box if box76.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box73,box46,box43]; else boxToMove:=[box73,box46]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 52, right: 230, bottom: 82} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box76" , _proto: @226 }; // View box76 is declared to main box66 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box66) then begin //Change the value of box to blank and setup next clickable boxes :change(box66); //Setup boxes according to value of box if box66.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box65,box56,box67,box76,box55,box57,box75,box77]; else boxToMove:=[box65,box56,box67,box76]; end; //Setup boxes according to value of box if box66.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box64,box46,box44]; else boxToMove:=[box64,box46]; end; //Setup boxes according to value of box if box66.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box63,box36,box33]; else boxToMove:=[box63,box36]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 167, top: 52, right: 197, bottom: 82} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box66" , _proto: @226 }; // View box66 is declared to main box56 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box56) then begin //Change the value of box to blank and setup next clickable boxes :change(box56); //Setup boxes according to value of box if box56.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box55,box46,box57,box66,box65,box67,box45,box47]; else boxToMove:=[box55,box46,box57,box66]; end; //Setup boxes according to value of box if box56.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box54,box76,box36,box74,box34]; else boxToMove:=[box54,box76,box36]; end; //Setup boxes according to value of box if box56.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box26,box53,box23]; else boxToMove:=[box26,box53]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 134, top: 52, right: 164, bottom: 82} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box56" , _proto: @226 }; // View box56 is declared to main box46 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box46) then begin //Change the value of box to blank and setup next clickable boxes :change(box46); //Setup boxes according to value of box if box46.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box56,box45,box47,box36,box55,box57,box35,box37]; else boxToMove:=[box56,box45,box47,box36]; end; //Setup boxes according to value of box if box46.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box66,box26,box44,box64,box24]; else boxToMove:=[box66,box26,box44]; end; //Setup boxes according to value of box if box46.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box76,box43,box16,box73,box13]; else boxToMove:=[box76,box43,box16]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 101, top: 52, right: 131, bottom: 82} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box46" , _proto: @226 }; // View box46 is declared to main box36 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box36) then begin //Change the value of box to blank and setup next clickable boxes :change(box36); //Setup boxes according to value of box if box36.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box37,box35,box26,box46,box45,box47,box25,box27]; else boxToMove:=[box37,box35,box26,box46]; end; //Setup boxes according to value of box if box36.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box34,box16,box56,box54,box14]; else boxToMove:=[box34,box16,box56]; end; //Setup boxes according to value of box if box36.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box66,box33,box63]; else boxToMove:=[box66,box33]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 68, top: 52, right: 98, bottom: 82}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box36", _proto: @226 }; // View box36 is declared to main box26 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box26) then begin //Change the value of box to blank and setup next clickable boxes :change(box26); //Setup boxes according to value of box if box26.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box16,box27,box36,box25,box15,box17,box37,box35]; else boxToMove:=[box16,box27,box36,box25]; end; //Setup boxes according to value of box if box26.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box24,box46,box44]; else boxToMove:=[box24,box46]; end; //Setup boxes according to value of box if box26.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box56,box23,box53]; else boxToMove:=[box56,box23]; end; :emptyCheck(); end; end;, text: "2", viewBounds: {left: 35, top: 52, right: 65, bottom: 82}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 2, debug: "box26", _proto: @226 }; // View box26 is declared to main box16 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box16) then begin //Change the value of box to blank and setup next clickable boxes :change(box16); //Setup boxes according to value of box if box16.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box17,box27,box26,box25,box15]; else boxToMove:=[box17,box26,box15]; end; //Setup boxes according to value of box if box16.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box36,box34,box14]; else boxToMove:=[box36,box14]; end; //Setup boxes according to value of box if box16.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box46,box43,box13]; else boxToMove:=[box46,box13]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 52, right: 32, bottom: 82}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 1, debug: "box16", _proto: @226 }; // View box16 is declared to main box77 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box77) then begin //Change the value of box to blank and setup next clickable boxes :change(box77); //Setup boxes according to value of box if box77.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box67,box76,box66]; else boxToMove:=[box67,box76]; end; //Setup boxes according to value of box if box77.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box57,box75,box55]; else boxToMove:=[box57,box75]; end; //Setup boxes according to value of box if box77.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box47,box74,box44]; else boxToMove:=[box47,box74]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 200, top: 19, right: 230, bottom: 49} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box77" , _proto: @226 }; // View box77 is declared to main box67 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box67) then begin //Change the value of box to blank and setup next clickable boxes :change(box67); //Setup boxes according to value of box if box67.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box57,box77,box66,box56,box76]; else boxToMove:=[box57,box77,box66]; end; //Setup boxes according to value of box if box67.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box47,box65,box46]; else boxToMove:=[box47,box65]; end; //Setup boxes according to value of box if box67.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box37,box64,box34]; else boxToMove:=[box37,box64]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 167, top: 19, right: 197, bottom: 49} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box67" , _proto: @226 }; // View box67 is declared to main box57 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box57) then begin //Change the value of box to blank and setup next clickable boxes :change(box57); //Setup boxes according to value of box if box57.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box47,box67,box56,box46,box66]; else boxToMove:=[box47,box67,box56]; end; //Setup boxes according to value of box if box57.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box37,box77,box55,box35,box75]; else boxToMove:=[box37,box77,box55]; end; //Setup boxes according to value of box if box57.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box27,box54,box24]; else boxToMove:=[box27,box54]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 134, top: 19, right: 164, bottom: 49} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box57" , _proto: @226 }; // View box57 is declared to main box47 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box47) then begin //Change the value of box to blank and setup next clickable boxes :change(box47); //Setup boxes according to value of box if box47.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box37,box57,box46,box36,box56]; else boxToMove:=[box37,box57,box46]; end; //Setup boxes according to value of box if box47.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box27,box67,box45,box25,box65]; else boxToMove:=[box27,box67,box45]; end; //Setup boxes according to value of box if box47.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box17,box77,box44,box14,box74]; else boxToMove:=[box17,box77,box44]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 101, top: 19, right: 131, bottom: 49} , viewFormat: 513, viewFont: ROM_fontSystem14Bold, viewFlags: 515, value: 1 , debug: "box47", _proto: @226 }; // View box47 is declared to main box37 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box37) then begin //Change the value of box to blank and setup next clickable boxes :change(box37); //Setup boxes according to value of box if box37.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box27,box36,box47,box26,box46]; else boxToMove:=[box27,box36,box47]; end; //Setup boxes according to value of box if box37.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box17,box57,box35,box15,box55]; else boxToMove:=[box17,box57,box35]; end; //Setup boxes according to value of box if box37.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box34,box67,box64]; else boxToMove:=[box34,box67]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 68, top: 19, right: 98, bottom: 49}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, viewFlags: 515, value: 3, debug: "box37", _proto: @226 }; // View box37 is declared to main box27 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box27) then begin //Change the value of box to blank and setup next clickable boxes :change(box27); //Setup boxes according to value of box if box27.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box17,box26,box37,box16,box36]; else boxToMove:=[box17,box26,box37]; end; //Setup boxes according to value of box if box27.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box25,box47,box45]; else boxToMove:=[box25,box47]; end; //Setup boxes according to value of box if box27.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box57,box24,box54]; else boxToMove:=[box57,box24]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 35, top: 19, right: 65, bottom: 49}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box27", _proto: @226 }; // View box27 is declared to main box17 := /* child of main */ { buttonClickScript: func() begin //Check to see if box is allowed to move to if SetContains(boxToMove,box17) then begin //Change the value of box to blank and setup next clickable boxes :change(box17); //Setup boxes according to value of box if box17.value=1 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box16,box27,box26]; else boxToMove:=[box16,box27]; end; //Setup boxes according to value of box if box17.value=2 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box37,box35,box15]; else boxToMove:=[box37,box15]; end; //Setup boxes according to value of box if box17.value=3 then begin //Check to see if player is playing diagonally and set boxes accordingly if allowDiagonal then boxToMove:=[box47,box44,box14]; else boxToMove:=[box47,box14]; end; :emptyCheck(); end; end;, text: "3", viewBounds: {left: 2, top: 19, right: 32, bottom: 49}, viewFormat: 513, viewFont: ROM_fontSystem14Bold, value: 3, debug: "box17", _proto: @226 }; // View box17 is declared to main _view009 := /* child of main */ {viewBounds: {left: -18, top: -18, right: -5, bottom: -5}, _proto: @163}; infoButtons := /* child of main */ {viewFlags: 515, viewBounds: {left: -224, top: 0, bottom: 13, right: -211}, DoInfoAbout: func() begin aboutBox:Open(); end, DoInfoAux: func(auxArray, index) begin //Switch Between 4 or 8 directions if index = 0 then begin if allowDiagonal then begin allowDiagonal:=nil; local changeItems:=Clone(infoItems); changeItems:=['"Allow 4 Directions",'"High Scores"]; infoItems:=Clone(changeItems); end; else begin allowDiagonal:=1; local changeItems:=Clone(infoItems); changeItems:=['"Allow 8 Directions",'"High Scores"]; infoItems:=Clone(changeItems); end; end; //Show High Scores if index = 1 then winBox:Open(); end;, GenInfoAuxItems: func() begin infoItems; // return your custom items end, infoItems: nil, DoInfoHelp: func() begin helpBox:Open(); end, debug: "infoButtons", _proto: @478 }; // View infoButtons is declared to main _view010 := /* child of main */ {text: "Hopper", viewBounds: {left: 0, top: -1, bottom: 17, right: 80}, viewJustify: 8388626 , viewFont: editFont12, _proto: @218 }; aboutBox := /* child of main */ LinkedSubview(aboutBox, {viewBounds: {left: 172, top: -3, bottom: 17, right: 192}, debug: "aboutBox"}) // View aboutBox is declared to main _view011 := /* child of main */ {text: "Score:", viewBounds: {left: 124, top: 254, bottom: 267, right: 184}, viewFormat: 1, viewFont: editFont10, viewJustify: 8388609, _proto: @218 }; score := /* child of main */ {text: nil, viewBounds: {left: 185, top: 251, bottom: 271, right: 209}, viewFont: editFont10, viewJustify: 8388612, debug: "score", _proto: @218 }; // View score is declared to main winBox := /* child of main */ LinkedSubview(winBox, {viewBounds: {left: 210, top: -3, bottom: 17, right: 230}, debug: "winBox"}) // View winBox is declared to main newWinBox := /* child of main */ LinkedSubview(newWinBox, {viewBounds: {left: 8, top: -2, bottom: 18, right: 28}, debug: "newWinBox"}) // View newWinBox is declared to main helpBox := /* child of main */ LinkedSubview(_view002, {viewBounds: {left: 28, top: -2, bottom: 18, right: 48}, debug: "helpBox"}) // View helpBox is declared to main constant |layout_Hopper.lyt| := main; // End of file Hopper.lyt