STORY LOOP FURRY PORN GAMES C SERVICES [?] [R] RND POPULAR | Archived flashes: 229595 |
/disc/ · /res/ — /show/ · /fap/ · /gg/ · /swf/ | P0001 · P2595 · P5190 |
This is the info page for Flash #27699 |
L |
o |
a |
d |
i |
n |
g |
. |
version 1.02w |
Game Scoring |
Game Scoring |
Game Hints |
Game Hints |
Game Rules |
Game Rules |
Play |
Play |
Back |
Back |
Game Rules: The game begins with a full screen of randomly placed gems of 7 colors. Players choose 2 adjacent gems (horizontally or vertically adjacent) to switch places on the game board. If the switched gems create a row of 3 or more identical gems, the gems switch, then disappear, and the player earns points! Then new gems appear on the top of the game board, and the player continues to make matches until the 5:00 timer runs out or until no further matches are possible. Players participating in the same tournament will receive initial layouts that are identical (i.e. the same gem allocation). Players earn additional points for gem rows of 4 or more, and can earn additional points when multiple matches are made on a single play. After 30 seconds of game play in which a player does not make a switch selection, the game provides a hint, flashing two interchangeable gems. |
Next |
Next |
Match 3 gems- 10 points Match 4 gems- 20 points Match 5 gems- 30 points Match 6 gems- 50 points Players earn additional points when multiple matches are made on a single play. Players lose one point every 5 seconds of game play where no selections are made. Match #2- 10 points Match #3- 20 points Match #4- 30 points Match #5- 50 points Match #6- 70 points Match #7- 100 points Match #8- 150 points #9 or more 200 points |
Players also receive bonuses when they reach a specific point amounts. The bonus structure is as follows: When reaching 1,000 Points– 100 Point Bonus When reaching 1,500 Points– 150 Point Bonus When reaching 2,000 Points– 200 Point Bonus When reaching 2,500 Points– 250 Point Bonus When reaching 3,000 Points– 250 Point Bonus When reaching 3,500 Points– 250 Point Bonus |
Game Hints: * First and foremost, speed is a critical component of this game. Match gems as quickly as you can. * The first thing you need to understand about Diamond Mine is that you get more points by clearing 4 or 5 gems at a time then you would get by clearing 3 row gems. * Look for the gems that are easiest to identify matches for. This may be based on color or shape, depending upon your personal preference. * Try to match gems which are located at the bottom or towards the bottom so that your chances of making multiple matches with dropping gems is higher. * Remember, the first match you see is not always the best match. Try to strategically match gems so that you position yourself for the best next move. |
Game Hints: * First and foremost, speed is a critical component of this game. Match gems as quickly as you can. * The first thing you need to understand about Diamond Mine is that you get more points by clearing 4 or 5 gems at a time then you would get by clearing 3 row gems. * Look for the gems that are easiest to identify matches for. This may be based on color or shape, depending upon your personal preference. * Try to match gems which are located at the bottom or towards the bottom so that your chances of making multiple matches with dropping gems is higher. * Remember, the first match you see is not always the best match. Try to strategically match gems so that you position yourself for the best next move. |
5:00 |
You have run out of matches. The game will reset. |
Time |
Score |
0 |
GR.com score code |
ActionScript [AS1/AS2]
Frame 1Stage.showMenu = false; stop(); _root.gameID = "EE792CD4"; if (_root.gcode == null) { getURL ("http://www.gamerival.com/utilities/redir.cfm?game=" add _root.gameID, "_blank"); } else { play(); }Frame 2if (_framesloaded >= _totalframes) { gotoAndStop (4); } else { play(); }Frame 3gotoAndStop (2);Frame 4QUALITY = HIGH; stop(); function init() { gHintTime = 2700; gPoints = []; gNumRows = 8; gNumCols = 8; gJewelWidth = 36; gJewelHeight = 33; gJewelWidth2 = 47.52; gJewelHeight2 = 43.56; gNumTypes = 7; gTypesArray = new Array(); gTypesArray = [1, 2, 3, 4, 5, 6, 7]; NORMAL = 1; SHRINKING = 2; SLIDING = 3; SWAPPING = 4; UNSWAPPING = 5; HINT = 6; CHECKMORE = 7; GAMEOVER = 8; gDebug = false; gDebug1 = false; score = 0; scorecheck = "0"; } function setUp() { _root.board_button._width = gNumCols * gJewelWidth2; _root.board_button._height = gNumRows * gJewelHeight2; _root.board_button._x = _root.jewel_MCA._x; _root.board_button._y = _root.jewel_MCA._y; _root.board_button.gotoAndStop("inactive"); gJewel = new Array(); do { gJewelID = 1; var i = 1; while (gNumRows >= i) { gJewel[i] = new Array(); var j = 1; while (gNumCols >= j) { var lName = ("jewel_" + gJewelID); jewel_MCA.initJewel.duplicateMovieClip(lName, gJewelID); gJewel[i][j] = gJewelID; _root.jewel_MCA[lName].pRow = i; _root.jewel_MCA[lName].pCol = j; _root.jewel_MCA[lName].pID = gJewelID; _root.jewel_MCA[lName]._x = (j - 0.5) * gJewelWidth; _root.jewel_MCA[lName]._y = (i - 0.5) * gJewelHeight; _root.jewel_MCA[lName].pFrameTimer = -1; if (gDebug) { var x = Math.ceil(j / 2); var y = Math.ceil(i / 2); if (odd(x + y)) { var lType = 1; } else { var lType = 2; } } else if (gDebug1) { var x = Math.ceil(j / 2); var y = Math.ceil(i / 2); var frac = (((x + y) / 3) - Math.floor((x + y) / 3)); var mod = (frac * 3); if (mod == 0) { var lType = 1; } else if (mod == 1) { var lType = 2; } else if (mod == 2) { var lType = 3; } } else { var lType = Math.ceil(Math.random() * gNumTypes); } _root.jewel_MCA[lName].apple.gotoAndStop(lType); var lMatch = true; var k = 1; while (2 >= k) { var r = i; var c = (j - k); if (c < 1) { lMatch = false; break; } var lName = ("jewel_" + gJewel[r][c]); var lJewel = _root.jewel_MCA[lName]; if (lJewel.apple._currentFrame != lType) { lMatch = false; break; } k++; } if (!lMatch) { lMatch = true; var k = 1; while (2 >= k) { var r = (i - k); var c = j; if (r < 1) { lMatch = false; break; } var lName = ("jewel_" + gJewel[r][c]); var lJewel = _root.jewel_MCA[lName]; if (lJewel.apple._currentFrame != lType) { lMatch = false; break; } k++; } } if (lMatch) { var lChoice = gTypesArray.slice(0); r = i; c = j - 1; if (0 < c) { var lName = ("jewel_" + gJewel[r][c]); var lJewel = _root.jewel_MCA[lName]; var lType = lJewel.apple._currentFrame; var lIndex = getOne(lChoice, lType); lChoice.splice(lIndex, 1); } r = i - 1; c = j; if (0 < r) { var lName = ("jewel_" + gJewel[r][c]); var lJewel = _root.jewel_MCA[lName]; var lType = lJewel.apple._currentFrame; var lIndex = getOne(lChoice, lType); if (lIndex != -1) { lChoice.splice(lIndex, 1); } } if (gDebug || (gDebug1)) { var lIndex = 1; } else { var lIndex = Math.floor(Math.random() * lChoice.length); } var lName = ("jewel_" + gJewelID); _root.jewel_MCA[lName].apple.gotoAndStop(lChoice[lIndex]); } gJewelID++; j++; } i++; } var lHasSwaps = checkHasSwaps(); } while (0 >= lHasSwaps.length); var i = gNumRows; while (i >= 1) { var j = 1; while (gNumCols >= j) { var lJewel = jewelAt(i, j); if (i == gNumRows) { lJewel._y = ((-0.5 * gJewelHeight) - (Math.random() * 50)) - 2; } else { var lPrev = jewelAt(i + 1, j); lJewel._y = ((lPrev._y - gJewelHeight) - (Math.random() * 50)) - 2; } j++; } i--; } gPlayLandSound = 0; gNumLandSoundsPlayed = 0; gNumLanded = 0; gLanded = new Array(); var j = 1; while (gNumCols >= j) { gLanded[j] = gNumRows + 1; j++; } _root.points_MCA._x = _root.jewel_MCA._x; _root.points_MCA._y = _root.jewel_MCA._y; gSelected = 0; gMode = SETUP; gHasPoints = false; placeOffstage(_root.game_over_explanation_MC); placeOffstage(_root.bonusMC); startGameTime = 0; updateGameStats(); playSound("beginsound"); } function setupVars() { score = 0; scorecheck = "0"; _root.game_stats.score = 0; gMostMatchesPerSwap = 0; gHighestScoringSwap = 0; gLongestChain = 0; nextBonus = 1000; removeBonusTime = 0; gGameBeginTime = getTimer(); gEndGameTime = getTimer() + _root.timetoend; gGameTimer = getTimer(); gLastMatchTime = getTimer(); } function frameLoop() { if (gMode == NORMAL) { var lTime = getTimer(); if ((gGameTimer + 5000) < lTime) { updateScore(-1); gGameTimer = lTime; } if ((gLastMatchTime + 30000) < lTime) { showHint(); } } else if (gMode == CHECKMORE) { checkMoreMatches(); } else if ((gMode == SWAPPING) || (gMode == UNSWAPPING)) { if (gSwapSteps < gSwapStep) { if (gMode == SWAPPING) { evaluateSwap(); } else { gMode = NORMAL; gSwapped = 0; gSelected = 0; } } else { gSelected._x = gSelected._x + gSelected.pSwapStep.x; gSelected._y = gSelected._y + gSelected.pSwapStep.y; gSwapped._x = gSwapped._x + gSwapped.pSwapStep.x; gSwapped._y = gSwapped._y + gSwapped.pSwapStep.y; } gSwapStep++; } else if (gMode == SHRINKING) { gSize = gSize - 20; if (0 < gSize) { var i = 0; while (i < gMatch.length) { gMatch[i]._xscale = gSize; gMatch[i]._yscale = gSize; i++; } } else { startSliding(); } } else if (gMode == SLIDING) { var i = 0; while (i < gBlock.length) { slide(gBlock[i]); i++; } var i = 0; while (i < gMatch.length) { slide(gMatch[i]); i++; } gSlideSpeed = gSlideSpeed + 2; } else if (gMode == HINT) { var i = 0; while (i < gHint.length) { var a = gHint[i]._alpha; a = oscillate(a, 20, 100, 20); if (a == 80) { var lTime = getTimer(); if ((gHintTimer + gHintTime) < lTime) { var i = 0; while (i < gHint.length) { gHint[i]._alpha = 100; i++; } gMode = NORMAL; } } if (gMode == HINT) { gHint[i]._alpha = a; } i++; } } else if (gMode == SETUP) { var lTime = getTimer(); if (gPlayLandSound == 0) { this.playSound("pileup2"); gPlayLandSound = 1; } var j = 1; while (gNumCols >= j) { var lLowestMoving = (gLanded[j] - 1); var i = lLowestMoving; while (i >= 1) { var lJewel = jewelAt(i, j); var y = lJewel._y; if (lJewel.pFrameTimer == -1) { lJewel.pFrameTimer = lTime; } else { y = y + (((lTime - lJewel.pFrameTimer) * 20) / 33); lJewel.pFrameTimer = lTime; var lDestY = ((lJewel.pRow - 0.5) * gJewelHeight); if (y >= lDestY) { lJewel._y = lDestY; gLanded[j] = i; gNumLanded++; currTime = getTimer(); if (3 < (currTime - gLastTickTime)) { gLastTickTime = currTime(); playSound("tick"); } } else { lJewel._y = y; } } i--; } j++; } if (gNumLanded >= (gNumCols * gNumRows)) { gMode = NORMAL; _root.board_button.gotoAndStop("active"); } } if (0 < gPoints.length) { movePoints(); } if ((startGameTime != 0) and (startGameTime < currTime)) { placeOffstage(_root.game_over_explanation_MC); setup(); } if ((removeBonusTime != 0) and (removeBonusTime < currTime)) { placeOffstage(_root.bonusMC); removeBonusTime = 0; } checkGameTimer(); } function place(vJewel) { vJewel._x = (vJewel.pCol - 0.5) * gJewelWidth; vJewel._y = (vJewel.pRow - 0.5) * gJewelHeight; } function jewelAt(r, c) { var lName = ("jewel_" + gJewel[r][c]); var lJewel = _root.jewel_MCA[lName]; return(lJewel); } function typeAt(r, c) { var lJewel = jewelAt(r, c); var lType = lJewel.apple._currentFrame; return(lType); } function hasType(r, c, vType) { if (!onBoard(r, c)) { return(false); } var lType = typeAt(r, c); if (lType == vType) { return(true); } return(false); } function onBoard(r, c) { if ((((r < 1) || (c < 1)) || (gNumRows < r)) || (gNumCols < c)) { return(false); } return(true); } function startPoints(vValue, x, y) { var lName = ("points_" + (gBonus + 1)); _root.points_MCA.initPoints.duplicateMovieClip(lName, gBonus + 1); var lPointsMC = _root.points_MCA[lName]; lPointsMC._x = x; lPointsMC._y = y; lPointsMC.gotoAndStop(vValue / 10); lPointsMC.pDestY = lPointsMC._y - 15; lPointsMC.pFrameTimer = getTimer(); lPointsMC.pStartTimer = lPointsMC.pFrameTimer; gPoints.push(lPointsMC); updateScore(vValue); gScoreThisSwap = gScoreThisSwap + vValue; } function updateScore(vChange) { if (vChange < 0) { _root.vChangeDisp = vChange; } else { _root.vChangeDisp = "+" add vChange; } var lScore = (score + vChange); if (lScore < 0) { vChange = -1 * score; } _root.game_stats.score = score + vChange; score = score + vChange; scorecheck = String(Number(scorecheck) + vChange); if (nextBonus < score) { bonusAmount = (((nextBonus - 1000) / 500) * 50) + 100; if (250 < bonusAmount) { bonusAmount = 250; } showBonus(); nextBonus = nextBonus + 500; updateScore(bonusAmount); } } function movePoints() { var lTime = getTimer(); var i = (gPoints.length - 1); while (i >= 0) { var y = gPoints[i]._y; y = y - ((lTime - gPoints[i].pFrameTimer) / 33); gPoints[i]._y = y; gPoints[i].pFrameTimer = lTime; if ((gPoints[i].pStartTimer + 1000) < lTime) { gPoints[i].removeMovieClip(); gPoints.splice(i, 1); } i--; } } function clickedBoard(x, y) { if ((gMode != NORMAL) && (gMode != HINT)) { return(undefined); } this.playSound("click"); if (gMode == HINT) { var i = 0; while (i < gHint.length) { gHint[i]._alpha = 100; gMode = NORMAL; i++; } } if (gMode != NORMAL) { return(undefined); } var c = Math.ceil((x - _root.jewel_MCA._x) / gJewelWidth2); var r = Math.ceil((y - _root.jewel_MCA._y) / gJewelHeight2); if (gSelected != 0) { if (1 < (Math.abs(gSelected.pRow - r) + Math.abs(gSelected.pCol - c))) { gSelected.apple.cursor.gotoAndStop("unselected"); gSelected = 0; return(undefined); } } var lName = ("jewel_" + gJewel[r][c]); var lClicked = _root.jewel_MCA[lName]; if (gSelected == 0) { gSelected = lClicked; gSelected.apple.cursor.gotoAndStop("selected"); } else { gSelected.apple.cursor.gotoAndStop("unselected"); if (lClicked == gSelected) { gSelected = 0; } else { gSwapped = lClicked; swap(gSelected, gSwapped, true); } } } function swap(vJewel1, vJewel2, vStarting) { var r1 = vJewel1.pRow; var c1 = vJewel1.pCol; var r2 = vJewel2.pRow; var c2 = vJewel2.pCol; vJewel1.pRow = r2; vJewel1.pCol = c2; vJewel2.pRow = r1; vJewel2.pCol = c1; gJewel[r1][c1] = vJewel2.pID; gJewel[r2][c2] = vJewel1.pID; vJewel1.pSwapStep = {x:((c2 - c1) * gJewelWidth) / 5, y:((r2 - r1) * gJewelHeight) / 5}; vJewel2.pSwapStep = {x:((c1 - c2) * gJewelWidth) / 5, y:((r1 - r2) * gJewelHeight) / 5}; if (vStarting) { gMode = SWAPPING; gSwapStep = 1; } else { gMode = UNSWAPPING; gSwapStep = 0; } gSwapSteps = 5; } function evaluateSwap() { var rMin = gSelected.pRow; var rMax = gSwapped.pRow; if (rMax < rMin) { var temp = rMin; rMin = rMax; rMax = temp; } var cMin = gSelected.pCol; var cMax = gSwapped.pCol; if (cMax < cMin) { var temp = cMin; cMin = cMax; cMax = temp; } var lMatch = checkMatch(rMin, cMin, rMax, cMax); gScoreThisSwap = 0; gBonus = 0; gPoints = new Array(); gMatch = new Array(); var i = 0; while (i < lMatch.length) { var lLength = lMatch[i].length; gLongestChain = Math.max(gLongestChain, lLength); var j = 0; while (j < lLength) { var lJewel = lMatch[i][j]; if (getOne(gMatch, lJewel) == -1) { gMatch.push(lJewel); } j++; } var lPoints = (((lLength - 2) + gBonus) * 10); if (odd(lLength)) { var lWhich = Math.floor(lLength / 2); var r = lMatch[i][lWhich].pRow; var c = lMatch[i][lWhich].pCol; } else { var lWhich1 = ((lLength / 2) - 1); var r1 = lMatch[i][lWhich1].pRow; var c1 = lMatch[i][lWhich1].pCol; var lWhich2 = (lLength / 2); var r2 = lMatch[i][lWhich2].pRow; var c2 = lMatch[i][lWhich2].pCol; var r = ((r1 + r2) / 2); var c = ((c1 + c2) / 2); } var x = ((c - 0.5) * gJewelWidth); var y = ((r - 0.5) * gJewelHeight); startPoints(lPoints, x, y); gBonus++; i++; } if (gMatch.length != 0) { gSelected = 0; gSwapped = 0; startShrinking(); if (removeBonusTime == 0) { this.playSound("match"); } gLastMatchTime = getTimer(); } else { swap(gSelected, gSwapped, false); this.playSound("nomatch"); } } function startShrinking() { gMode = SHRINKING; gSize = 100; } function placeTemp(vJewel) { vJewel._x = (vJewel.pCol - 0.5) * gJewelWidth; vJewel._y = (-1 * (vJewel.pTempRow + 0.5)) * gJewelHeight; } function startSliding() { gSlideSpeed = 1; gMode = SLIDING; gNewJewel = new Array(); var j = 1; while (gNumCols >= j) { gNewJewel[j] = new Array(); j++; } gBlockBottom = new Array(); var j = 1; while (gNumCols >= j) { gBlockBottom[j] = -1; j++; } var i = 0; while (i < gMatch.length) { var c = gMatch[i].pCol; gMatch[i]._xscale = 100; gMatch[i]._yscale = 100; gMatch[i].pTempRow = gNewJewel[c].length; gNewJewel[c].push(gMatch[i]); if (gDebug || (gDebug1)) { var lType = 1; } else { var lType = Math.ceil(Math.random() * gNumTypes); } gMatch[i].apple.gotoAndStop(lType); gMatch[i].pDoneSliding = false; placeTemp(gMatch[i]); gBlockBottom[c] = Math.max(gBlockBottom[c], gMatch[i].pRow - 1); i++; } gBlock = new Array(); var j = 1; while (gNumCols >= j) { var i = 1; while (gBlockBottom[j] >= i) { var lJewel = jewelAt(i, j); if (getOne(gMatch, lJewel) == -1) { gBlock.push(lJewel); lJewel.pDestRow = destRow(lJewel); lJewel.pDoneSliding = false; } i++; } j++; } var i = 0; while (i < gMatch.length) { var c = gMatch[i].pCol; gMatch[i].pDestRow = gNewJewel[c].length - gMatch[i].pTempRow; i++; } gNumSliding = gMatch.length + gBlock.length; gNumDoneSliding = 0; } function destRow(vJewel) { var c = vJewel.pCol; var r = vJewel.pRow; var lNumRemovedBelow = 0; var i = 0; while (i < gNewJewel[c].length) { if (r < gNewJewel[c][i].pRow) { lNumRemovedBelow++; } i++; } var lDestRow = (r + lNumRemovedBelow); return(lDestRow); } function slide(vJewel) { if (vJewel.pDoneSliding) { return(undefined); } var y = vJewel._y; y = y + gSlideSpeed; var lYDest = ((vJewel.pDestRow - 0.5) * gJewelHeight); if (y >= lYDest) { y = lYDest; doneSliding(vJewel); } vJewel._y = y; } function doneSliding(vJewel) { vJewel.pDoneSliding = true; vJewel.pRow = vJewel.pDestRow; gJewel[vJewel.pRow][vJewel.pCol] = vJewel.pID; currTime = getTimer(); if (3 < (currTime - gLastTickTime)) { gLastTickTime = getTimer(); playSound("tick"); } gNumDoneSliding++; if (gNumDoneSliding == gNumSliding) { gMode = CHECKMORE; } } function checkMoreMatches() { var rMin = 1; var cMin = gNumCols; var rMax = 1; var cMax = 1; var i = 0; while (i < gMatch.length) { var r = gMatch[i].pRow; var c = gMatch[i].pCol; cMin = Math.min(cMin, c); rMax = Math.max(rMax, r); cMax = Math.max(cMax, c); i++; } var i = 0; while (i < gBlock.length) { var r = gBlock[i].pRow; var c = gBlock[i].pCol; cMin = Math.min(cMin, c); rMax = Math.max(rMax, r); cMax = Math.max(cMax, c); i++; } var lMatch = checkMatch(rMin, cMin, rMax, cMax); gMatch = new Array(); var i = 0; while (i < lMatch.length) { var lLength = lMatch[i].length; gLongestChain = Math.max(gLongestChain, lLength); var j = 0; while (j < lLength) { var lJewel = lMatch[i][j]; if (getOne(gMatch, lJewel) == -1) { gMatch.push(lJewel); } j++; } var lPoints = (((lLength - 2) + gBonus) * 10); if (odd(lLength)) { var lWhich = Math.floor(lLength / 2); var r = lMatch[i][lWhich].pRow; var c = lMatch[i][lWhich].pCol; } else { var lWhich1 = ((lLength / 2) - 1); var r1 = lMatch[i][lWhich1].pRow; var c1 = lMatch[i][lWhich1].pCol; var lWhich2 = (lLength / 2); var r2 = lMatch[i][lWhich2].pRow; var c2 = lMatch[i][lWhich2].pCol; var r = ((r1 + r2) / 2); var c = ((c1 + c2) / 2); } var x = ((c - 0.5) * gJewelWidth); var y = ((r - 0.5) * gJewelHeight); startPoints(lPoints, x, y); gBonus++; i++; } if (0 < gMatch.length) { if (removeBonusTime == 0) { this.playSound("match"); } startShrinking(); } else { gHighestScoringSwap = Math.max(gHighestScoringSwap, gScoreThisSwap); gMostMatchesPerSwap = Math.max(gMostMatchesPerSwap, gBonus); updateGameStats(); gMode = NORMAL; var lHasSwaps = checkHasSwaps(); if (lHasSwaps.length == 0) { noMoreSwaps(); } } } function updateGameStats() { _root.game_stats.highest_scoring_turn = "Highest Scoring Turn: " + gHighestScoringSwap; _root.game_stats.most_matches = "Most Matches Per Turn: " + gMostMatchesPerSwap; _root.game_stats.longest_match = "Longest Match: " + gLongestChain; } function noMoreSwaps() { startNewGame(); } function quitGame() { startNewGame(); } function startNewGame() { placeOnstage(_root.game_over_explanation_MC); startGameTime = getTimer() + 5000; this.playSound("gameover"); } function showBonus() { _root.bonusMC.bonusText = ("CONGRATULATIONS! YOU HAVE EARNED " + bonusAmount) + " BONUS POINTS!"; placeOnstage(_root.bonusMC); removeBonusTime = getTimer() + 3000; playSound("bonus"); } function timeRanOut() { _root.game_over_explanation_MC.game_over_explanation = "The game ended because\rtime ran out."; terminateGame(); } function terminateGame() { this.playSound("gameover"); gotoAndStop (16); gMode = GAMEOVER; } function continueGameOver() { placeOffstage(_root.continue_button); placeOffstage(_root.game_over_explanation_MC); gotoAndStop (16); } function submitScore() { extra = extra + ""; stats = stats + ""; loadMovie ((((((((((((("game.swf?score=" + score) + "&scorecheck=") + scorecheck) + "&extra=") + extra) + "&stats=") + stats) + "&scoremode=") + scoremode) + "&gamename=") + gamename) + "&textname=") + textname, _root); } function playAgain() { gotoAndStop (14); setUp(); } function showHint() { if (gMode != NORMAL) { return(undefined); } updateScore(-20); gLastMatchTime = getTimer(); this.playSound("hint"); gHintTimer = getTimer(); gHint = checkHasSwaps(); if (0 < gHint.length) { var i = 0; while (i < gHint.length) { i++; } gMode = HINT; } } function checkHasSwaps() { var i = 1; while (gNumRows >= i) { var j = 1; while (gNumCols >= j) { var lType = typeAt(i, j); if (hasType(i, j + 1, lType)) { var r = i; var c = (j - 1); if (onBoard(r, c)) { var lJewel1 = jewelAt(r, c); if (hasType(r - 1, c, lType)) { var lJewel2 = jewelAt(r - 1, c); return([lJewel1, lJewel2]); } if (hasType(r, c - 1, lType)) { var lJewel2 = jewelAt(r, c - 1); return([lJewel1, lJewel2]); } if (hasType(r + 1, c, lType)) { var lJewel2 = jewelAt(r + 1, c); return([lJewel1, lJewel2]); } } var r = i; var c = (j + 2); if (onBoard(r, c)) { var lJewel1 = jewelAt(r, c); if (hasType(r - 1, c, lType)) { var lJewel2 = jewelAt(r - 1, c); return([lJewel1, lJewel2]); } if (hasType(r, c + 1, lType)) { var lJewel2 = jewelAt(r, c + 1); return([lJewel1, lJewel2]); } if (hasType(r + 1, c, lType)) { var lJewel2 = jewelAt(r + 1, c); return([lJewel1, lJewel2]); } } } else if (hasType(i, j + 2, lType)) { var r = i; var c = (j + 1); var lJewel1 = jewelAt(r, c); if (hasType(r - 1, c, lType)) { var lJewel2 = jewelAt(r - 1, c); return([lJewel1, lJewel2]); } if (hasType(r + 1, c, lType)) { var lJewel2 = jewelAt(r + 1, c); return([lJewel1, lJewel2]); } } if (hasType(i + 1, j, lType)) { var r = (i - 1); var c = j; if (onBoard(r, c)) { var lJewel1 = jewelAt(r, c); if (hasType(r, c - 1, lType)) { var lJewel2 = jewelAt(r, c - 1); return([lJewel1, lJewel2]); } if (hasType(r - 1, c, lType)) { var lJewel2 = jewelAt(r - 1, c); return([lJewel1, lJewel2]); } if (hasType(r, c + 1, lType)) { var lJewel2 = jewelAt(r, c + 1); return([lJewel1, lJewel2]); } } var r = (i + 2); var c = j; if (onBoard(r, c)) { var lJewel1 = jewelAt(r, c); if (hasType(r, c - 1, lType)) { var lJewel2 = jewelAt(r, c - 1); return([lJewel1, lJewel2]); } if (hasType(r + 1, c, lType)) { var lJewel2 = jewelAt(r + 1, c); return([lJewel1, lJewel2]); } if (hasType(r, c + 1, lType)) { var lJewel2 = jewelAt(r, c + 1); return([lJewel1, lJewel2]); } } } else if (hasType(i + 2, j, lType)) { var r = (i + 1); var c = j; var lJewel1 = jewelAt(r, c); if (hasType(r, c - 1, lType)) { var lJewel2 = jewelAt(r, c - 1); return([lJewel1, lJewel2]); } if (hasType(r, c + 1, lType)) { var lJewel2 = jewelAt(r, c + 1); return([lJewel1, lJewel2]); } } j++; } i++; } return([]); } function checkMatch(vRowMin, vColMin, vRowMax, vColMax) { var lHoriz = new Array(); var i = vRowMin; while (vRowMax >= i) { var j = vColMin; for ( ; vColMax >= j ; j++) { var lMatch = new Array(); var lType = typeAt(i, j); var lJewel = jewelAt(i, j); lMatch.push(lJewel); var r = i; var c = j; if (j == vColMin) { while (true) { c--; if (hasType(r, c, lType)) { var lJewel = jewelAt(r, c); lMatch.splice(0, 0, lJewel); } else { break; } } } else { var lAlready = false; var k = 0; while (k < lHoriz.length) { if (getOne(lHoriz[k], lJewel) != -1) { lAlready = true; break; } k++; } if (lAlready) { continue; } } c = j; while (true) { c++; if (hasType(r, c, lType)) { var lJewel = jewelAt(r, c); lMatch.push(lJewel); } else { break; } } if (2 < lMatch.length) { lHoriz.push(lMatch); } } i++; } var lVert = new Array(); var i = vRowMin; while (vRowMax >= i) { var j = vColMin; for ( ; vColMax >= j ; j++) { var lMatch = new Array(); var lType = typeAt(i, j); var lJewel = jewelAt(i, j); lMatch.push(lJewel); var r = i; var c = j; if (i == vRowMin) { while (true) { r--; if (hasType(r, c, lType)) { var lJewel = jewelAt(r, c); lMatch.splice(0, 0, lJewel); } else { break; } } } else { var lAlready = false; var k = 0; while (k < lVert.length) { if (getOne(lVert[k], lJewel) != -1) { lAlready = true; break; } k++; } if (lAlready) { continue; } } r = i; while (true) { r++; if (hasType(r, c, lType)) { var lJewel = jewelAt(r, c); lMatch.push(lJewel); } else { break; } } if (2 < lMatch.length) { lVert.push(lMatch); } } i++; } var lSet = lHoriz.concat(lVert); return(lSet); } function getOne(array, x) { var i = 0; while (i < array.length) { if (x == array[i]) { return(i); } i++; } return(-1); } function placeOffstage(vObj) { with (vObj) { if (0 < _x) { _x = _x - 1000; } } } function placeOnstage(vObj) { with (vObj) { if (_x < 0) { _x = _x + 1000; } } } function odd(x) { if ((x / 2) == Math.floor(x / 2)) { return(false); } return(true); } function debug() { if (gCanCheckMoreMatches) { checkMoreMatches(); gCanCheckMoreMatches = false; } } function oscillate(vValue, vMin, vMax, vInc) { vValue = Math.floor(vValue + 0.5); if (odd(vValue) || (vValue == 0)) { var lDir = 1; } else { var lDir = -1; } vValue = vValue + (lDir * vInc); if (vMin >= vValue) { vValue = vMin; if (!odd(vValue)) { vValue++; } } else if (vValue >= vMax) { vValue = vMax; if (odd(vValue)) { vValue--; } } return(vValue); } function playSound(theSound) { this.sounds1.goToAndPlay(theSound); } function checkGameTimer() { if (gMode != GAMEOVER) { currTime = getTimer(); if (gEndGameTime < currTime) { setTimeLeft(0); timeRanOut(); } else { setTimeLeft((gEndGameTime - currTime) + 1000); } } } function setTimeLeft(timeLeft) { minutes = int(timeLeft / 60000); seconds = int(timeLeft / 1000) - (minutes * 60); if (minutes < 1) { minutes = "0"; } if (seconds < 10) { seconds = "0" + seconds; } gameTimeString = String((minutes add ":") add seconds); gameTimeString = (String(minutes) + ":") + String(seconds); } if (_root.ptype == 1) { _root.timetoend = 60000; } else { _root.timetoend = 300000 /* 0x0493E0 */; }Frame 14init(); setUp(); setupVars(); stop();Instance of Symbol 121 MovieClip in Frame 14onClipEvent (enterFrame) { _root.frameLoop(); }Frame 16play();Frame 19stop();Frame 22if (_root.vf == "1") { gotoAndPlay (24); } else if (waiting < getTimer()) { gotoAndPlay (31); } else { gotoAndPlay (20); }Frame 24regurg = (("endgame.asp?gametype=19&cat=" add cat) add "&tourscore=") add String(_root.game_stats.score); getURL (regurg); stop();Frame 30gotoAndPlay (24);Frame 31stop();Frame 32stop();Frame 33prevFrame();Frame 34gotoAndPlay (31);Symbol 25 Buttonon (press) { gotoAndStop (6); }Symbol 35 Buttonon (press) { gotoAndStop (8); }Symbol 45 Buttonon (press) { gotoAndStop (5); }Symbol 55 Buttonon (press) { gotoAndStop (14); }Symbol 68 Buttonon (press) { gotoAndStop (4); }Symbol 77 Buttonon (press) { nextFrame(); }Symbol 82 Buttonon (press) { prevFrame(); }Symbol 109 MovieClip Frame 1stop();Symbol 111 MovieClip Frame 1stop();Symbol 119 MovieClip Frame 1stop();Symbol 130 MovieClip Frame 1stop();Symbol 130 MovieClip Frame 32gotoAndStop (1);Symbol 130 MovieClip Frame 97gotoAndStop (1);Symbol 130 MovieClip Frame 124gotoAndStop (1);Symbol 130 MovieClip Frame 174gotoAndStop (1);Symbol 130 MovieClip Frame 190gotoAndStop (1);Symbol 130 MovieClip Frame 302gotoAndStop (1);Symbol 130 MovieClip Frame 307gotoAndStop (1);Symbol 130 MovieClip Frame 417gotoAndStop (1);Symbol 130 MovieClip Frame 486gotoAndStop (1);Symbol 139 MovieClip Frame 1stop();Symbol 139 MovieClip Frame 2stop();Symbol 152 MovieClip Frame 1stop(); if (_root.logover == 1) { logo_switch.gotoAndStop(1); } else if (_root.logover == 2) { logo_switch.gotoAndStop(2); }Symbol 158 Buttonon (press) { var x = _root._xmouse; var y = _root._ymouse; _root.clickedBoard(x, y); }Symbol 159 MovieClip Frame 1stop();Symbol 167 MovieClip Frame 1gcode = _root.gcode; gameID = _root.gameID; Score = _root.Score; if (Score < 5) { Score = 5; } getURL ("game.cfm", "_self", "POST");
Library Items
Symbol 1 Graphic | Used by:88 Timeline | |
Symbol 2 Font | Used by:3 4 5 6 7 8 9 10 17 22 27 32 37 42 47 52 64 66 74 75 | |
Symbol 3 Text | Uses:2 | Used by:11 |
Symbol 4 Text | Uses:2 | Used by:11 |
Symbol 5 Text | Uses:2 | Used by:11 |
Symbol 6 Text | Uses:2 | Used by:11 |
Symbol 7 Text | Uses:2 | Used by:11 |
Symbol 8 Text | Uses:2 | Used by:11 |
Symbol 9 Text | Uses:2 | Used by:11 |
Symbol 10 Text | Uses:2 | Used by:11 |
Symbol 11 MovieClip | Uses:3 4 5 6 7 8 9 10 | Used by:Timeline |
Symbol 12 Bitmap | Used by:13 60 | |
Symbol 13 Graphic | Uses:12 | Used by:Timeline |
Symbol 14 Font | Used by:15 | |
Symbol 15 Text | Uses:14 | Used by:Timeline |
Symbol 16 Graphic | Used by:25 | |
Symbol 17 Text | Uses:2 | Used by:25 |
Symbol 18 Bitmap | Used by:19 23 60 78 | |
Symbol 19 Graphic | Uses:18 | Used by:25 Timeline |
Symbol 20 Graphic | Used by:25 | |
Symbol 21 Graphic | Used by:25 | |
Symbol 22 Text | Uses:2 | Used by:25 |
Symbol 23 Graphic | Uses:18 | Used by:25 |
Symbol 24 Graphic | Used by:25 | |
Symbol 25 Button | Uses:16 17 19 20 21 22 23 24 | Used by:Timeline |
Symbol 26 Graphic | Used by:35 | |
Symbol 27 Text | Uses:2 | Used by:35 |
Symbol 28 Bitmap | Used by:29 33 60 79 | |
Symbol 29 Graphic | Uses:28 | Used by:35 |
Symbol 30 Graphic | Used by:35 | |
Symbol 31 Graphic | Used by:35 | |
Symbol 32 Text | Uses:2 | Used by:35 |
Symbol 33 Graphic | Uses:28 | Used by:35 |
Symbol 34 Graphic | Used by:35 | |
Symbol 35 Button | Uses:26 27 29 30 31 32 33 34 | Used by:Timeline |
Symbol 36 Graphic | Used by:45 | |
Symbol 37 Text | Uses:2 | Used by:45 |
Symbol 38 Bitmap | Used by:39 43 60 80 | |
Symbol 39 Graphic | Uses:38 | Used by:45 |
Symbol 40 Graphic | Used by:45 | |
Symbol 41 Graphic | Used by:45 | |
Symbol 42 Text | Uses:2 | Used by:45 |
Symbol 43 Graphic | Uses:38 | Used by:45 |
Symbol 44 Graphic | Used by:45 | |
Symbol 45 Button | Uses:36 37 39 40 41 42 43 44 | Used by:Timeline |
Symbol 46 Graphic | Used by:55 | |
Symbol 47 Text | Uses:2 | Used by:55 |
Symbol 48 Bitmap | Used by:49 53 60 69 | |
Symbol 49 Graphic | Uses:48 | Used by:55 |
Symbol 50 Graphic | Used by:55 | |
Symbol 51 Graphic | Used by:55 | |
Symbol 52 Text | Uses:2 | Used by:55 |
Symbol 53 Graphic | Uses:48 | Used by:55 |
Symbol 54 Graphic | Used by:55 | |
Symbol 55 Button | Uses:46 47 49 50 51 52 53 54 | Used by:Timeline |
Symbol 56 Bitmap | Used by:60 | |
Symbol 57 Bitmap | Used by:60 | |
Symbol 58 Bitmap | Used by:60 | |
Symbol 59 Bitmap | Used by:60 | |
Symbol 60 Graphic | Uses:56 12 57 58 38 59 48 28 18 | Used by:Timeline |
Symbol 61 Bitmap | Used by:62 160 | |
Symbol 62 Graphic | Uses:61 | Used by:Timeline |
Symbol 63 Graphic | Used by:68 82 | |
Symbol 64 Text | Uses:2 | Used by:68 82 |
Symbol 65 Graphic | Used by:68 82 | |
Symbol 66 Text | Uses:2 | Used by:68 82 |
Symbol 67 Graphic | Used by:68 82 | |
Symbol 68 Button | Uses:63 64 65 66 67 | Used by:Timeline |
Symbol 69 Graphic | Uses:48 | Used by:Timeline |
Symbol 70 Font | Used by:71 81 83 84 85 166 | |
Symbol 71 Text | Uses:70 | Used by:Timeline |
Symbol 72 Graphic | Used by:Timeline | |
Symbol 73 Graphic | Used by:77 | |
Symbol 74 Text | Uses:2 | Used by:77 |
Symbol 75 Text | Uses:2 | Used by:77 |
Symbol 76 Graphic | Used by:77 | |
Symbol 77 Button | Uses:73 74 75 76 | Used by:Timeline |
Symbol 78 Graphic | Uses:18 | Used by:Timeline |
Symbol 79 Graphic | Uses:28 | Used by:Timeline |
Symbol 80 Graphic | Uses:38 | Used by:Timeline |
Symbol 81 Text | Uses:70 | Used by:Timeline |
Symbol 82 Button | Uses:63 64 65 66 67 | Used by:Timeline |
Symbol 83 Text | Uses:70 | Used by:Timeline |
Symbol 84 Text | Uses:70 | Used by:Timeline |
Symbol 85 Text | Uses:70 | Used by:Timeline |
Symbol 86 Bitmap | Used by:87 | |
Symbol 87 Graphic | Uses:86 | Used by:Timeline |
Symbol 88 MovieClip | Uses:1 | Used by:Timeline |
Symbol 89 Graphic | Used by:109 | |
Symbol 90 Graphic | Used by:109 | |
Symbol 91 Graphic | Used by:109 | |
Symbol 92 Graphic | Used by:109 | |
Symbol 93 Graphic | Used by:109 | |
Symbol 94 Graphic | Used by:109 | |
Symbol 95 Graphic | Used by:109 | |
Symbol 96 Graphic | Used by:109 | |
Symbol 97 Graphic | Used by:109 | |
Symbol 98 Graphic | Used by:109 | |
Symbol 99 Graphic | Used by:109 | |
Symbol 100 Graphic | Used by:109 | |
Symbol 101 Graphic | Used by:109 | |
Symbol 102 Graphic | Used by:109 | |
Symbol 103 Graphic | Used by:109 | |
Symbol 104 Graphic | Used by:109 | |
Symbol 105 Graphic | Used by:109 | |
Symbol 106 Graphic | Used by:109 | |
Symbol 107 Graphic | Used by:109 | |
Symbol 108 Graphic | Used by:109 | |
Symbol 109 MovieClip | Uses:89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | Used by:121 |
Symbol 110 Graphic | Used by:111 | |
Symbol 111 MovieClip | Uses:110 | Used by:119 |
Symbol 112 Graphic | Used by:119 | |
Symbol 113 Graphic | Used by:119 | |
Symbol 114 Graphic | Used by:119 | |
Symbol 115 Graphic | Used by:119 | |
Symbol 116 Graphic | Used by:119 | |
Symbol 117 Graphic | Used by:119 | |
Symbol 118 Graphic | Used by:119 | |
Symbol 119 MovieClip | Uses:111 112 113 114 115 116 117 118 | Used by:120 |
Symbol 120 MovieClip | Uses:119 | Used by:121 |
Symbol 121 MovieClip | Uses:109 120 | Used by:Timeline |
Symbol 122 Sound | Used by:130 | |
Symbol 123 Sound | Used by:130 | |
Symbol 124 Sound | Used by:130 | |
Symbol 125 Sound | Used by:130 | |
Symbol 126 Sound | Used by:130 | |
Symbol 127 Sound | Used by:130 | |
Symbol 128 Sound | Used by:130 | |
Symbol 129 Sound | Used by:130 | |
Symbol 130 MovieClip | Uses:122 123 124 125 126 127 128 129 | Used by:Timeline |
Symbol 131 Font | Used by:132 133 134 137 138 142 | |
Symbol 132 EditableText | Uses:131 | Used by:Timeline |
Symbol 133 EditableText | Uses:131 | Used by:Timeline |
Symbol 134 EditableText | Uses:131 | Used by:136 |
Symbol 135 Graphic | Used by:136 | |
Symbol 136 MovieClip | Uses:134 135 | Used by:Timeline |
Symbol 137 Text | Uses:131 | Used by:152 |
Symbol 138 Text | Uses:131 | Used by:152 |
Symbol 139 MovieClip | Used by:152 | |
Symbol 140 Bitmap | Used by:141 | |
Symbol 141 Graphic | Uses:140 | Used by:152 |
Symbol 142 EditableText | Uses:131 | Used by:152 |
Symbol 143 Graphic | Used by:152 | |
Symbol 144 Graphic | Used by:152 | |
Symbol 145 Graphic | Used by:152 | |
Symbol 146 Graphic | Used by:152 | |
Symbol 147 Graphic | Used by:152 | |
Symbol 148 Graphic | Used by:152 | |
Symbol 149 Graphic | Used by:152 | |
Symbol 150 Bitmap | Used by:151 | |
Symbol 151 Graphic | Uses:150 | Used by:152 |
Symbol 152 MovieClip | Uses:137 138 139 141 142 143 144 145 146 147 148 149 151 | Used by:Timeline |
Symbol 153 Graphic | Used by:154 | |
Symbol 154 MovieClip | Uses:153 | Used by:Timeline |
Symbol 155 Graphic | Used by:156 | |
Symbol 156 MovieClip | Uses:155 | Used by:Timeline |
Symbol 157 Graphic | Used by:158 159 | |
Symbol 158 Button | Uses:157 | Used by:159 |
Symbol 159 MovieClip | Uses:157 158 | Used by:Timeline |
Symbol 160 Graphic | Uses:61 | Used by:Timeline |
Symbol 161 Graphic | Used by:165 | |
Symbol 162 Graphic | Used by:163 | |
Symbol 163 MovieClip | Uses:162 | Used by:165 |
Symbol 164 Graphic | Used by:165 | |
Symbol 165 MovieClip | Uses:161 163 164 | Used by:Timeline |
Symbol 166 Text | Uses:70 | Used by:167 |
Symbol 167 MovieClip | Uses:166 | Used by:Timeline |
Symbol 168 Sound | Used by:Timeline |
Instance Names
"sounds1" | Frame 14 | Symbol 130 MovieClip |
"game_over_explanation_MC" | Frame 14 | Symbol 136 MovieClip |
"game_stats" | Frame 14 | Symbol 152 MovieClip |
"points_MCA" | Frame 14 | Symbol 121 MovieClip |
"jewel_MCA" | Frame 14 | Symbol 121 MovieClip |
"board_button" | Frame 14 | Symbol 159 MovieClip |
"board_button" | Frame 14 | Symbol 159 MovieClip |
"no_more_moves" | Frame 16 | Symbol 165 MovieClip |
"cursor" | Symbol 119 MovieClip Frame 1 | Symbol 111 MovieClip |
"apple" | Symbol 120 MovieClip Frame 1 | Symbol 119 MovieClip |
"initPoints" | Symbol 121 MovieClip Frame 1 | Symbol 109 MovieClip |
"initJewel" | Symbol 121 MovieClip Frame 1 | Symbol 120 MovieClip |
"logo_switch" | Symbol 152 MovieClip Frame 1 | Symbol 139 MovieClip |
Special Tags
Protect (24) | Timeline Frame 1 | 0 bytes "" |
Labels
"testLoad" | Frame 2 |
"menu" | Frame 4 |
"loader" | Frame 4 |
"rules" | Frame 5 |
"scoring" | Frame 6 |
"hints" | Frame 8 |
"play" | Frame 14 |
"gameover" | Frame 16 |
"wait" | Frame 20 |
"sendaway" | Frame 24 |
"enderror" | Frame 31 |
"unselected" | Symbol 111 MovieClip Frame 1 |
"selected" | Symbol 111 MovieClip Frame 5 |
"Stop" | Symbol 130 MovieClip Frame 1 |
"click" | Symbol 130 MovieClip Frame 2 |
"gameover" | Symbol 130 MovieClip Frame 33 |
"hint" | Symbol 130 MovieClip Frame 98 |
"match" | Symbol 130 MovieClip Frame 125 |
"nomatch" | Symbol 130 MovieClip Frame 175 |
"pileup" | Symbol 130 MovieClip Frame 191 |
"tick" | Symbol 130 MovieClip Frame 303 |
"beginSound" | Symbol 130 MovieClip Frame 308 |
"bonus" | Symbol 130 MovieClip Frame 418 |
"inactive" | Symbol 159 MovieClip Frame 1 |
"active" | Symbol 159 MovieClip Frame 3 |
Dynamic Text Variables
_root.vChangeDisp | Symbol 132 EditableText | "" |
gameTimeString | Symbol 133 EditableText | "5:00" |
game_over_explanation | Symbol 134 EditableText | "You have run out of matches. The game will reset." |
score | Symbol 142 EditableText | "0" |
|