Frame 17
com.novelgames.flashgames.common.MainDevelopment.initialize(this);
Symbol 2 Button
on (release) {
getURL ("http://www.arcadebomb.com", "_blank");
}
Symbol 7 MovieClip Frame 5
explodeFinished();
Symbol 21 MovieClip Frame 31
stop();
Symbol 24 MovieClip Frame 1
_parent.stop();
Symbol 24 MovieClip Frame 4
if ((_root.getBytesLoaded() / _root.getBytesTotal()) == 1) {
gotoAndPlay (5);
} else {
gotoAndPlay (1);
}
Symbol 24 MovieClip Frame 93
_parent.gotoAndStop("title");
Symbol 24 MovieClip Frame 94
stop();
Symbol 152 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Ball] Frame 0
class com.novelgames.flashgames.minigolf.Ball extends MovieClip
{
var x, y, blockX, blockY, speedX, speedY, accelerationX, accelerationY, _x, _parent, _y, _xscale, _yscale, lastMoveTime, ballStopped, ballStopTime;
function Ball () {
super();
}
function initialize(x, y) {
this.x = x;
this.y = y;
blockX = com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2;
blockY = com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2;
speedX = 0;
speedY = 0;
accelerationX = 0;
accelerationY = 0;
_x = (_parent.blocksHolder._x + (x * com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE)) + (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2);
_y = (_parent.blocksHolder._y + (y * com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE)) + (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2);
_xscale = 100;
_yscale = 100;
}
function startMoving(speedX, speedY) {
this.speedX = speedX;
this.speedY = speedY;
lastMoveTime = getTimer();
ballStopped = false;
}
function move(time) {
var _local2 = time - lastMoveTime;
var _local6;
var _local5;
var _local10;
var _local9;
var _local8;
var _local3;
var _local7;
_local6 = ((speedX * _local2) / 1000) + (((accelerationX * _local2) * _local2) / 2000000);
_local5 = ((speedY * _local2) / 1000) + (((accelerationY * _local2) * _local2) / 2000000);
_local10 = Math.floor(Math.abs(_local6) / com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) + 1;
_local9 = Math.floor(Math.abs(_local5) / com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) + 1;
_local8 = Math.max(_local10, _local9);
if (_local8 > 1) {
move(lastMoveTime + ((time - lastMoveTime) / _local8));
return(move(time));
}
_local3 = getBounceInfo(_x, _y, _x + _local6, _y + _local5);
if (_local3) {
_x = _local3.x;
_y = _local3.y;
_local2 = (time - lastMoveTime) * _local3.timeRatio;
} else {
_x = _x + _local6;
_y = _y + _local5;
}
x = Math.floor((_x - _parent.blocksHolder._x) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
y = Math.floor((_y - _parent.blocksHolder._y) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
blockX = (_x - _parent.blocksHolder._x) - _parent.blocks[x][y]._x;
blockY = (_y - _parent.blocksHolder._y) - _parent.blocks[x][y]._y;
speedX = speedX + ((accelerationX * _local2) / 1000);
speedY = speedY + ((accelerationY * _local2) / 1000);
if (_local3) {
_local7 = Math.sqrt((speedX * speedX) + (speedY * speedY)) * com.novelgames.flashgames.minigolf.Config.BALL_BOUNCESPEEDRETAIN;
speedX = _local7 * _local3.directionX;
speedY = _local7 * _local3.directionY;
}
updateAccelerations();
updateSpeedsByFriction(_local2);
lastMoveTime = lastMoveTime + _local2;
if ((Math.abs(_local6 / _local2) < com.novelgames.flashgames.minigolf.Config.BALL_NOTMOVETHRESHOLD) && (Math.abs(_local5 / _local2) < com.novelgames.flashgames.minigolf.Config.BALL_NOTMOVETHRESHOLD)) {
if (!ballStopped) {
ballStopped = true;
ballStopTime = lastMoveTime;
// unexpected jump
}
return((lastMoveTime - ballStopTime) < com.novelgames.flashgames.minigolf.Config.BALL_NOTMOVETIME);
} else {
ballStopped = false;
}
if (lastMoveTime < time) {
if (((_local2 == 0) && (Math.abs(speedX) < com.novelgames.flashgames.minigolf.Config.BALL_NOTMOVETHRESHOLD)) && (Math.abs(speedY) < com.novelgames.flashgames.minigolf.Config.BALL_NOTMOVETHRESHOLD)) {
return(false);
}
return(move(time));
}
return(true);
}
function updateAccelerations() {
accelerationX = 0;
accelerationY = 0;
switch (_parent.blocks[x][y].type) {
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFT :
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHT :
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEUP :
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEDOWN :
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTUPOUT :
if (blockX > blockY) {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTUPOUT :
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTDOWNOUT :
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTDOWNOUT :
if (blockX > blockY) {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEALLOUT :
if (blockX > blockY) {
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
} else if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTUPIN :
if (blockX > blockY) {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTUPIN :
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTDOWNIN :
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTDOWNIN :
if (blockX > blockY) {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEALLIN :
if (blockX > blockY) {
if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationY = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationX = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
} else if (blockX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE - blockY)) {
accelerationX = com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
} else {
accelerationY = -com.novelgames.flashgames.minigolf.Config.BALL_SLOPEACCELERATION;
}
}
}
function updateSpeedsByFriction(dTime) {
var _local2;
var _local3;
var _local4;
_local2 = Math.sqrt((speedX * speedX) + (speedY * speedY));
if (_local2 > 0) {
if (_parent.getBallIsAtHole()) {
_local3 = (com.novelgames.flashgames.minigolf.Config.BALL_HOLEDECELERATION * Math.abs(speedX)) / _local2;
_local4 = (com.novelgames.flashgames.minigolf.Config.BALL_HOLEDECELERATION * Math.abs(speedY)) / _local2;
} else {
_local3 = (com.novelgames.flashgames.minigolf.Config.BALL_LANDDECELERATION * Math.abs(speedX)) / _local2;
_local4 = (com.novelgames.flashgames.minigolf.Config.BALL_LANDDECELERATION * Math.abs(speedY)) / _local2;
}
if ((Math.abs(speedX) * 1000) < (_local3 * dTime)) {
speedX = 0;
} else {
speedX = speedX + (((((speedX > 0) ? -1 : 1) * _local3) * dTime) / 1000);
}
if ((Math.abs(speedY) * 1000) < (_local4 * dTime)) {
speedY = 0;
} else {
speedY = speedY + (((((speedY > 0) ? -1 : 1) * _local4) * dTime) / 1000);
}
}
}
function getBounceInfo(fromX, fromY, toX, toY) {
var _local4 = null;
var _local2 = null;
var _local12;
var _local13;
var _local7;
var _local6;
var _local5;
var _local3;
_local12 = Math.floor((Math.min(fromX, toX) - _parent.blocksHolder._x) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
_local13 = Math.floor((Math.max(fromX, toX) - _parent.blocksHolder._x) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
_local7 = Math.floor((Math.min(fromY, toY) - _parent.blocksHolder._y) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
_local6 = Math.floor((Math.max(fromY, toY) - _parent.blocksHolder._y) / com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE);
if (_local12 > 0) {
_local12--;
}
if (_local13 < (_parent.blocks.length - 1)) {
_local13++;
}
if (_local7 > 0) {
_local7--;
}
if (_local6 < (_parent.blocks[0].length - 1)) {
_local6++;
}
_local5 = _local12;
while (_local5 <= _local13) {
_local3 = _local7;
while (_local3 <= _local6) {
_local2 = getBlockBounceInfo(_parent.blocks[_local5][_local3], fromX, fromY, toX, toY);
if (!_local2) {
} else if ((!_local4) || (_local2.timeRatio < _local4.timeRatio)) {
_local4 = _local2;
}
_local3++;
}
_local5++;
}
return(_local4);
}
function getBlockBounceInfo(block, fromX, fromY, toX, toY) {
var _local2 = null;
var _local3;
var _local10;
var _local9;
if (block.type != com.novelgames.flashgames.minigolf.BlockInfo.TYPE_WALL) {
return(null);
}
fromX = fromX - (_parent.blocksHolder._x + block._x);
fromY = fromY - (_parent.blocksHolder._y + block._y);
toX = toX - (_parent.blocksHolder._x + block._x);
toY = toY - (_parent.blocksHolder._y + block._y);
if ((fromX <= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (toX > (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local3 = ((-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) - fromX) / (toX - fromX);
_local9 = (fromY * (1 - _local3)) + (toY * _local3);
if ((_local9 >= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (_local9 <= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local2 = new com.novelgames.flashgames.minigolf.BounceInfo();
_local2.x = (_parent.blocksHolder._x + block._x) - com.novelgames.flashgames.minigolf.Config.BALL_RADIUS;
_local2.y = (_parent.blocksHolder._y + block._y) + _local9;
fillDirection(_local2, fromX, fromY, toX, toY);
_local2.directionX = -_local2.directionX;
_local2.timeRatio = _local3;
return(_local2);
}
}
if ((fromY <= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (toY > (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local3 = ((-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) - fromY) / (toY - fromY);
_local10 = (fromX * (1 - _local3)) + (toX * _local3);
if ((_local10 >= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (_local10 <= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local2 = new com.novelgames.flashgames.minigolf.BounceInfo();
_local2.x = (_parent.blocksHolder._x + block._x) + _local10;
_local2.y = (_parent.blocksHolder._y + block._y) - com.novelgames.flashgames.minigolf.Config.BALL_RADIUS;
fillDirection(_local2, fromX, fromY, toX, toY);
_local2.directionY = -_local2.directionY;
_local2.timeRatio = _local3;
return(_local2);
}
}
if ((fromX >= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (toX < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local3 = ((fromX - com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE) - com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) / (fromX - toX);
_local9 = (fromY * (1 - _local3)) + (toY * _local3);
if ((_local9 >= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (_local9 <= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local2 = new com.novelgames.flashgames.minigolf.BounceInfo();
_local2.x = ((_parent.blocksHolder._x + block._x) + com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE) + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS;
_local2.y = (_parent.blocksHolder._y + block._y) + _local9;
fillDirection(_local2, fromX, fromY, toX, toY);
_local2.directionX = -_local2.directionX;
_local2.timeRatio = _local3;
return(_local2);
}
}
if ((fromY >= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (toY < (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local3 = ((fromY - com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE) - com.novelgames.flashgames.minigolf.Config.BALL_RADIUS) / (fromY - toY);
_local10 = (fromX * (1 - _local3)) + (toX * _local3);
if ((_local10 >= (-com.novelgames.flashgames.minigolf.Config.BALL_RADIUS)) && (_local10 <= (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS))) {
_local2 = new com.novelgames.flashgames.minigolf.BounceInfo();
_local2.x = (_parent.blocksHolder._x + block._x) + _local10;
_local2.y = ((_parent.blocksHolder._y + block._y) + com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE) + com.novelgames.flashgames.minigolf.Config.BALL_RADIUS;
fillDirection(_local2, fromX, fromY, toX, toY);
_local2.directionY = -_local2.directionY;
_local2.timeRatio = _local3;
return(_local2);
}
}
return(null);
}
function fillDirection(bounceInfo, fromX, fromY, toX, toY) {
var _local2 = toX - fromX;
var _local1 = toY - fromY;
var _local3 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
bounceInfo.directionX = _local2 / _local3;
bounceInfo.directionY = _local1 / _local3;
}
}
Symbol 153 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Config] Frame 0
class com.novelgames.flashgames.minigolf.Config
{
function Config () {
}
static var FIELD_LEFT = 0;
static var FIELD_TOP = 30;
static var FIELD_RIGHT = 600;
static var FIELD_BOTTOM = 400;
static var FIELD_BLOCKSIZE = 20;
static var FIELD_INFOS = [[3, "000000000000003333333\n000000000000003333333\n000000000000003333333\n000000000000003332333\n000000000000003333333\n000000000000003333333\n000000000000003333333\n333333333333333333333\n333333333333333333333\n333333333333333333333\n333133333333333333333\n333333333333333333333\n333333333333333333333\n333333333333333333333\n"], [5, "33333334333333333333333\n33313334333333333333333\n33333334333333333333333\n33333334333333333333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333334333333343333333\n33333333333333343333333\n33333333333333343333333\n33333333333333343332333\n33333333333333343333333\n"], [3, "3333355555555553333333\n3133355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333333\n3333355555555553333323\n3333355555555553333333\n"], [6, "333555555555555555333\n333555555555555555333\n313555555555555555333\n333555555555555555333\n333555555555555555333\n444444444444444444333\n333666666666666666333\n333666666666666666333\n323666666666666666333\n333666666666666666333\n333666666666666666333\n"], [6, "H88888888888G000000\n6H888888888G5000000\n66H8888888G55000000\n666H88888G555000000\n6666H888G5555000000\n66666H8G55555000000\n6666661555555033333\n66666F7E55555033233\n6666F777E5555033333\n666F77777E555033333\n66F7777777E55033333\n6F777777777E5333333\nF77777777777E000000\n"], [8, "000000000003333343333333\n000000000003333343333333\n000000000003333343333333\n000000000003433333334333\n000000000002433333334333\n000000000003433333334333\n000000000003444444444333\n333555555553666666666333\n313555555553666666666333\n333555555553666666666333\n"], [8, "3333333334333333343333333333\n3133333343334334333333334333\n3333333333333333333433333333\n4333343333343333343333343333\n3333333333333333333333333343\n3334333334333433433343334333\n4333333343333333333333333333\n3334333333333343333433343333\n3333333333333333333333333333\n3334333343333433333333433333\n4333333333333333334333333344\n3333333433343333333333333333\n3334333333333334333333433343\n3333333343333333333333333333\n3334333333334333343333343323\n3334333333333433333433333333\n"], [6, "1333333333333\n39777777777A3\n3597777777A63\n355977777A663\n35559777A6663\n3555597A66663\n3555552666663\n35555B8C66663\n3555B888C6663\n355B88888C663\n35B8888888C63\n3B888888888C3\n3333333333333\n"], [10, "3333333333333333338888888\n3133333333333333338888888\n3333333333333333338888888\n7770000000000000008888888\n7770000000000000008888888\n7770000000000000008888888\n7770000000000000008882888\n7770000000000000008888888\n7775555555555555555555555\n7775555555555555555555555\n7775555555555555555555555\n"]];
static var BALL_RADIUS = 7;
static var BALL_MAXSHOOTSPEED = 1000;
static var BALL_MAXARROWLENGTH = 100;
static var BALL_LANDDECELERATION = 500;
static var BALL_HOLEDECELERATION = 5000;
static var BALL_SLOPEACCELERATION = 800;
static var BALL_ATHOLESCALE = 60;
static var BALL_DROPHOLETIME = 100;
static var BALL_NOTMOVETHRESHOLD = 0.02;
static var BALL_NOTMOVETIME = 500;
static var BALL_BOUNCESPEEDRETAIN = 0.7;
static var HOLE_RADIUS = 9;
static var MESSAGE_HOLETIME = 1500;
static var SCORE_PAR = 1000;
static var SCORE_BIRDIE = 2000;
static var SCORE_EAGLE = 3000;
static var SCORE_TURKEY = 4000;
static var SCORE_OSPREY = 5000;
static var SCORE_OSTRICH = 6000;
static var SCORE_GOOD = 7000;
}
Symbol 154 MovieClip [__Packages.com.novelgames.flashgames.minigolf.BounceInfo] Frame 0
class com.novelgames.flashgames.minigolf.BounceInfo
{
function BounceInfo () {
}
}
Symbol 155 MovieClip [__Packages.com.novelgames.flashgames.minigolf.BlockInfo] Frame 0
class com.novelgames.flashgames.minigolf.BlockInfo
{
var x, y, type;
function BlockInfo (typeText, x, y) {
this.x = x;
this.y = y;
switch (typeText) {
case "0" :
type = TYPE_BLANK;
break;
case "1" :
type = TYPE_BALL;
break;
case "2" :
type = TYPE_HOLE;
break;
case "3" :
type = TYPE_LAND;
break;
case "4" :
type = TYPE_WALL;
break;
case "5" :
type = TYPE_SLOPELEFT;
break;
case "6" :
type = TYPE_SLOPERIGHT;
break;
case "7" :
type = TYPE_SLOPEUP;
break;
case "8" :
type = TYPE_SLOPEDOWN;
break;
case "9" :
type = TYPE_SLOPELEFTUPOUT;
break;
case "A" :
type = TYPE_SLOPERIGHTUPOUT;
break;
case "B" :
type = TYPE_SLOPELEFTDOWNOUT;
break;
case "C" :
type = TYPE_SLOPERIGHTDOWNOUT;
break;
case "D" :
type = TYPE_SLOPEALLOUT;
break;
case "E" :
type = TYPE_SLOPELEFTUPIN;
break;
case "F" :
type = TYPE_SLOPERIGHTUPIN;
break;
case "G" :
type = TYPE_SLOPELEFTDOWNIN;
break;
case "H" :
type = TYPE_SLOPERIGHTDOWNIN;
break;
case "I" :
type = TYPE_SLOPEALLIN;
break;
default :
type = TYPE_BLANK;
}
}
function getIsBlankOrWall() {
return((type == TYPE_BLANK) || (type == TYPE_WALL));
}
static var TYPE_BLANK = 0;
static var TYPE_BALL = 1;
static var TYPE_HOLE = 2;
static var TYPE_LAND = 3;
static var TYPE_SLOPELEFT = 4;
static var TYPE_SLOPERIGHT = 5;
static var TYPE_SLOPEUP = 6;
static var TYPE_SLOPEDOWN = 7;
static var TYPE_SLOPELEFTUPOUT = 8;
static var TYPE_SLOPERIGHTUPOUT = 9;
static var TYPE_SLOPELEFTDOWNOUT = 10;
static var TYPE_SLOPERIGHTDOWNOUT = 11;
static var TYPE_SLOPEALLOUT = 12;
static var TYPE_SLOPELEFTUPIN = 13;
static var TYPE_SLOPERIGHTUPIN = 14;
static var TYPE_SLOPELEFTDOWNIN = 15;
static var TYPE_SLOPERIGHTDOWNIN = 16;
static var TYPE_SLOPEALLIN = 17;
static var TYPE_WALL = 18;
}
Symbol 156 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Block] Frame 0
class com.novelgames.flashgames.minigolf.Block extends MovieClip
{
var stop, type, x, y, _x, _y, gotoAndStop;
function Block () {
super();
(stop());// not popped
}
function initialize(blockInfo) {
type = blockInfo.type;
x = blockInfo.x;
y = blockInfo.y;
_x = x * com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE;
_y = y * com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE;
switch (type) {
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_BALL :
(gotoAndStop("ball"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_HOLE :
(gotoAndStop("hole"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_LAND :
(gotoAndStop("land"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFT :
(gotoAndStop("slopeL"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHT :
(gotoAndStop("slopeR"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEUP :
(gotoAndStop("slopeU"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEDOWN :
(gotoAndStop("slopeD"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTUPOUT :
(gotoAndStop("slopeLUO"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTUPOUT :
(gotoAndStop("slopeRUO"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTDOWNOUT :
(gotoAndStop("slopeLDO"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTDOWNOUT :
(gotoAndStop("slopeRDO"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEALLOUT :
(gotoAndStop("slopeAO"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTUPIN :
(gotoAndStop("slopeLUI"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTUPIN :
(gotoAndStop("slopeRUI"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPELEFTDOWNIN :
(gotoAndStop("slopeLDI"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPERIGHTDOWNIN :
(gotoAndStop("slopeRDI"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_SLOPEALLIN :
(gotoAndStop("slopeAI"));// not popped
break;
case com.novelgames.flashgames.minigolf.BlockInfo.TYPE_WALL :
(gotoAndStop("wall"));// not popped
}
}
}
Symbol 157 MovieClip [__Packages.com.novelgames.flashgames.common.MuteButton] Frame 0
class com.novelgames.flashgames.common.MuteButton extends MovieClip
{
var gotoAndStop;
function MuteButton () {
super();
if (com.novelgames.flashgames.common.NewSound.getIsMuteAll()) {
showOff();
} else {
showOn();
}
}
function onPress() {
if (com.novelgames.flashgames.common.NewSound.getIsMuteAll()) {
com.novelgames.flashgames.common.NewSound.unmuteAll();
showOn();
} else {
com.novelgames.flashgames.common.NewSound.muteAll();
showOff();
}
}
function showOff() {
(gotoAndStop("off"));// not popped
}
function showOn() {
(gotoAndStop("on"));// not popped
}
}
Symbol 158 MovieClip [__Packages.com.novelgames.flashgames.common.NewSound] Frame 0
class com.novelgames.flashgames.common.NewSound extends Sound
{
var attachSound, setVolume, target, symbolName;
function NewSound (target, symbolName) {
super(target);
var _local3;
attachSound(symbolName);
setVolume(volumeAll);
this.target = target;
this.symbolName = symbolName;
sounds.push(this);
_local3 = 0;
while (_local3 < sounds.length) {
if (sounds[_local3] == this) {
} else if ((sounds[_local3].target == target) && (sounds[_local3].symbolName == symbolName)) {
sounds.splice(_local3, 1);
_local3--;
}
_local3++;
}
}
static function setVolumeAll(volume) {
var _local1;
volumeAll = volume;
_local1 = 0;
while (_local1 < sounds.length) {
sounds[_local1].setVolume(volume);
_local1++;
}
}
static function muteAll() {
setVolumeAll(0);
}
static function unmuteAll() {
setVolumeAll(100);
}
static function getIsMuteAll() {
return(volumeAll == 0);
}
static var sounds = new Array();
static var volumeAll = 100;
}
Symbol 159 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Message] Frame 0
class com.novelgames.flashgames.minigolf.Message extends MovieClip
{
var stop, hole, gotoAndStop, resultText, parTexts, shotsTexts, onMouseDown, playAgainButton, _parent;
function Message () {
super();
(stop());// not popped
}
function showHole(hole) {
this.hole = hole;
(gotoAndStop("hole"));// not popped
}
function showResult(par, shots, holeShots) {
var _local4 = shots - par;
var _local2;
(gotoAndStop("result"));// not popped
if (shots == 1) {
resultText.gotoAndStop("holeInOne");
} else {
switch (_local4) {
case 0 :
resultText.gotoAndStop("par");
break;
case -1 :
resultText.gotoAndStop("birdie");
break;
case -2 :
resultText.gotoAndStop("eagle");
break;
case -3 :
resultText.gotoAndStop("turkey");
break;
case -4 :
resultText.gotoAndStop("osprey");
break;
case -5 :
resultText.gotoAndStop("ostrich");
break;
case 1 :
resultText.gotoAndStop("bogey");
break;
case 2 :
resultText.gotoAndStop("doubleBogey");
break;
default :
if (_local4 <= 0) {
} else {
}
resultText.gotoAndStop("good");
}
}
parTexts = new Array();
shotsTexts = new Array();
_local2 = 0;
while (_local2 < com.novelgames.flashgames.minigolf.Config.FIELD_INFOS.length) {
parTexts[_local2] = this["parText" + _local2];
shotsTexts[_local2] = this["shotsText" + _local2];
parTexts[_local2].text = com.novelgames.flashgames.minigolf.Config.FIELD_INFOS[_local2][0];
if (_local2 >= holeShots.length) {
} else {
(holeShots[_local2]);// not popped
}
shotsTexts[_local2].text = "";
_local2++;
}
onMouseDown = hideResult;
}
function showPlayAgain() {
(gotoAndStop("playAgain"));// not popped
playAgainButton.onRelease = function () {
this._parent._parent._parent.gotoTitlePage();
};
}
function hide() {
(gotoAndStop("hide"));// not popped
}
function hideResult() {
onMouseDown = null;
_parent.startNextHole();
}
}
Symbol 160 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Game] Frame 0
class com.novelgames.flashgames.minigolf.Game extends MovieClip
{
var score, holeShots, message, ball, soundShoot, soundHole, blocks, currentHole, _parent, par, shots, intervalID, blocksHolder, arrow, onMouseMove, onMouseDown, startDropTime;
function Game () {
super();
score = 0;
holeShots = new Array();
message.__proto__ = com.novelgames.flashgames.minigolf.Message.prototype;
ball.__proto__ = com.novelgames.flashgames.minigolf.Ball.prototype;
soundShoot = new com.novelgames.flashgames.common.NewSound(this, "soundShoot");
soundHole = new com.novelgames.flashgames.common.NewSound(this, "soundHole");
startHole(1);
}
function getBallIsAtHole() {
var _local3;
var _local2;
if (blocks[ball.x][ball.y].type != com.novelgames.flashgames.minigolf.BlockInfo.TYPE_HOLE) {
return(false);
}
_local3 = ball.blockX - (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2);
_local2 = ball.blockY - (com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2);
return(((_local3 * _local3) + (_local2 * _local2)) < (com.novelgames.flashgames.minigolf.Config.HOLE_RADIUS * com.novelgames.flashgames.minigolf.Config.HOLE_RADIUS));
}
function startNextHole() {
if (currentHole >= com.novelgames.flashgames.minigolf.Config.FIELD_INFOS.length) {
message.showPlayAgain();
_parent.showEnterHighScore(score);
} else {
startHole(currentHole + 1);
}
}
function startHole(hole) {
var _local4;
var _local3;
var _local2;
currentHole = hole;
par = com.novelgames.flashgames.minigolf.Config.FIELD_INFOS[hole - 1][0];
shots = 0;
createBlocks(com.novelgames.flashgames.minigolf.Config.FIELD_INFOS[hole - 1][1]);
_local4 = false;
_local3 = 0;
while (_local3 < blocks.length) {
_local2 = 0;
while (_local2 < blocks[_local3].length) {
if (blocks[_local3][_local2].type == com.novelgames.flashgames.minigolf.BlockInfo.TYPE_BALL) {
_local4 = true;
break;
}
_local2++;
}
if (_local4) {
break;
}
_local3++;
}
ball.initialize(_local3, _local2);
message.showHole(hole);
intervalID = setInterval(this, "startAim", com.novelgames.flashgames.minigolf.Config.MESSAGE_HOLETIME);
}
function createBlocks(infoText) {
var _local4;
var _local5;
var _local7;
var _local6;
var _local8;
var _local3;
var _local2;
_local4 = createBlockInfos(infoText);
surroundFieldWithWalls(_local4);
_local3 = 0;
while (_local3 < blocks.length) {
_local2 = 0;
while (_local2 < blocks[_local3].length) {
blocks[_local3][_local2].removeMovieClip();
_local2++;
}
_local3++;
}
blocks = new Array(_local4.length);
_local3 = 0;
while (_local3 < _local4.length) {
blocks[_local3] = new Array(_local4[_local3].length);
_local2 = 0;
while (_local2 < _local4[_local3].length) {
if (_local4[_local3][_local2].type == com.novelgames.flashgames.minigolf.BlockInfo.TYPE_BLANK) {
} else {
_local5 = blocksHolder.getNextHighestDepth();
_local7 = blocksHolder.attachMovie("block", "block" + _local5, _local5);
_local6 = _local7;
_local6.initialize(_local4[_local3][_local2]);
blocks[_local3][_local2] = _local6;
}
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < blocks.length) {
_local2 = 0;
while (_local2 < blocks[_local3].length) {
if (!blocks[_local3][_local2]) {
} else if (blocks[_local3][_local2].type != com.novelgames.flashgames.minigolf.BlockInfo.TYPE_WALL) {
} else {
blocks[_local3][_local2].swapDepths(blocksHolder.getNextHighestDepth());
}
_local2++;
}
_local3++;
}
_local8 = blocksHolder.getBounds(blocksHolder);
blocksHolder._x = (com.novelgames.flashgames.minigolf.Config.FIELD_LEFT + (((com.novelgames.flashgames.minigolf.Config.FIELD_RIGHT - com.novelgames.flashgames.minigolf.Config.FIELD_LEFT) - (_local8.xMax - _local8.xMin)) / 2)) - _local8.xMin;
blocksHolder._y = (com.novelgames.flashgames.minigolf.Config.FIELD_TOP + (((com.novelgames.flashgames.minigolf.Config.FIELD_BOTTOM - com.novelgames.flashgames.minigolf.Config.FIELD_TOP) - (_local8.yMax - _local8.yMin)) / 2)) - _local8.yMin;
}
function createBlockInfos(infoText) {
var _local5;
var _local3;
var _local4;
var _local6;
var _local1;
var _local2;
_local4 = 0;
_local3 = infoText.split(newline);
_local1 = 0;
while (_local1 < _local3.length) {
if (_local3[_local1].length == 0) {
_local3.splice(_local1, 1);
_local1--;
} else if (_local3[_local1].length > _local4) {
_local4 = _local3[_local1].length;
}
_local1++;
}
_local6 = _local3.length;
_local5 = new Array(_local4);
_local1 = 0;
while (_local1 < _local4) {
_local5[_local1] = new Array(_local6);
_local2 = 0;
while (_local2 < _local6) {
_local5[_local1][_local2] = new com.novelgames.flashgames.minigolf.BlockInfo(_local3[_local2].charAt(_local1), _local1, _local2);
_local2++;
}
_local1++;
}
return(_local5);
}
function surroundFieldWithWalls(blockInfos) {
var _local5;
var _local6;
var _local4;
var _local1;
var _local2;
_local1 = 0;
while (_local1 < blockInfos.length) {
_local2 = 0;
while (_local2 < blockInfos[_local1].length) {
blockInfos[_local1][_local2].x++;
blockInfos[_local1][_local2].y++;
_local2++;
}
_local1++;
}
_local1 = 0;
while (_local1 < blockInfos.length) {
_local5 = new com.novelgames.flashgames.minigolf.BlockInfo(null, _local1 + 1, 0);
blockInfos[_local1].unshift(_local5);
_local5 = new com.novelgames.flashgames.minigolf.BlockInfo(null, _local1 + 1, blockInfos[_local1].length);
blockInfos[_local1].push(_local5);
_local1++;
}
_local6 = new Array(blockInfos[0].length);
_local1 = 0;
while (_local1 < _local6.length) {
_local5 = new com.novelgames.flashgames.minigolf.BlockInfo(null, 0, _local1);
_local6[_local1] = _local5;
_local1++;
}
blockInfos.unshift(_local6);
_local6 = new Array(blockInfos[0].length);
_local1 = 0;
while (_local1 < _local6.length) {
_local5 = new com.novelgames.flashgames.minigolf.BlockInfo(null, blockInfos.length, _local1);
_local6[_local1] = _local5;
_local1++;
}
blockInfos.push(_local6);
_local1 = 0;
while (_local1 < blockInfos.length) {
_local2 = 0;
while (_local2 < blockInfos[_local1].length) {
if (blockInfos[_local1][_local2].type != com.novelgames.flashgames.minigolf.BlockInfo.TYPE_BLANK) {
} else {
_local4 = false;
if (((_local1 > 0) && (_local2 > 0)) && (!blockInfos[_local1 - 1][_local2 - 1].getIsBlankOrWall())) {
_local4 = true;
}
if ((_local2 > 0) && (!blockInfos[_local1][_local2 - 1].getIsBlankOrWall())) {
_local4 = true;
}
if (((_local1 < (blockInfos.length - 1)) && (_local2 > 0)) && (!blockInfos[_local1 + 1][_local2 - 1].getIsBlankOrWall())) {
_local4 = true;
}
if ((_local1 > 0) && (!blockInfos[_local1 - 1][_local2].getIsBlankOrWall())) {
_local4 = true;
}
if ((_local1 < (blockInfos.length - 1)) && (!blockInfos[_local1 + 1][_local2].getIsBlankOrWall())) {
_local4 = true;
}
if (((_local1 > 0) && (_local2 < (blockInfos[_local1].length - 1))) && (!blockInfos[_local1 - 1][_local2 + 1].getIsBlankOrWall())) {
_local4 = true;
}
if ((_local2 < (blockInfos[_local1].length - 1)) && (!blockInfos[_local1][_local2 + 1].getIsBlankOrWall())) {
_local4 = true;
}
if (((_local1 < (blockInfos.length - 1)) && (_local2 < (blockInfos[_local1].length - 1))) && (!blockInfos[_local1 + 1][_local2 + 1].getIsBlankOrWall())) {
_local4 = true;
}
if (_local4) {
blockInfos[_local1][_local2].type = com.novelgames.flashgames.minigolf.BlockInfo.TYPE_WALL;
}
}
_local2++;
}
_local1++;
}
}
function startAim() {
clearInterval(intervalID);
message.hide();
arrow._x = ball._x;
arrow._y = ball._y;
arrow._visible = true;
arrow.update();
onMouseMove = onAimMouseMove;
onMouseDown = onAimMouseDown;
}
function onAimMouseMove() {
arrow.update();
updateAfterEvent();
}
function onAimMouseDown() {
var _local2 = (com.novelgames.flashgames.minigolf.Config.BALL_MAXSHOOTSPEED * arrow.length) / com.novelgames.flashgames.minigolf.Config.BALL_MAXARROWLENGTH;
shots++;
ball.startMoving(_local2 * Math.cos((arrow._rotation * Math.PI) / 180), _local2 * Math.sin((arrow._rotation * Math.PI) / 180));
arrow._visible = false;
onMouseMove = null;
onMouseDown = null;
soundShoot.start();
intervalID = setInterval(this, "onMoveTime", 1);
}
function onMoveTime() {
var _local2 = getTimer();
var _local3;
_local3 = ball.move(_local2);
if (getBallIsAtHole()) {
if ((ball.speedX == 0) && (ball.speedY == 0)) {
dropBallToHole();
}
} else if (!_local3) {
startAim();
}
updateAfterEvent();
}
function dropBallToHole() {
clearInterval(intervalID);
startDropTime = getTimer();
soundHole.start();
intervalID = setInterval(this, "onDropTime", 1);
}
function onDropTime() {
var _local3 = getTimer() - startDropTime;
var _local2;
var _local4;
if (_local3 >= com.novelgames.flashgames.minigolf.Config.BALL_DROPHOLETIME) {
showResult();
} else {
_local2 = _local3 / com.novelgames.flashgames.minigolf.Config.BALL_DROPHOLETIME;
ball._x = ((blocksHolder._x + blocks[ball.x][ball.y]._x) + (ball.blockX * (1 - _local2))) + ((com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2) * _local2);
ball._y = ((blocksHolder._y + blocks[ball.x][ball.y]._y) + (ball.blockY * (1 - _local2))) + ((com.novelgames.flashgames.minigolf.Config.FIELD_BLOCKSIZE / 2) * _local2);
_local4 = (100 * (1 - _local2)) + (com.novelgames.flashgames.minigolf.Config.BALL_ATHOLESCALE * _local2);
ball._xscale = _local4;
ball._yscale = _local4;
}
updateAfterEvent();
}
function showResult() {
var _local2 = shots - par;
clearInterval(intervalID);
switch (_local2) {
case 0 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_PAR;
break;
case -1 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_BIRDIE;
break;
case -2 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_EAGLE;
break;
case -3 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_TURKEY;
break;
case -4 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_OSPREY;
break;
case -5 :
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_OSTRICH;
break;
default :
if (_local2 >= 0) {
break;
}
score = score + com.novelgames.flashgames.minigolf.Config.SCORE_GOOD;
}
holeShots[currentHole - 1] = shots;
message.showResult(par, shots, holeShots);
}
}
Symbol 161 MovieClip [__Packages.com.novelgames.flashgames.minigolf.Arrow] Frame 0
class com.novelgames.flashgames.minigolf.Arrow extends MovieClip
{
var _rotation, _ymouse, _xmouse, length, mask;
function Arrow () {
super();
}
function update() {
_rotation = _rotation + ((Math.atan2(-_ymouse, -_xmouse) * 180) / Math.PI);
if (_xmouse < (-com.novelgames.flashgames.minigolf.Config.BALL_MAXARROWLENGTH)) {
length = com.novelgames.flashgames.minigolf.Config.BALL_MAXARROWLENGTH;
} else {
length = -_xmouse;
}
mask._x = -length;
}
}
Symbol 162 MovieClip [__Packages.com.novelgames.flashgames.common.MainDevelopment] Frame 0
class com.novelgames.flashgames.common.MainDevelopment extends MovieClip
{
var gotoAndStop, startButton, highScoresButton, moreGamesButton;
function MainDevelopment () {
super();
}
static function initialize(movieClip) {
movieClip.__proto__ = com.novelgames.flashgames.common.MainDevelopment.prototype;
movieClip.gotoTitlePage();
}
function gotoTitlePage() {
(gotoAndStop("title"));// not popped
startButton.onRelease = function () {
this._parent.gotoInstructionsPage();
};
highScoresButton.onRelease = function () {
this._parent.showHighScores();
};
moreGamesButton.onRelease = function () {
this._parent.getURL("http://www.arcadebomb.com", "_blank");
};
}
function gotoInstructionsPage() {
(gotoAndStop("instructions"));// not popped
startButton.onRelease = function () {
this._parent.gotoGamePage();
};
}
function gotoGamePage() {
(gotoAndStop("game"));// not popped
}
function showHighScores() {
trace("showHighScores()");
}
function showEnterHighScore(score) {
trace(("showEnterHighScore(" + score) + ")");
}
}
Symbol 28 MovieClip [arrow] Frame 1
#initclip 17
Object.registerClass("arrow", com.novelgames.flashgames.minigolf.Arrow);
#endinitclip
Symbol 31 MovieClip [ball] Frame 1
#initclip 12
Object.registerClass("ball", com.novelgames.flashgames.minigolf.Ball);
#endinitclip
Symbol 52 MovieClip [block] Frame 1
#initclip 13
Object.registerClass("block", com.novelgames.flashgames.minigolf.Block);
#endinitclip
Symbol 61 MovieClip [muteButton] Frame 1
#initclip 14
Object.registerClass("muteButton", com.novelgames.flashgames.common.MuteButton);
#endinitclip
Symbol 133 MovieClip [message] Frame 1
#initclip 15
Object.registerClass("message", com.novelgames.flashgames.minigolf.Message);
#endinitclip
Symbol 134 MovieClip [game] Frame 1
#initclip 16
Object.registerClass("game", com.novelgames.flashgames.minigolf.Game);
#endinitclip