STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228088
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2561 · P5121

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/91718593?noj=FRM91718593-3DC" width="1" height="1"></div>

Twins Puzzle.swf

This is the info page for
Flash #30655

(Click the ID number above for more basic data on this flash file.)


Text
TWINS

START

START

START

High Scores

High Scores

High Scores

copyright 2004, Novel Games. All rights reserved.

Instructions

Match balls of the same colour as quick as possible.
Balls can be matched only if they can be connected
with a line which turns at most twice.

copyright 2004, Novel Games.
All rights reserved.

Time

Play Again?

YES

YES

YES

ActionScript [AS1/AS2]

Frame 1
stop(); _parent.titlePageShown();
Frame 2
stop(); _parent.instructionsPageShown();
Frame 3
function initialize() { var i; var j; var ballsPerType = ((dimensionX * dimensionY) / ballTypes); var ballTypeArray = new Array(); i = 0; while (i < ballTypes) { j = 0; while (j < ballsPerType) { ballTypeArray[ballTypeArray.length] = i; j++; } i++; } shuffleArray(ballTypeArray); i = 0; while (i < (dimensionX * dimensionY)) { ballsHolder.attachMovie("ball" + ballTypeArray[i], "ball" + i, i); balls[i] = eval ("ballsHolder.ball" + i); balls[i]._x = (i % dimensionX) * blockSize; balls[i]._y = Math.floor(i / dimensionX) * blockSize; balls[i].x = i % dimensionX; balls[i].y = Math.floor(i / dimensionX); balls[i].type = ballTypeArray[i]; i++; } beginTime = getTimer(); } function shuffleArray(array) { var i; var j; var temp; i = 0; while (i < array.length) { j = Math.floor(Math.random() * array.length); temp = array[i]; array[i] = array[j]; array[j] = temp; i++; } } function updateTime() { if (!gameStarted) { return(undefined); } time = getTimer() - beginTime; } function chooseBall(ball) { var line; if (!chosenBall) { chosenBall = ball; ball.gotoAndStop("chosen"); } else if ((line = getLine(chosenBall, ball))) { chosenBall.gotoAndStop("disappear"); ball.gotoAndStop("disappear"); drawLine(line, chosenBall, ball); chosenBall = null; soundMatch.start(); } else { chosenBall.gotoAndStop("normal"); chosenBall = ball; ball.gotoAndStop("chosen"); } soundClick.start(); } function unchooseBall(ball) { ball.gotoAndStop("normal"); chosenBall = null; soundClick.start(); } function getLine(ball1, ball2) { var i; var small; var large; var maxShift; if (!ball1) { return(null); } if (!ball2) { return(null); } if (ball1.type != ball2.type) { return(null); } if (ball1.x != ball2.x) { if (ball1.y < ball2.y) { small = ball1.y; large = ball2.y; } else { small = ball2.y; large = ball1.y; } i = small; while (i <= large) { if (!canConnect(ball1.x, ball1.y, ball1.x, i, ball2.x, i, ball2.x, ball2.y)) { } else { return(new Array(ball1.x, ball1.y, ball1.x, i, ball2.x, i, ball2.x, ball2.y)); } i++; } maxShift = (((dimensionY - large) > (small + 1)) ? (dimensionY - large) : (small + 1)); i = 1; while (i <= maxShift) { if (canConnect(ball1.x, ball1.y, ball1.x, small - i, ball2.x, small - i, ball2.x, ball2.y)) { return(new Array(ball1.x, ball1.y, ball1.x, small - i, ball2.x, small - i, ball2.x, ball2.y)); } if (canConnect(ball1.x, ball1.y, ball1.x, large + i, ball2.x, large + i, ball2.x, ball2.y)) { return(new Array(ball1.x, ball1.y, ball1.x, large + i, ball2.x, large + i, ball2.x, ball2.y)); } i++; } } if (ball1.y != ball2.y) { if (ball1.x < ball2.x) { small = ball1.x; large = ball2.x; } else { small = ball2.x; large = ball1.x; } i = small; while (i <= large) { if (!canConnect(ball1.x, ball1.y, i, ball1.y, i, ball2.y, ball2.x, ball2.y)) { } else { return(new Array(ball1.x, ball1.y, i, ball1.y, i, ball2.y, ball2.x, ball2.y)); } i++; } maxShift = (((dimensionY - large) > (small + 1)) ? (dimensionX - large) : (small + 1)); i = 1; while (i <= maxShift) { if (canConnect(ball1.x, ball1.y, small - i, ball1.y, small - i, ball2.y, ball2.x, ball2.y)) { return(new Array(ball1.x, ball1.y, small - i, ball1.y, small - i, ball2.y, ball2.x, ball2.y)); } if (canConnect(ball1.x, ball1.y, large + i, ball1.y, large + i, ball2.y, ball2.x, ball2.y)) { return(new Array(ball1.x, ball1.y, large + i, ball1.y, large + i, ball2.y, ball2.x, ball2.y)); } i++; } } return(null); } function canConnect(x1, y1, x2, y2, x3, y3, x4, y4) { if ((x1 != x2) || (y1 != y2)) { if ((((x2 >= 0) && (x2 < dimensionX)) && (y2 >= 0)) && (y2 < dimensionY)) { if (balls[(y2 * dimensionX) + x2]) { return(false); } } } if ((x3 != x4) || (y3 != y4)) { if ((((x3 >= 0) && (x3 < dimensionX)) && (y3 >= 0)) && (y3 < dimensionY)) { if (balls[(y3 * dimensionX) + x3]) { return(false); } } } if (!canConnectStraight(x1, y1, x2, y2)) { return(false); } if (!canConnectStraight(x2, y2, x3, y3)) { return(false); } if (!canConnectStraight(x3, y3, x4, y4)) { return(false); } return(true); } function canConnectStraight(x1, y1, x2, y2) { var i; var begin; var end; if (x1 != x2) { if ((y1 < 0) || (y1 >= dimensionY)) { return(true); } begin = ((x1 < x2) ? (x1 + 1) : (x2 + 1)); end = ((x1 < x2) ? (x2 - 1) : (x1 - 1)); i = begin; while (i <= end) { if (balls[(y1 * dimensionX) + i]) { return(false); } i++; } } else { if ((x1 < 0) || (x1 >= dimensionX)) { return(true); } begin = ((y1 < y2) ? (y1 + 1) : (y2 + 1)); end = ((y1 < y2) ? (y2 - 1) : (y1 - 1)); i = begin; while (i <= end) { if (balls[(i * dimensionX) + x1]) { return(false); } i++; } } return(true); } function drawLine(line, ball1, ball2) { var i; var noOfLines = ((line.length / 2) - 1); var xs = new Array(); var ys = new Array(); var theLine; if (!line) { return(undefined); } i = 0; while (i <= noOfLines) { xs[i] = line[i * 2]; ys[i] = line[(i * 2) + 1]; i++; } i = 0; while (i < noOfLines) { linesHolder.attachMovie("line", "line" + totalLines, totalLines); theLine = eval ("linesHolder.line" + totalLines); theLine._x = xs[i] * blockSize; theLine._y = ys[i] * blockSize; if (xs[i] != xs[i + 1]) { theLine._width = Math.abs((xs[i + 1] - xs[i]) * blockSize); if (xs[i + 1] < xs[i]) { theLine._xscale = -theLine._xscale; } } else { theLine._width = Math.abs((ys[i + 1] - ys[i]) * blockSize); if (ys[i + 1] < ys[i]) { theLine._xscale = -theLine._xscale; } theLine._rotation = 90; } if (i == 0) { theLine.ball1 = ball1; } if (i == (noOfLines - 1)) { theLine.ball2 = ball2; } totalLines++; i++; } } function removeBall(ball) { if (!ball) { return(undefined); } balls[(ball.y * dimensionX) + ball.x] = null; ball.removeMovieClip(); checkWin(); } function checkWin() { var i; i = 0; while (i < (dimensionX * dimensionY)) { if (balls[i]) { return(undefined); } i++; } gameOver(); } function gameOver() { gameStarted = false; score = baseScore - time; soundWin.start(); playAgainDialog.gotoAndStop(2); _parent.showEnter(score); } var dimensionX = 10; var dimensionY = 10; var blockSize = 30; var ballTypes = 10; var disappearFrames = 5; var baseScore = 100000; var balls = new Array(); var chosenBall = null; var totalLines = 0; var gameStarted = true; var beginTime = 0; var time = 0; var score = 0; var soundClick = new Sound(this); var soundMatch = new Sound(this); var soundWin = new Sound(this); soundClick.attachSound("clickSound"); soundMatch.attachSound("matchSound"); soundWin.attachSound("winSound"); stop(); _parent.gamePageShown(); initialize();
Instance of Symbol 27 MovieClip in Frame 3
onClipEvent (enterFrame) { _parent.updateTime(); }
Symbol 6 Button
on (press) { _parent._parent.chooseBall(this); }
Symbol 7 Button
on (press) { _parent._parent.unchooseBall(this); }
Symbol 8 MovieClip [ball1] Frame 1
var type; var x; var y; stop();
Symbol 8 MovieClip [ball1] Frame 8
stop();
Symbol 8 MovieClip [ball1] Frame 15
stop();
Symbol 10 MovieClip [ball2] Frame 1
var type; var x; var y; stop();
Symbol 10 MovieClip [ball2] Frame 8
stop();
Symbol 10 MovieClip [ball2] Frame 15
stop();
Symbol 12 MovieClip [ball3] Frame 1
var type; var x; var y; stop();
Symbol 12 MovieClip [ball3] Frame 8
stop();
Symbol 12 MovieClip [ball3] Frame 15
stop();
Symbol 14 MovieClip [ball4] Frame 1
var type; var x; var y; stop();
Symbol 14 MovieClip [ball4] Frame 8
stop();
Symbol 14 MovieClip [ball4] Frame 15
stop();
Symbol 16 MovieClip [ball5] Frame 1
var type; var x; var y; stop();
Symbol 16 MovieClip [ball5] Frame 8
stop();
Symbol 16 MovieClip [ball5] Frame 15
stop();
Symbol 18 MovieClip [ball6] Frame 1
var type; var x; var y; stop();
Symbol 18 MovieClip [ball6] Frame 8
stop();
Symbol 18 MovieClip [ball6] Frame 15
stop();
Symbol 20 MovieClip [ball7] Frame 1
var type; var x; var y; stop();
Symbol 20 MovieClip [ball7] Frame 8
stop();
Symbol 20 MovieClip [ball7] Frame 15
stop();
Symbol 22 MovieClip [ball8] Frame 1
var type; var x; var y; stop();
Symbol 22 MovieClip [ball8] Frame 8
stop();
Symbol 22 MovieClip [ball8] Frame 15
stop();
Symbol 24 MovieClip [ball9] Frame 1
var type; var x; var y; stop();
Symbol 24 MovieClip [ball9] Frame 8
stop();
Symbol 24 MovieClip [ball9] Frame 15
stop();
Symbol 26 MovieClip [ball0] Frame 1
var type; var x; var y; stop();
Symbol 26 MovieClip [ball0] Frame 8
stop();
Symbol 26 MovieClip [ball0] Frame 15
stop();
Symbol 28 MovieClip [line] Frame 1
function disappear() { count++; if (count >= _parent._parent.disappearFrames) { _parent._parent.removeBall(ball1); _parent._parent.removeBall(ball2); this.removeMovieClip(); return(undefined); } this._alpha = ((_parent._parent.disappearFrames - count) / _parent._parent.disappearFrames) * 100; ball1._alpha = ((_parent._parent.disappearFrames - count) / _parent._parent.disappearFrames) * 100; ball2._alpha = ((_parent._parent.disappearFrames - count) / _parent._parent.disappearFrames) * 100; } var ball1; var ball2; var count = -1;
Instance of Symbol 27 MovieClip in Symbol 28 MovieClip [line] Frame 1
onClipEvent (enterFrame) { _parent.disappear(); }
Symbol 39 Button
on (release) { nextFrame(); }
Symbol 44 Button
on (release) { _parent.showHighscores(); }
Symbol 61 Button
on (release) { _parent.gotoAndStop(1); }
Symbol 62 MovieClip Frame 1
stop();
Symbol 62 MovieClip Frame 2
stop();

Library Items

Symbol 1 Sound [clickSound]
Symbol 2 Sound [matchSound]
Symbol 3 Sound [winSound]
Symbol 4 GraphicUsed by:8
Symbol 5 GraphicUsed by:6 7 8 10 12 14 16 18 20 22 24 26 28
Symbol 6 ButtonUses:5Used by:8 10 12 14 16 18 20 22 24 26
Symbol 7 ButtonUses:5Used by:8 10 12 14 16 18 20 22 24 26
Symbol 8 MovieClip [ball1]Uses:4 6 5 7
Symbol 9 GraphicUsed by:10
Symbol 10 MovieClip [ball2]Uses:9 6 5 7
Symbol 11 GraphicUsed by:12
Symbol 12 MovieClip [ball3]Uses:11 6 5 7
Symbol 13 GraphicUsed by:14
Symbol 14 MovieClip [ball4]Uses:13 6 5 7
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip [ball5]Uses:15 6 5 7
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip [ball6]Uses:17 6 5 7
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClip [ball7]Uses:19 6 5 7
Symbol 21 GraphicUsed by:22
Symbol 22 MovieClip [ball8]Uses:21 6 5 7
Symbol 23 GraphicUsed by:24
Symbol 24 MovieClip [ball9]Uses:23 6 5 7
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClip [ball0]Uses:25 6 5 7
Symbol 27 MovieClipUsed by:28  Timeline
Symbol 28 MovieClip [line]Uses:5 27
Symbol 29 GraphicUsed by:Timeline
Symbol 30 GraphicUsed by:Timeline
Symbol 31 FontUsed by:32 48 55 57
Symbol 32 TextUses:31Used by:Timeline
Symbol 33 GraphicUsed by:Timeline
Symbol 34 FontUsed by:35 36 37 40 41 42 58 59 60
Symbol 35 TextUses:34Used by:39
Symbol 36 TextUses:34Used by:39
Symbol 37 TextUses:34Used by:39
Symbol 38 GraphicUsed by:39 61
Symbol 39 ButtonUses:35 36 37 38Used by:Timeline
Symbol 40 TextUses:34Used by:44
Symbol 41 TextUses:34Used by:44
Symbol 42 TextUses:34Used by:44
Symbol 43 GraphicUsed by:44
Symbol 44 ButtonUses:40 41 42 43Used by:Timeline
Symbol 45 FontUsed by:46 52
Symbol 46 TextUses:45Used by:Timeline
Symbol 47 GraphicUsed by:Timeline
Symbol 48 TextUses:31Used by:Timeline
Symbol 49 FontUsed by:50 54
Symbol 50 TextUses:49Used by:Timeline
Symbol 51 GraphicUsed by:Timeline
Symbol 52 TextUses:45Used by:Timeline
Symbol 53 GraphicUsed by:Timeline
Symbol 54 EditableTextUses:49Used by:Timeline
Symbol 55 TextUses:31Used by:Timeline
Symbol 56 GraphicUsed by:62
Symbol 57 TextUses:31Used by:62
Symbol 58 TextUses:34Used by:61
Symbol 59 TextUses:34Used by:61
Symbol 60 TextUses:34Used by:61
Symbol 61 ButtonUses:58 59 60 38Used by:62
Symbol 62 MovieClipUses:56 57 61Used by:Timeline

Instance Names

"ballsHolder"Frame 3Symbol 27 MovieClip
"linesHolder"Frame 3Symbol 27 MovieClip
"playAgainDialog"Frame 3Symbol 62 MovieClip

Special Tags

Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 1 as "clickSound"
ExportAssets (56)Timeline Frame 1Symbol 2 as "matchSound"
ExportAssets (56)Timeline Frame 1Symbol 3 as "winSound"
ExportAssets (56)Timeline Frame 1Symbol 8 as "ball1"
ExportAssets (56)Timeline Frame 1Symbol 10 as "ball2"
ExportAssets (56)Timeline Frame 1Symbol 12 as "ball3"
ExportAssets (56)Timeline Frame 1Symbol 14 as "ball4"
ExportAssets (56)Timeline Frame 1Symbol 16 as "ball5"
ExportAssets (56)Timeline Frame 1Symbol 18 as "ball6"
ExportAssets (56)Timeline Frame 1Symbol 20 as "ball7"
ExportAssets (56)Timeline Frame 1Symbol 22 as "ball8"
ExportAssets (56)Timeline Frame 1Symbol 24 as "ball9"
ExportAssets (56)Timeline Frame 1Symbol 26 as "ball0"
ExportAssets (56)Timeline Frame 1Symbol 28 as "line"

Labels

"normal"Symbol 8 MovieClip [ball1] Frame 1
"chosen"Symbol 8 MovieClip [ball1] Frame 8
"disappear"Symbol 8 MovieClip [ball1] Frame 15
"normal"Symbol 10 MovieClip [ball2] Frame 1
"chosen"Symbol 10 MovieClip [ball2] Frame 8
"disappear"Symbol 10 MovieClip [ball2] Frame 15
"normal"Symbol 12 MovieClip [ball3] Frame 1
"chosen"Symbol 12 MovieClip [ball3] Frame 8
"disappear"Symbol 12 MovieClip [ball3] Frame 15
"normal"Symbol 14 MovieClip [ball4] Frame 1
"chosen"Symbol 14 MovieClip [ball4] Frame 8
"disappear"Symbol 14 MovieClip [ball4] Frame 15
"normal"Symbol 16 MovieClip [ball5] Frame 1
"chosen"Symbol 16 MovieClip [ball5] Frame 8
"disappear"Symbol 16 MovieClip [ball5] Frame 15
"normal"Symbol 18 MovieClip [ball6] Frame 1
"chosen"Symbol 18 MovieClip [ball6] Frame 8
"disappear"Symbol 18 MovieClip [ball6] Frame 15
"normal"Symbol 20 MovieClip [ball7] Frame 1
"chosen"Symbol 20 MovieClip [ball7] Frame 8
"disappear"Symbol 20 MovieClip [ball7] Frame 15
"normal"Symbol 22 MovieClip [ball8] Frame 1
"chosen"Symbol 22 MovieClip [ball8] Frame 8
"disappear"Symbol 22 MovieClip [ball8] Frame 15
"normal"Symbol 24 MovieClip [ball9] Frame 1
"chosen"Symbol 24 MovieClip [ball9] Frame 8
"disappear"Symbol 24 MovieClip [ball9] Frame 15
"normal"Symbol 26 MovieClip [ball0] Frame 1
"chosen"Symbol 26 MovieClip [ball0] Frame 8
"disappear"Symbol 26 MovieClip [ball0] Frame 15

Dynamic Text Variables

timeSymbol 54 EditableText""




http://swfchan.com/7/30655/info.shtml
Created: 19/5 -2019 06:40:19 Last modified: 19/5 -2019 06:40:19 Server time: 03/05 -2024 12:49:02