home *** CD-ROM | disk | FTP | other *** search
Wrap
global gLeftTowerList, gCenterTowerList, gRightTowerList, gReleaseBall, gLevel, gDiscNum, gPosX, gPosY, gOriginX, gOriginY, gCheckList, gStackSide, gPlaced, gSingle, gMoves, gMoveFix, gPoints, gConstant on prepareMovie gLeftTowerList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] gCenterTowerList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] gRightTowerList = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] gLevel = 1 member("DiscsText").text = string(gLevel + 2) gDiscNum = 20 gPosX = 100 gPosY = 150 gLeftTowerList[1] = 18 gLeftTowerList[2] = 19 gCheckList = 1 gStackSide = 4 gPlaced = 0 gReleaseBall = 1 gSingle = 0 gConstant = 7 gMoves = 0 gMoveFix = 1 member("MovesText").text = string(gMoves) gPoints = 0 member("PointsText").text = string(integer(gPoints)) sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 sprite(20).visible = 1 sprite(19).visible = 1 sprite(18).visible = 1 sprite(17).visible = 0 sprite(16).visible = 0 sprite(15).visible = 0 sprite(14).visible = 0 sprite(13).visible = 0 sprite(12).visible = 0 sprite(11).visible = 0 stack() end on MovePiece if gReleaseBall = 0 then sprite(gDiscNum).loc = the mouseLoc gPosX = the mouseH gPosY = the mouseV end if end on checkwin if gLevel = 1 then if (gRightTowerList[1] = 18) and (gRightTowerList[2] = 19) and (gRightTowerList[3] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 puppetSound(5, "levelcomplete") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Level Points:" && string(gPoints) member("completeText2").text = "Level Points:" && string(gPoints) member("PointsText").text = string(gPoints) go(11) end if else if gLevel = 2 then if (gRightTowerList[1] = 17) and (gRightTowerList[2] = 18) and (gRightTowerList[3] = 19) and (gRightTowerList[4] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 puppetSound(5, "levelcomplete") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Level Points:" && string(gPoints) member("completeText2").text = "Level Points:" && string(gPoints) member("PointsText").text = string(gPoints) go(21) end if else if gLevel = 3 then if (gRightTowerList[1] = 16) and (gRightTowerList[2] = 17) and (gRightTowerList[3] = 18) and (gRightTowerList[4] = 19) and (gRightTowerList[5] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 puppetSound(5, "levelcomplete") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Level Points:" && string(gPoints) member("completeText2").text = "Level Points:" && string(gPoints) member("PointsText").text = string(gPoints) go(27) end if else if gLevel = 4 then if (gRightTowerList[1] = 15) and (gRightTowerList[2] = 16) and (gRightTowerList[3] = 17) and (gRightTowerList[4] = 18) and (gRightTowerList[5] = 19) and (gRightTowerList[6] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 puppetSound(5, "levelcomplete") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Level Points:" && string(gPoints) member("completeText2").text = "Level Points:" && string(gPoints) member("PointsText").text = string(gPoints) go(37) end if else if gLevel = 5 then if (gRightTowerList[1] = 14) and (gRightTowerList[2] = 15) and (gRightTowerList[3] = 16) and (gRightTowerList[4] = 17) and (gRightTowerList[5] = 18) and (gRightTowerList[6] = 19) and (gRightTowerList[7] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 sprite(27).visible = 1 sprite(28).visible = 1 puppetSound(5, "levelcomplete") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Level Points:" && string(gPoints) member("completeText2").text = "Level Points:" && string(gPoints) member("PointsText").text = string(gPoints) go(42) end if else if gLevel = 6 then if (gRightTowerList[1] = 13) and (gRightTowerList[2] = 14) and (gRightTowerList[3] = 15) and (gRightTowerList[4] = 16) and (gRightTowerList[5] = 17) and (gRightTowerList[6] = 18) and (gRightTowerList[7] = 19) and (gRightTowerList[8] = 20) then sprite(22).visible = 1 sprite(23).visible = 1 sprite(24).visible = 1 sprite(25).visible = 1 sprite(26).visible = 1 sprite(27).visible = 1 sprite(28).visible = 1 puppetSound(5, "win") if gLevel >= 2 then gConstant = (gConstant * 2) + 1 end if gPoints = gPoints + ((gConstant * 2 * 100) - (gMoves * 100)) if gPoints <= 0 then gPoints = 100 end if member("completeText1").text = "Total Points:" && string(gPoints) member("completeText2").text = "Total Points:" && string(gPoints) member("PointsText").text = string(gPoints) puppetSound(3, "youwin") go(47) end if end if end if end if end if end if end if end on stack if (gPosX >= 15) and (gPosX <= 185) and ((gPosY >= 110) and (gPosY <= 385)) then CheckLeftStackOrder() if gLeftTowerList[1] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[1] = 20 then sprite(20).loc = point(100, 352) end if if gLeftTowerList[1] = 19 then sprite(19).loc = point(100, 352) end if if gLeftTowerList[1] = 18 then sprite(18).loc = point(100, 352) end if if gLeftTowerList[1] = 17 then sprite(17).loc = point(100, 352) end if if gLeftTowerList[1] = 16 then sprite(16).loc = point(100, 352) end if if gLeftTowerList[1] = 15 then sprite(15).loc = point(100, 352) end if if gLeftTowerList[1] = 14 then sprite(14).loc = point(100, 352) end if end if if gLeftTowerList[2] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[2] = 20 then sprite(20).loc = point(100, 334) end if if gLeftTowerList[2] = 19 then sprite(19).loc = point(100, 334) end if if gLeftTowerList[2] = 18 then sprite(18).loc = point(100, 334) end if if gLeftTowerList[2] = 17 then sprite(17).loc = point(100, 334) end if if gLeftTowerList[2] = 16 then sprite(16).loc = point(100, 334) end if if gLeftTowerList[2] = 15 then sprite(15).loc = point(100, 334) end if if gLeftTowerList[2] = 14 then sprite(14).loc = point(100, 334) end if end if if gLeftTowerList[3] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[3] = 20 then sprite(20).loc = point(100, 316) end if if gLeftTowerList[3] = 19 then sprite(19).loc = point(100, 316) end if if gLeftTowerList[3] = 18 then sprite(18).loc = point(100, 316) end if if gLeftTowerList[3] = 17 then sprite(17).loc = point(100, 316) end if if gLeftTowerList[3] = 16 then sprite(16).loc = point(100, 316) end if if gLeftTowerList[3] = 15 then sprite(15).loc = point(100, 316) end if if gLeftTowerList[3] = 14 then sprite(14).loc = point(100, 316) end if end if if gLeftTowerList[4] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[4] = 20 then sprite(20).loc = point(100, 298) end if if gLeftTowerList[4] = 19 then sprite(19).loc = point(100, 298) end if if gLeftTowerList[4] = 18 then sprite(18).loc = point(100, 298) end if if gLeftTowerList[4] = 17 then sprite(17).loc = point(100, 298) end if if gLeftTowerList[4] = 16 then sprite(16).loc = point(100, 298) end if if gLeftTowerList[4] = 15 then sprite(15).loc = point(100, 298) end if if gLeftTowerList[4] = 14 then sprite(14).loc = point(100, 298) end if end if if gLeftTowerList[5] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[5] = 20 then sprite(20).loc = point(100, 280) end if if gLeftTowerList[5] = 19 then sprite(19).loc = point(100, 280) end if if gLeftTowerList[5] = 18 then sprite(18).loc = point(100, 280) end if if gLeftTowerList[5] = 17 then sprite(17).loc = point(100, 280) end if if gLeftTowerList[5] = 16 then sprite(16).loc = point(100, 280) end if if gLeftTowerList[5] = 15 then sprite(15).loc = point(100, 280) end if if gLeftTowerList[5] = 14 then sprite(14).loc = point(100, 280) end if end if if gLeftTowerList[6] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[6] = 20 then sprite(20).loc = point(100, 262) end if if gLeftTowerList[6] = 19 then sprite(19).loc = point(100, 262) end if if gLeftTowerList[6] = 18 then sprite(18).loc = point(100, 262) end if if gLeftTowerList[6] = 17 then sprite(17).loc = point(100, 262) end if if gLeftTowerList[6] = 16 then sprite(16).loc = point(100, 262) end if if gLeftTowerList[6] = 15 then sprite(15).loc = point(100, 262) end if if gLeftTowerList[6] = 14 then sprite(14).loc = point(100, 262) end if end if if gLeftTowerList[7] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gLeftTowerList[7] = 20 then sprite(20).loc = point(100, 244) end if if gLeftTowerList[7] = 19 then sprite(19).loc = point(100, 244) end if if gLeftTowerList[7] = 18 then sprite(18).loc = point(100, 244) end if if gLeftTowerList[7] = 17 then sprite(17).loc = point(100, 244) end if if gLeftTowerList[7] = 16 then sprite(16).loc = point(100, 244) end if if gLeftTowerList[7] = 15 then sprite(15).loc = point(100, 244) end if if gLeftTowerList[7] = 14 then sprite(14).loc = point(100, 244) end if end if else if (gPosX >= 202) and (gPosX <= 375) and ((gPosY >= 110) and (gPosY <= 385)) then gPlaced = 1 CheckCenterStackOrder() if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[1] <> 0 then if gCenterTowerList[1] = 20 then sprite(20).loc = point(288, 352) end if if gCenterTowerList[1] = 19 then sprite(19).loc = point(288, 352) end if if gCenterTowerList[1] = 18 then sprite(18).loc = point(288, 352) end if if gCenterTowerList[1] = 17 then sprite(17).loc = point(288, 352) end if if gCenterTowerList[1] = 16 then sprite(16).loc = point(288, 352) end if if gCenterTowerList[1] = 15 then sprite(15).loc = point(288, 352) end if if gCenterTowerList[1] = 14 then sprite(14).loc = point(288, 352) end if end if if gCenterTowerList[2] <> 0 then gPlaced = 1 if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[2] = 20 then sprite(20).loc = point(288, 334) end if if gCenterTowerList[2] = 19 then sprite(19).loc = point(288, 334) end if if gCenterTowerList[2] = 18 then sprite(18).loc = point(288, 334) end if if gCenterTowerList[2] = 17 then sprite(17).loc = point(288, 334) end if if gCenterTowerList[2] = 16 then sprite(16).loc = point(288, 334) end if if gCenterTowerList[2] = 15 then sprite(15).loc = point(288, 334) end if if gCenterTowerList[2] = 14 then sprite(14).loc = point(288, 334) end if end if if gCenterTowerList[3] <> 0 then gPlaced = 1 if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[3] = 20 then sprite(20).loc = point(288, 316) end if if gCenterTowerList[3] = 19 then sprite(19).loc = point(288, 316) end if if gCenterTowerList[3] = 18 then sprite(18).loc = point(288, 316) end if if gCenterTowerList[3] = 17 then sprite(17).loc = point(288, 316) end if if gCenterTowerList[3] = 16 then sprite(16).loc = point(288, 316) end if if gCenterTowerList[3] = 15 then sprite(15).loc = point(288, 316) end if if gCenterTowerList[3] = 14 then sprite(14).loc = point(288, 316) end if end if if gCenterTowerList[4] <> 0 then gPlaced = 1 if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[4] = 20 then sprite(20).loc = point(288, 298) end if if gCenterTowerList[4] = 19 then sprite(19).loc = point(288, 298) end if if gCenterTowerList[4] = 18 then sprite(18).loc = point(288, 298) end if if gCenterTowerList[4] = 17 then sprite(17).loc = point(288, 298) end if if gCenterTowerList[4] = 16 then sprite(16).loc = point(288, 298) end if if gCenterTowerList[4] = 15 then sprite(15).loc = point(288, 298) end if if gCenterTowerList[4] = 14 then sprite(14).loc = point(288, 298) end if end if if gCenterTowerList[5] <> 0 then gPlaced = 1 if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[5] = 20 then sprite(20).loc = point(288, 280) end if if gCenterTowerList[5] = 19 then sprite(19).loc = point(288, 280) end if if gCenterTowerList[5] = 18 then sprite(18).loc = point(288, 280) end if if gCenterTowerList[5] = 17 then sprite(17).loc = point(288, 280) end if if gCenterTowerList[5] = 16 then sprite(16).loc = point(288, 280) end if if gCenterTowerList[5] = 15 then sprite(15).loc = point(288, 280) end if if gCenterTowerList[5] = 14 then sprite(14).loc = point(288, 280) end if end if if gCenterTowerList[6] <> 0 then gPlaced = 1 if gStackSide <> 5 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[6] = 20 then sprite(20).loc = point(288, 262) end if if gCenterTowerList[6] = 19 then sprite(19).loc = point(288, 262) end if if gCenterTowerList[6] = 18 then sprite(18).loc = point(288, 262) end if if gCenterTowerList[6] = 17 then sprite(17).loc = point(288, 262) end if if gCenterTowerList[6] = 16 then sprite(16).loc = point(288, 262) end if if gCenterTowerList[6] = 15 then sprite(15).loc = point(288, 262) end if if gCenterTowerList[6] = 14 then sprite(14).loc = point(288, 262) end if end if if gCenterTowerList[7] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gCenterTowerList[7] = 20 then sprite(20).loc = point(288, 244) end if if gCenterTowerList[7] = 19 then sprite(19).loc = point(288, 244) end if if gCenterTowerList[7] = 18 then sprite(18).loc = point(288, 244) end if if gCenterTowerList[7] = 17 then sprite(17).loc = point(288, 244) end if if gCenterTowerList[7] = 16 then sprite(16).loc = point(288, 244) end if if gCenterTowerList[7] = 15 then sprite(15).loc = point(288, 244) end if if gCenterTowerList[7] = 14 then sprite(14).loc = point(288, 244) end if end if else if (gPosX >= 388) and (gPosX <= 561) and ((gPosY >= 110) and (gPosY <= 385)) then gPlaced = 1 CheckRightStackOrder() if gRightTowerList[1] <> 0 then if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[1] = 20 then sprite(20).loc = point(476, 352) end if if gRightTowerList[1] = 19 then sprite(19).loc = point(476, 352) end if if gRightTowerList[1] = 18 then sprite(18).loc = point(476, 352) end if if gRightTowerList[1] = 17 then sprite(17).loc = point(476, 352) end if if gRightTowerList[1] = 16 then sprite(16).loc = point(476, 352) end if if gRightTowerList[1] = 15 then sprite(15).loc = point(476, 352) end if if gRightTowerList[1] = 14 then sprite(14).loc = point(476, 352) end if end if if gRightTowerList[2] <> 0 then gPlaced = 1 if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[2] = 20 then sprite(20).loc = point(476, 334) end if if gRightTowerList[2] = 19 then sprite(19).loc = point(476, 334) end if if gRightTowerList[2] = 18 then sprite(18).loc = point(476, 334) end if if gRightTowerList[2] = 17 then sprite(17).loc = point(476, 334) end if if gRightTowerList[2] = 16 then sprite(16).loc = point(476, 334) end if if gRightTowerList[2] = 15 then sprite(15).loc = point(476, 334) end if if gRightTowerList[2] = 14 then sprite(14).loc = point(476, 334) end if end if if gRightTowerList[3] <> 0 then gPlaced = 1 if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[3] = 20 then sprite(20).loc = point(476, 316) end if if gRightTowerList[3] = 19 then sprite(19).loc = point(476, 316) end if if gRightTowerList[3] = 18 then sprite(18).loc = point(476, 316) end if if gRightTowerList[3] = 17 then sprite(17).loc = point(476, 316) end if if gRightTowerList[3] = 16 then sprite(16).loc = point(476, 316) end if if gRightTowerList[3] = 15 then sprite(15).loc = point(476, 316) end if if gRightTowerList[3] = 14 then sprite(14).loc = point(476, 316) end if end if if gRightTowerList[4] <> 0 then gPlaced = 1 if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[4] = 20 then sprite(20).loc = point(476, 298) end if if gRightTowerList[4] = 19 then sprite(19).loc = point(476, 298) end if if gRightTowerList[4] = 18 then sprite(18).loc = point(476, 298) end if if gRightTowerList[4] = 17 then sprite(17).loc = point(476, 298) end if if gRightTowerList[4] = 16 then sprite(16).loc = point(476, 298) end if if gRightTowerList[4] = 15 then sprite(15).loc = point(476, 298) end if if gRightTowerList[4] = 14 then sprite(14).loc = point(476, 298) end if end if if gRightTowerList[5] <> 0 then gPlaced = 1 if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[5] = 20 then sprite(20).loc = point(476, 280) end if if gRightTowerList[5] = 19 then sprite(19).loc = point(476, 280) end if if gRightTowerList[5] = 18 then sprite(18).loc = point(476, 280) end if if gRightTowerList[5] = 17 then sprite(17).loc = point(476, 280) end if if gRightTowerList[5] = 16 then sprite(16).loc = point(476, 280) end if if gRightTowerList[5] = 15 then sprite(15).loc = point(476, 280) end if if gRightTowerList[5] = 14 then sprite(14).loc = point(476, 280) end if end if if gRightTowerList[6] <> 0 then gPlaced = 1 if gStackSide <> 6 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[6] = 20 then sprite(20).loc = point(476, 262) end if if gRightTowerList[6] = 19 then sprite(19).loc = point(476, 262) end if if gRightTowerList[6] = 18 then sprite(18).loc = point(476, 262) end if if gRightTowerList[6] = 17 then sprite(17).loc = point(476, 262) end if if gRightTowerList[6] = 16 then sprite(16).loc = point(476, 262) end if if gRightTowerList[6] = 15 then sprite(15).loc = point(476, 262) end if if gRightTowerList[6] = 14 then sprite(14).loc = point(476, 262) end if end if if gRightTowerList[7] <> 0 then gPlaced = 1 if gStackSide <> 4 then if gMoveFix = 1 then gMoves = gMoves + 1 member("MovesText").text = string(gMoves) gMoveFix = 0 end if end if if gRightTowerList[7] = 20 then sprite(20).loc = point(476, 244) end if if gRightTowerList[7] = 19 then sprite(19).loc = point(476, 244) end if if gRightTowerList[7] = 18 then sprite(18).loc = point(476, 244) end if if gRightTowerList[7] = 17 then sprite(17).loc = point(476, 244) end if if gRightTowerList[7] = 16 then sprite(16).loc = point(476, 244) end if if gRightTowerList[7] = 15 then sprite(15).loc = point(476, 244) end if if gRightTowerList[7] = 14 then sprite(14).loc = point(476, 244) end if end if else sprite(gDiscNum).locH = gOriginX sprite(gDiscNum).locV = gOriginY gPlaced = 0 if gStackSide = 4 then gPosX = 100 gPosY = 150 stack() else if gStackSide = 5 then gPosX = 250 gPosY = 150 stack() else if gStackSide = 6 then gPosX = 400 gPosY = 150 stack() end if end if end if end if end if end if end on CheckLeftStackOrder repeat with gCheckList = 1 to 10 if gLeftTowerList[gCheckList] = 0 then if gCheckList = 1 then gSingle = 1 else gSingle = 0 end if if gLeftTowerList[gCheckList - (1 - gSingle)] < gDiscNum then gLeftTowerList[gCheckList] = gDiscNum exit next repeat end if sprite(gDiscNum).locH = gOriginX sprite(gDiscNum).locV = gOriginY gPlaced = 0 gMoves = gMoves - 1 if gStackSide = 4 then gPosX = 100 gPosY = 150 stack() else if gStackSide = 5 then gPosX = 250 gPosY = 150 stack() else if gStackSide = 6 then gPosX = 400 gPosY = 150 stack() end if end if end if exit end if end repeat end on CheckCenterStackOrder repeat with gCheckList = 1 to 10 if gCenterTowerList[gCheckList] = 0 then if gCheckList = 1 then gSingle = 1 else gSingle = 0 end if if gCenterTowerList[gCheckList - (1 - gSingle)] < gDiscNum then gCenterTowerList[gCheckList] = gDiscNum exit next repeat end if sprite(gDiscNum).locH = gOriginX sprite(gDiscNum).locV = gOriginY gPlaced = 0 gMoves = gMoves - 1 if gStackSide = 4 then gPosX = 100 gPosY = 150 stack() else if gStackSide = 5 then gPosX = 250 gPosY = 150 stack() else if gStackSide = 6 then gPosX = 400 gPosY = 150 stack() end if end if end if exit end if end repeat end on CheckRightStackOrder repeat with gCheckList = 1 to 10 if gRightTowerList[gCheckList] = 0 then if gCheckList = 1 then gSingle = 1 else gSingle = 0 end if if gRightTowerList[gCheckList - (1 - gSingle)] < gDiscNum then gRightTowerList[gCheckList] = gDiscNum exit next repeat end if sprite(gDiscNum).locH = gOriginX sprite(gDiscNum).locV = gOriginY gPlaced = 0 gMoves = gMoves - 1 if gStackSide = 4 then gPosX = 100 gPosY = 150 stack() else if gStackSide = 5 then gPosX = 250 gPosY = 150 stack() else if gStackSide = 6 then gPosX = 400 gPosY = 150 stack() end if end if end if exit end if end repeat end