Instance of Symbol 61 MovieClip in Frame 1
onClipEvent (load) {
b = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
l = _root.getBytesLoaded();
p = Math.floor((l / b) * 100);
text = p;
timeLine._width = (360 * p) / 100;
if (l >= b) {
_root.gotoAndStop("menu");
}
}
Frame 2
function init() {
loadSettings();
state = stStop;
unSelect();
gameDownload.url = DownloadURL;
bonus_mc.points_lbl.text = bonusCost;
bonus_mc.points_lbl.type = "static";
_root.globalMusicID = game.cMusic.addStream("mus_gameplay");
game.cMusic.play(_root.globalMusicID, 0, 999);
game.cMusic.soundOff();
fmusic = !fmusic;
musicOnOff();
soundColor();
if (!fshowIntro) {
_root.w_pregame.intro_btn._visible = true;
} else {
_root.w_pregame.intro_btn._visible = false;
}
ball = new cBall(_root.ball_mc);
beam = new cBeam(_root.lBeam, _root.rBeam);
}
function initGame() {
level = -1;
gameSpeed = startSpeed;
scores = 0;
bonusCount = 0;
bns_power._x = -100;
bns_size._x = -100;
bns_points._x = -100;
_root.level_lbl.text = "1.0";
_root.scores_lbl.text = "0";
if (fshowIntro) {
showIntro();
} else {
skipIntro();
}
}
function showBuilderMovie() {
level++;
changeBucketColor();
fmovie = true;
builder_mc._visible = true;
builder_mc.play();
}
function initStage() {
tempScores = 0;
elapsed = 0;
_root.level_lbl.text = ((Math.floor(level / 10) + 1) add ".") add (level % 10);
fchange = false;
fgot = false;
fpower = false;
fsize = false;
fpoints = false;
fcd = false;
bns_power._x = -100;
bns_size._x = -100;
bns_points._x = -100;
ball.start(gameSpeed);
beam.newPos();
ball.mc._visible = true;
state = stPlay;
startTimer();
play();
}
function changeBucketColor() {
ball.mc.gotoAndStop((Math.floor(level / 10) % 5) + 1);
builder_mc.bucket.gotoAndStop((Math.floor(level / 10) % 5) + 1);
}
function startTimer() {
startTime = getTimer();
}
function checkTime() {
if (state != stPlay) {
return(undefined);
}
_root.elapsed = getTimer() - _root.startTime;
_root.scores_lbl.text = (Math.floor(_root.elapsed / 10) + scores) + tempScores;
if ((Math.floor(_root.elapsed / 1000) % _root.countAmount) == 0) {
if (!fchange) {
incLevel();
}
fchange = true;
} else {
fchange = false;
}
if ((ball.state == cBall.stPower) && (_root.elapsed > _root.powerTime)) {
fpower = false;
ball.unmake();
}
if ((ball.state == cBall.stSize) && (_root.elapsed > _root.sizeTime)) {
fsize = false;
ball.unmake();
}
}
function keyListen() {
if (state == stPlay) {
if (Key.isDown(37)) {
ball.moveLeft();
}
if (Key.isDown(39)) {
ball.moveRight();
}
}
}
function ready() {
if (((state == stStop) && (Key.getAscii() == 13)) && (fnextLevel)) {
trace("ready");
w_prompt._visible = false;
ignoreUser = false;
nextStage();
}
}
function pause() {
if (state == stPlay) {
state = stPause;
if (elapsed > 1) {
tempScores = tempScores + Math.floor(elapsed / 10);
}
if (ball.state == cBall.stPower) {
powerTime = powerTime - elapsed;
}
if (ball.state == cBall.stSize) {
sizeTime = sizeTime - elapsed;
}
playSound("snd_pause");
showPrompt("game paused", pause);
} else if (state == stPause) {
w_prompt._visible = false;
state = stPlay;
startTimer();
}
}
function checkPos() {
if (ball.mc._y < ball.mc._height) {
gameOver();
} else if (((beam.leftBeam._y - ball.mc._y) <= (((ball.mc._height / 2) + (beam.leftBeam._height / 2)) + 7)) && ((beam.leftBeam._y - ball.mc._y) > (((ball.mc._height / 2) + (beam.leftBeam._height / 2)) - 7))) {
if ((beam.kind == cBeam.stSoft) && (ball.state == cBall.stPower)) {
return(undefined);
}
if ((beam.leftBeam._x > ((ball.mc._x - ball.halfWidth) + 10)) || (beam.rightBeam._x < ((ball.mc._x + ball.halfWidth) - 10))) {
if ((!fgot) || (ball.state == cBall.stPower)) {
fgot = true;
ball.dy = -1;
ball.speed = level;
ball.mc._y = (beam.leftBeam._y - (ball.mc._height / 2)) - (beam.leftBeam._height / 2);
}
} else {
fgot = false;
if (!ball.ffloor) {
ball.dy = 1;
ball.speed = ballSpeed;
}
}
}
switch (true) {
case fpower :
checkBonusPos(bns_power);
case fsize :
checkBonusPos(bns_size);
case fpoints :
checkBonusPos(bns_points);
}
}
function gameOver() {
if (state == stStop) {
return(undefined);
}
state = stOver;
_root.countDown_mc.end();
ball.mc._visible = false;
bns_points._x = -100;
bns_points._y = -100;
bns_power._x = -100;
bns_power._y = -100;
bns_size._x = -100;
bns_size._y = -100;
playSound("snd_gameover");
splash = _root["plump" add ball.mc._currentframe];
splash._width = ball.mc._width;
splash._height = ball.mc._height;
splash._x = ball.mc._x;
splash._y = ball.mc._y;
splash._visible = true;
splash.gotoAndPlay(1);
}
function putBonus(bonus) {
ran = Math.round(Math.random() * 1000);
ran = ran % (stageX - 50);
bonus._x = 25 + ran;
ran = Math.round(Math.random() * 1000);
ran = ran % (stageY - 100);
bonus._y = 100 + ran;
}
function incLevel() {
_root.level_lbl.text = ((Math.floor(level / 10) + 1) add ".") add (level % 10);
if ((level > 1) && ((level % 10) == 0)) {
state = stStop;
ball.normSize();
showTakeBucket();
_root.level_lbl.text = (Math.floor(level / 10) + 1) add ".0";
return(undefined);
}
level++;
gameSpeed++;
if (fpower && (ball.state != cBall.stPower)) {
fpower = false;
_root.bns_power._x = -100;
_root.bns_power._y = -100;
}
if (fsize && (ball.state != cBall.stSize)) {
fsize = false;
_root.bns_size._x = -100;
_root.bns_size._y = -100;
}
if (fpoints) {
fpoints = false;
_root.bns_points._x = -100;
_root.bns_points._y = -100;
}
}
function checkBonusPos(bonus) {
if (state == stPlay) {
if ((Math.abs(ball.mc._x - bonus._x) <= Math.round((ball.mc._width / 2) + (bonus._width / 2))) && (Math.abs(ball.mc._y - bonus._y) <= Math.round((ball.mc._height / 2) + (bonus._height / 2)))) {
bonus._x = -100;
bonus._y = -100;
switch (bonus) {
case bns_points :
addPoints();
break;
case bns_power :
addPower();
break;
case bns_size :
addSize();
}
}
}
}
function addPoints() {
bonusCount++;
bonus_mc._visible = true;
bonus_mc.gotoAndPlay(1);
playSound("snd_points");
}
function addPower() {
ball.makePower();
if (beam.kind == cBeam.stSoft) {
ball.dy = 1;
}
showCountDown();
playSound("snd_power");
powerTime = elapsed + (powerTimeAmount * 1000);
}
function addSize() {
showCountDown();
ball.makeSize();
playSound("snd_size");
sizeTime = elapsed + (sizeTimeAmount * 1000);
}
function checkPowerPos() {
if ((state == stPlay) && (ball.state == cBall.stNormal)) {
if ((Math.abs(ball.mc._x - bns_power._x) <= Math.round((ball.mc._width / 2) + (bns_power._width / 2))) && (Math.abs(ball.mc._y - bns_power._y) <= Math.round((ball.mc._height / 2) + (bns_power._height / 2)))) {
bns_power._x = -100;
bns_power._y = -100;
}
}
}
function checkSizePos() {
if ((state == stPlay) && (ball.state == cBall.stNormal)) {
if ((Math.abs(ball.mc._x - bns_size._x) <= Math.round((ball.mc._width / 2) + (bns_size._width / 2))) && (Math.abs(ball.mc._y - bns_size._y) <= Math.round((ball.mc._height / 2) + (bns_size._height / 2)))) {
bns_size._x = -100;
bns_size._y = -100;
}
}
}
function showCountDown() {
_root.cdStartTime = getTimer();
_root.countDown_mc._x = stageX / 2;
_root.countDown_mc._y = stageY / 2;
_root.countDown_mc.gotoAndPlay(1);
_root.fcd = true;
}
function musicOnOff() {
if (!fmusic) {
game.cMusic.soundOn();
} else {
game.cMusic.soundOff();
}
fmusic = !fmusic;
musicColor();
saveSettings();
}
function musicColor() {
if (!fmusic) {
music_btn.gotoAndStop(2);
w_pregame.music_btn.gotoAndStop(2);
} else {
music_btn.gotoAndStop(1);
w_pregame.music_btn.gotoAndStop(1);
}
}
function soundOnOff() {
fsound = !fsound;
soundColor();
saveSettings();
}
function soundColor() {
if (!fsound) {
sound_btn.gotoAndStop(2);
w_pregame.sound_btn.gotoAndStop(2);
} else {
sound_btn.gotoAndStop(1);
w_pregame.sound_btn.gotoAndStop(1);
}
}
function playSound(snd) {
if (fsound) {
var _local1 = game.cSound.addStream(snd);
game.cSound.play(_local1);
}
}
function showTakeBucket() {
ball.mc._y = (stageY - (ball.mc._height / 2)) - beam.rightBeam._height;
beam.leftBeam._y = (stageY - (beam.leftBeam._height / 2)) - 2;
beam.rightBeam._y = (stageY - (beam.rightBeam._height / 2)) - 2;
if (ball.mc._x > (stageX / 2)) {
beam.leftBeam._x = (ball.mc._x - (stageX / 2)) - holeHalfWidth;
beam.rightBeam._x = (ball.mc._x - (stageX / 2)) + holeHalfWidth;
if ((beam.leftBeam._x < ((stageX / 2) + holeHalfWidth)) && (beam.leftBeam._x > ((stageX / 2) - (3 * holeHalfWidth)))) {
beam.leftBeam._x = (stageX / 2) - (5 * holeHalfWidth);
beam.rightBeam._x = (stageX / 2) - (3 * holeHalfWidth);
}
takeBucketRight._x = ball.mc._x - (ball.mc._width / 2);
takeBuck = takeBucketRight;
} else {
beam.leftBeam._x = (stageX - ball.mc._x) - holeHalfWidth;
beam.rightBeam._x = (stageX - ball.mc._x) + holeHalfWidth;
if ((beam.leftBeam._x < ((stageX / 2) + holeHalfWidth)) && (beam.leftBeam._x > ((stageX / 2) - (3 * holeHalfWidth)))) {
beam.leftBeam._x = (stageX / 2) + (3 * holeHalfWidth);
beam.rightBeam._x = (stageX / 2) + (5 * holeHalfWidth);
}
takeBucketLeft._x = ball.mc._x + (ball.mc._width / 2);
takeBuck = takeBucketLeft;
}
takeBuck._visible = true;
takeBuck.gotoAndPlay(1);
}
function hideTakeBucket() {
takeBuck._visible = false;
ball.mc._visible = false;
fnextLevel = true;
showPrompt("good job! \ntake a break now.\nready?", nextStage);
}
function showGameOver() {
state = stStop;
beam.hide();
scores = scores + (Math.floor(elapsed / 10) + tempScores);
_root.gameOver_plate._visible = true;
_root.loadScores();
_root.bonus_mc._visible = false;
_root.gameOver_plate._visible = true;
if (_root.gameSpeed > _root.startSpeed) {
_root.gameOver_plate.level_lbl.text = ((Math.floor(level / 10) + 1) add ".") add (level - 1);
} else {
_root.gameOver_plate.level_lbl.text = "1.1";
}
with (_root.gameOver_plate) {
scores_lbl.text = _root.scores;
bonus_lbl.text = _root.bonusCount * bonusCost;
menu_btn.onPress = _root.showMenuPlate;
}
_root.scores = _root.scores + (_root.bonusCount * bonusCost);
_root.gameOver_plate.total_lbl.text = _root.scores;
_root.musicColor();
_root.checkScores();
}
function showMenuPlate() {
if (!fshowIntro) {
_root.w_pregame.intro_btn._visible = true;
} else {
_root.w_pregame.intro_btn._visible = false;
}
_root.gameOver_plate._visible = false;
_root.w_pregame._visible = true;
}
function showIntro() {
fmovie = true;
intro._visible = true;
intro.gotoAndPlay(1);
intro.man.gotoAndPlay(1);
}
function skipIntro() {
intro.man.gotoAndStop(1);
intro._visible = false;
showBuilderMovie();
}
function nextStage() {
fnextLevel = false;
state = stStop;
beam.hide();
ball.mc._visible = false;
gameSpeed = gameSpeed - 7;
scores = scores + (tempScores + Math.floor(_root.elapsed / 10));
showBuilderMovie();
}
function showPrompt(_text, fn) {
function hidePrompt() {
w_prompt._visible = false;
ignoreUser = false;
fn();
}
w_prompt.txt.text = _text;
w_prompt.ok_btn.onPress = hidePrompt;
ignoreUser = true;
w_prompt._visible = true;
}
function showConfirm(_text, fn) {
function hideConfirm() {
w_confirm._visible = false;
ignoreUser = false;
fn();
}
w_confirm.txt.text = _text;
w_confirm.ok_btn.onPress = hideConfirm;
w_confirm._visible = true;
}
function clearHiScores() {
_root.clearScores();
_root.loadScores();
_root.showScores();
}
function loadSettings() {
firstLoad();
_root.fsound = settings.data.sound;
_root.fmusic = settings.data.music;
}
function saveSettings() {
settings.data.sound = _root.fsound;
settings.data.music = _root.fmusic;
}
function firstLoad() {
if (settings.data.firstLoad == undefined) {
_root.clearScores();
settings.data.firstLoad = 1;
settings.data.sound = true;
settings.data.music = true;
settings.data.intro = true;
}
}
function loadScores() {
if (settings.data.firstLoad == undefined) {
_root.clearScores();
settings.data.firstLoad = 1;
clearScores();
}
_root.hiScores = new Array();
var _local2 = 0;
while (_local2 < _root.numHiScores) {
_root.hiScores.push(new Array(settings.data["pname" add _local2], settings.data["pscores" add _local2]));
_local2++;
}
}
function saveScores() {
var _local2 = 0;
while (_local2 < _root.numHiScores) {
settings.data["pname" add _local2] = _root.hiScores[_local2][0];
settings.data["pscores" add _local2] = _root.hiScores[_local2][1];
_local2++;
}
}
function clearScores() {
var _local2 = 0;
while (_local2 < _root.numHiScores) {
settings.data["pname" add _local2] = defUsers[_local2][0];
settings.data["pscores" add _local2] = defUsers[_local2][1];
_local2++;
}
}
function showScores() {
_root.scores_plate._visible = true;
var _local2 = 0;
while (_local2 < _root.numHiScores) {
_root.scores_plate["pname" add _local2].text = _root.hiScores[_local2][0];
_root.scores_plate["pscores" add _local2].text = _root.hiScores[_local2][1];
_local2++;
}
}
function checkScores() {
var _local2 = 0;
pos = -1;
while (_local2 < _root.numHiScores) {
if (_root.scores > _root.hiScores[_local2][1]) {
pos = _local2;
askName(pos);
_local2 = _root.numHiScores;
}
_local2++;
}
}
function askName(pos) {
function endEditing() {
if ((_root.scores_plate["pname" add pos].type == "input") && (_root.scores_plate["pname" add pos].text != "unnamed")) {
_root.scores_plate["pname" add pos].type = "dynamic";
saveName(_root.scores_plate["pname" add pos].text, pos);
_root.scores_plate["pname" add pos].selectable = false;
col.setRGB(0);
}
}
_root.hiScores.splice(pos, 0, new Array("unnamed", _root.scores));
if (_root.hiScores.length >= _root.numHiScores) {
_root.hiScores.splice(_root.numHiScores, 1);
}
showScores();
var col = new Color(_root.scores_plate["pscores" add pos]);
col.setRGB(10053273);
_root.scores_plate["pname" add pos].text = "unnamed";
_root.scores_plate["pname" add pos].type = "input";
_root.scores_plate["pname" add pos].selectable = true;
Selection.setFocus(_root.scores_plate["pname" add pos]);
Selection.setSelection(0, _root.scores_plate["pname" add pos].length);
_root.scores_plate["pname" add pos].onKillFocus = endEditing;
_root.scores_plate["pname" add pos].onKeyUp = function () {
if (Key.getAscii() == 13) {
endEditing();
}
};
Key.addListener(_root.scores_plate["pname" add pos]);
}
function saveName(_text, pos) {
_root.hiScores[pos][0] = _text;
_root.showScores();
_root.saveScores();
}
var holeHalfWidth = 50;
var offsetX = 10;
var countAmount = 5;
var powerTimeAmount = 10;
var sizeTimeAmount = 10;
var ballSpeed = 8;
var startOffset = 50;
var stStop = 0;
var stPause = 1;
var stPlay = 2;
var stOver = 3;
var stNext = 4;
var posX = 390;
var posY = 330;
var numHiScores = 10;
bonusCost = 1000;
startSpeed = 8;
DownloadURL = "http://www.doublegames.com/downloads.html?fr=paintermadnesson";
MoreGamesURL = "http://www.doublegames.com/?fr=paintermadnesson";
var beam;
var ball;
var countAmount;
var elapsed;
var startTime;
var cdStartTime;
var powerTime;
var sizeTime;
var gameSpeed;
var level;
var fchange;
var fgot;
var fpower;
var fsize;
var fpoints;
var fcd;
var fmovie;
var fmusic;
var fsound = true;
var fnextLevel = false;
var fshowIntro = true;
var state;
var scores;
var tempScores;
var scores;
var hiScores;
var bonusCount;
var ignoreUser = false;
var pos;
var stageX = Stage.width;
var stageY = Stage.height;
var splash;
var takeBuck;
var game = (new com.itpremium.games.Game());
var gameDownload = new TextFormat();
var ignoreUser;
var defUsers = [["Jack", 25023], ["Smith", 24978], ["Tom", 23487], ["Tracy", 19390], ["Jane", 17345], ["Kyle", 16223], ["Stane", 12800], ["Cole", 10406], ["Larry", 8381], ["John", 7989]];
settings = SharedObject.getLocal("painter_madness_settings_v0.0");
_root.rules_plate._visible = false;
_root.askName_plate._visible = false;
_root.builder_mc._visible = false;
_root.builder_mc.gotoAndStop(1);
_root.w_prompt._visible = false;
_root.w_confirm._visible = false;
_root.w_confirm1._visible = false;
_root.bonus_mc._visible = false;
_root.bonus_mc.gotoAndStop(1);
_root.plump1.gotoAndStop(1);
_root.plump2.gotoAndStop(1);
_root.plump3.gotoAndStop(1);
_root.plump4.gotoAndStop(1);
_root.plump5.gotoAndStop(1);
_root.intro.gotoAndStop(1);
_root.intro.man.gotoAndStop(1);
_root.intro._visible = false;
_root.takeBucketRight.gotoAndStop(1);
_root.takeBucketRight._visible = false;
_root.takeBucketLeft.gotoAndStop(1);
_root.takeBucketLeft._visible = false;
_root.gameOver_plate._visible = false;
_root.w_end._visible = false;
_root.scores_plate._visible = false;
_root.w_pregame.intro_btn._visible = false;
_root.snds.removeMovieClip();
game.cKeyboard.addCombination("space", _root.pause, [], "UP");
game.cKeyboard.addCombintation("enter", _root.ready, [], "UP");
var keyListener = new Object();
keyListener.onKeyUp = function () {
ready();
};
Key.addListener(keyListener);
var cl = new CConfigLoader("paintermadness.xml", init);
Instance of Symbol 114 MovieClip "rBeam" in Frame 2
/* no clip actions */
Instance of Symbol 162 MovieClip "sound_btn" in Frame 2
on (press) {
_root.soundOnOff();
_root.soundColor();
}
Instance of Symbol 165 MovieClip "music_btn" in Frame 2
on (press) {
_root.musicOnOff();
_root.musicColor();
}
Frame 3
function mainProcess() {
if (fmovie) {
return(undefined);
}
if (state == stOver) {
var _local2 = 0;
while (_local2 < 5) {
beam.leftBeam._y--;
beam.rightBeam._y--;
_local2++;
}
}
_root.keyListen();
if (state != stPlay) {
return(undefined);
}
var _local2 = 0;
while (_local2 <= gameSpeed) {
_root.beam.move();
_local2++;
}
_local2 = 0;
while (_local2 <= ball.speed) {
_root.ball.move();
_local2++;
}
_root.checkTime();
var _local3;
_local3 = Math.round(Math.random() * 1000);
_local3 = _local3 % 100;
switch (_local3) {
case 0 :
if ((level > 20) && (!fpower)) {
putBonus(bns_power);
}
fpower = true;
break;
case 1 :
if ((level > 20) && (!fsize)) {
putBonus(bns_size);
}
fsize = true;
break;
case 2 :
if ((level > 10) && (!fpoints)) {
putBonus(bns_points);
}
fpoints = true;
}
if (state == stStop) {
countDown_mc.end();
}
}
mainProcess();
Frame 4
gotoAndPlay ("main");
Symbol 10 Button
on (rollOver) {
hi_bg.useHandCursor = false;
}
Symbol 42 Button
on (press) {
if (_root.ignoreUser) {
return(undefined);
}
_root.scores_plate._visible = false;
}
Symbol 50 Button
on (press) {
_root.ignoreUser = true;
_root.showConfirm("clear scores?", _root.clearHiScores);
}
Symbol 306 MovieClip [__Packages.cBall] Frame 0
class cBall
{
var mc, halfWidth, normWidth, normHeight, speed, dy, state, ffloor;
function cBall (_mc) {
mc = _mc;
halfWidth = Math.floor(mc._width / 2);
normWidth = mc._width;
normHeight = mc._height;
}
function normSize() {
mc._height = 0.7 * normHeight;
mc._width = 0.7 * normWidth;
}
function start(sp) {
normSize();
mc._x = _root.posX;
mc._y = _root.posY;
speed = sp;
dy = 1;
state = stNormal;
ffloor = false;
}
function moveLeft() {
var _local3 = 0;
while ((_local3 < sideSpeed) && (mc._x > halfWidth)) {
mc._x--;
_local3++;
}
_root.checkPos();
}
function moveRight() {
var _local3 = 0;
while ((_local3 < sideSpeed) && (mc._x < (Stage.width - halfWidth))) {
mc._x++;
_local3++;
}
_root.checkPos();
}
function move() {
if (dy == -1) {
mc._y = (_root.beam.leftBeam._y - (mc._height / 2)) - (_root.beam.leftBeam._height / 2);
} else if ((mc._y >= ((Stage.height - (mc._height / 2)) - 5)) && (dy > 0)) {
dy = 0;
mc._y = Stage.height - (mc._height / 2);
ffloor = true;
}
if (mc._y < ((Stage.height - (mc._height / 2)) - 5)) {
ffloor = false;
}
mc._y = mc._y + dy;
_root.checkPos();
}
function makePower() {
var _local2 = new Color(mc.inside_mc);
_local2.setRGB(52224);
state = stPower;
}
function unmake() {
if (state == stSize) {
speed = _root.ballSpeed;
}
state = stNormal;
mc._height = 0.7 * normHeight;
mc._width = 0.7 * normWidth;
halfWidth = Math.floor(mc._width / 2);
var _local3 = new Color(mc.inside_mc);
_local3.setRGB(col);
}
function makeSize() {
state = stSize;
mc._height = normHeight;
mc._width = normWidth;
halfWidth = Math.floor(mc._width / 2);
}
var col = 0;
var sideSpeed = 30;
static var stNormal = 0;
static var stPower = 1;
static var stSize = 2;
}
Symbol 307 MovieClip [__Packages.cBeam] Frame 0
class cBeam
{
var leftBeam, rightBeam, beamWidth, sizeY, sizeX, y, dy, inc, kind, x;
function cBeam (mc1, mc2) {
leftBeam = mc1;
rightBeam = mc2;
beamWidth = mc1._width;
sizeY = Stage.height + 100;
sizeX = Stage.width - 50;
trace(sizeX);
y = sizeY;
dy = -5;
inc = false;
kind = stSolid;
newPos();
}
function newPos() {
x = Math.round(Math.random() * sizeX);
if ((x % 3) == 0) {
kind = stSoft;
leftBeam.gotoAndStop(2);
rightBeam.gotoAndStop(2);
} else {
kind = stSolid;
leftBeam.gotoAndStop(1);
rightBeam.gotoAndStop(1);
}
trace(x);
leftBeam._x = (_root.offsetX + x) - _root.holeHalfWidth;
rightBeam._x = (_root.offsetX + x) + _root.holeHalfWidth;
leftBeam._y = y;
rightBeam._y = y;
}
function move() {
y--;
leftBeam._y = y;
rightBeam._y = y;
if (y < 0) {
y = sizeY;
newPos();
}
_root.checkPos();
}
function hide() {
y = sizeY;
leftBeam._y = y;
rightBeam._y = y;
}
static var stSolid = 0;
static var stSoft = 1;
}
Symbol 308 MovieClip [__Packages.CConfigLoader] Frame 0
class CConfigLoader
{
var myXML, cbfunc;
function CConfigLoader (sConfigFile, cbFunc) {
myXML = new CXML();
myXML.cbfunc = mx.utils.Delegate.create(this, onXMLLoad);
myXML.load(((sConfigFile == undefined) ? "config.xml" : (sConfigFile)));
cbfunc = cbFunc;
}
function parse() {
for (var i in myXML.oResult.config.static) {
for (var j in myXML.oResult.config.static[i]) {
var parent = eval (i);
parent[j] = myXML.oResult.config.static[i][j];
}
}
}
function onXMLLoad(bSuccess) {
if (bSuccess) {
parse();
}
cbfunc(bSuccess);
}
}
Symbol 309 MovieClip [__Packages.CXML] Frame 0
class CXML extends XML
{
var oResult, cbfunc;
function CXML () {
super();
}
function onLoad(bSuccess) {
if (bSuccess) {
parse(this, (oResult = new Object()));
}
return(cbfunc(bSuccess));
}
function parse(node, oRes) {
node.ignoreWhite = true;
var _local2 = 0;
while (_local2 < node.childNodes.length) {
if (node.childNodes[_local2].childNodes.length > 1) {
parse(node.childNodes[_local2], (oRes[node.childNodes[_local2].nodeName] = new Object()));
} else if (node.childNodes[_local2].hasChildNodes()) {
switch (node.childNodes[_local2].attributes.type) {
case "Number" :
var _local4 = Number(node.childNodes[_local2].firstChild.nodeValue);
break;
case "nArray" :
_local4 = conv2NumAr(node.childNodes[_local2].firstChild.nodeValue.split(node.childNodes[_local2].attributes.separator));
break;
case "sArray" :
_local4 = node.childNodes[_local2].firstChild.nodeValue.split(node.childNodes[_local2].attributes.separator);
break;
default :
_local4 = node.childNodes[_local2].firstChild.nodeValue;
}
oRes[node.childNodes[_local2].nodeName] = _local4;
}
_local2++;
}
}
function conv2NumAr(ar) {
var _local1 = 0;
while (_local1 < ar.length) {
ar[_local1] = Number(ar[_local1]);
_local1++;
}
return(ar);
}
}
Symbol 310 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 311 MovieClip [__Packages.com.itpremium.games.Game] Frame 0
class com.itpremium.games.Game
{
var cKeyboard, cSound, cMusic;
function Game () {
cKeyboard = new com.itpremium.games.Keyboard();
cSound = new com.itpremium.utils.WaveEngine(1);
cMusic = new com.itpremium.utils.WaveEngine(2);
}
function toString() {
return("[class Game]");
}
}
Symbol 312 MovieClip [__Packages.com.itpremium.games.Keyboard] Frame 0
class com.itpremium.games.Keyboard
{
var stack;
function Keyboard () {
initPrototype();
createGameProcess();
stack = new Array();
Key.addListener(this);
}
function createGameProcess() {
var _local3 = _root.createEmptyMovieClip("Keyboard_" + (nCount++), _root.getNextHighestDepth());
_local3.onEnterFrame = function () {
com.itpremium.games.Process.main();
};
com.itpremium.games.Process.start(mx.utils.Delegate.create(this, process), [], 999, 0);
}
function process() {
if ((arrKeysDown.length == 0) && (arrKeysUp.length == 0)) {
return(undefined);
}
onKeyDown();
}
function initPrototype() {
Array.prototype.find = function () {
var _local4 = arguments[0];
var _local5 = arguments[1];
if (typeof(_local5) == "function") {
var _local6 = arguments[2];
var _local3 = 0;
while (_local3 < this.length) {
if (_local5(this[_local3], _local4)) {
return(_local3);
}
_local3++;
}
return(_local6);
}
var _local6 = arguments[1];
var _local3 = 0;
while (_local3 < this.length) {
if (_local4 == this[_local3]) {
return(_local3);
}
_local3++;
}
return(_local6);
};
}
function onKeyDown() {
var _local2 = 0;
while (_local2 < 150) {
if (Key.isDown(_local2) && (arrKeysDown.find(_local2, -1) == -1)) {
arrKeysDown.push(_local2);
}
_local2++;
}
checkCombinatons("DOWN");
var _local3 = Key.getCode();
if ((((_local3 == 17) || (_local3 == 16)) || (_local3 == 18)) && (arrKeysDown.length == 0)) {
arrKeysUp = new Array();
return(undefined);
}
}
function onKeyUp() {
var _local2 = 0;
while (_local2 < 150) {
var _local3 = arrKeysDown.find(_local2, -1);
if ((!Key.isDown(_local2)) && (_local3 != -1)) {
arrKeysDown.splice(_local3, 1);
if (arrKeysUp.find(_local2, -1) == -1) {
arrKeysUp.push(_local2);
}
}
_local2++;
}
var _local4 = Key.getCode();
if ((((_local4 == 17) || (_local4 == 16)) || (_local4 == 18)) && (arrKeysDown.length == 0)) {
arrKeysUp = new Array();
return(undefined);
}
checkCombinatons("UP");
arrKeysUp = new Array();
}
function checkCombinatons(sOrient) {
var _local4 = 0;
while (_local4 < stack.length) {
if (stack[_local4].orient != sOrient) {
} else {
var _local5 = true;
var _local3 = stack[_local4].codes;
var _local6 = ((sOrient == "UP") ? (arrKeysUp) : (arrKeysDown));
var _local2 = 0;
while (_local2 < _local3.length) {
if ((((_local3[_local2] == 17) && (Key.isDown(17))) || ((_local3[_local2] == 16) && (Key.isDown(16)))) || ((_local3[_local2] == 18) && (Key.isDown(18)))) {
} else {
if (_local6.find(_local3[_local2], -1) == -1) {
_local5 = false;
}
if (!_local5) {
break;
}
}
_local2++;
}
if (_local5) {
doCallBack(_local4);
}
}
_local4++;
}
}
function doCallBack(nComb) {
var _local3 = stack[nComb].f.apply(null, stack[nComb].arg);
if (_local3 == KILL) {
deleteId(nComb);
}
}
function addCombination(_comb, _function, _arg, _orient) {
_orient = ((_orient == undefined) ? "UP" : (_orient));
var _local3 = getKeyCombination(_comb);
if (!_local3) {
return(-1);
}
return(stack.push({codes:_local3, f:_function, arg:_arg, orient:_orient.toUpperCase()}) - 1);
}
function getKeyCombination(_comb) {
_comb = _comb.toUpperCase();
var _local5 = _comb.split("+");
var _local6 = new Array();
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2];
var _local4 = checkKeyName(_local3);
if (_local4 == undefined) {
trace("You enter wrong key " + _local3);
return(false);
}
_local6.push(_local4);
_local2++;
}
return(_local6);
}
function checkKeyName(_keyName) {
var keyCode = -1;
if (typeof(eval (_keyName)) == "number") {
return(eval (_keyName));
}
if (_keyName.length > 1) {
keyCode = ((exchangeString[_keyName] == undefined) ? (Key[_keyName]) : (exchangeString[_keyName]));
} else {
keyCode = mbord(_keyName);
}
return(keyCode);
}
function deleteCombination(_comb, _orient) {
_orient = ((_orient == undefined) ? "UP" : (_orient));
var _local2 = getKeyCombination(_comb);
if (!_local2) {
return(false);
}
for (var _local4 in stack) {
if ((stack[_local4].codes.join(" ") == _local2.join(" ")) && (_orient == stack[_local4].orient)) {
stack.splice(_local4, 1);
return(true);
}
}
}
function deleteId(_id) {
var _local4 = typeof(_id);
if (_local4 == "number") {
stack.splice(_id, 1);
} else if (_local4 == "object") {
var _local2 = 0;
if (_local2 < _id.length) {
stack.splice(_id[_local2], 1);
return(true);
}
}
return(false);
}
function toString() {
return("[class Keyboard]");
}
static var KILL = 0;
var exchangeString = {CTRL:17, ALT:18, ESC:27, PAGEUP:33, PAGEDOWN:34, DELETE:46};
static var arrKeysDown = new Array();
static var arrKeysUp = new Array();
var isCtrl = false;
static var nCount = 0;
}
Symbol 313 MovieClip [__Packages.com.itpremium.games.Process] Frame 0
class com.itpremium.games.Process
{
function Process () {
}
static function main() {
var _local1 = 0;
while (_local1 < PROCESSES.length) {
var _local2 = PROCESSES[_local1][0].apply(null, PROCESSES[_local1][1]);
if (_local2 == KILL) {
kill(PROCESSES[_local1][0], PROCESSES[_local1][2]);
} else if (_local2 == HOLD) {
return(undefined);
}
_local1++;
}
}
static function start(ps, args, id, priority) {
id = ((id == undefined) ? -1 : (id));
if (priority == undefined) {
PROCESSES.push([ps, args, id]);
} else {
PROCESSES.splice(priority, 0, [ps, args, id]);
}
}
static function kill(ps, id) {
id = ((id == undefined) ? -1 : (id));
var _local1 = 0;
while (_local1 < PROCESSES.length) {
if (((PROCESSES[_local1][0] == ps) || ((PROCESSES[_local1][0].func == ps.func) && (ps.func != undefined))) && (PROCESSES[_local1][2] == id)) {
PROCESSES.splice(_local1--, 1);
}
_local1++;
}
}
static function killAll() {
PROCESSES = new Array();
}
static function is(ps, id) {
id = ((id == undefined) ? -1 : (id));
var _local1 = 0;
while (_local1 < PROCESSES.length) {
if (((PROCESSES[_local1][0] == ps) || (PROCESSES[_local1][0].func == ps.func)) && (PROCESSES[_local1][2] == id)) {
return(true);
}
_local1++;
}
return(false);
}
static function toString() {
return("[com.itpremium.games.Process]");
}
static function keepId() {
return(lastId++);
}
static var PROCESSES = new Array();
static var lastId = 1;
static var KILL = 0;
static var HOLD = -1;
}
Symbol 314 MovieClip [__Packages.com.itpremium.utils.WaveEngine] Frame 0
class com.itpremium.utils.WaveEngine
{
var type, stack, debugOn, mute, _mc;
function WaveEngine (type, debugOn) {
this.type = ((type == undefined) ? 1 : (type));
stack = new Object();
this.debugOn = ((type == undefined) ? false : (debugOn));
mute = false;
init();
}
function init() {
_numClass++;
_mc = _root.createEmptyMovieClip((("WaveEngine_" + _numClass) + "_") + type, _root.getNextHighestDepth());
}
function soundOff() {
if (!mute) {
debug("soundOff()");
for (var _local2 in stack) {
stack[_local2]._oldVolume = stack[_local2].getVolume();
setVolume(_local2, 0);
}
mute = true;
}
}
function soundOn() {
if (mute) {
mute = false;
debug("soundOn()");
for (var _local3 in stack) {
var _local2 = ((stack[_local3]._oldVolume == undefined) ? 100 : (stack[_local3]._oldVolume));
setVolume(_local3, _local2);
}
}
}
function getSoundStatus() {
return(!mute);
}
function play(id, secondsOffset, loops, autoDelete) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
if (type == 2) {
stopAll();
}
secondsOffset = ((secondsOffset == undefined) ? 0 : (secondsOffset));
loops = ((loops == undefined) ? 1 : (loops));
autoDelete = ((autoDelete == undefined) ? true : (autoDelete));
var _local3 = stack[id];
if (mute) {
_local3.setVolume(0);
} else {
_local3.setVolume(_volume);
}
if (type == 2) {
loops = 65536;
}
_local3.start(secondsOffset, loops);
debug(((((("play(" + _local3.__link) + ", ") + secondsOffset) + ", ") + loops) + ")");
}
function playAll(secondsOffset, loops, autoDelete) {
for (var _local5 in stack) {
play(_local5, secondsOffset, loops, autoDelete);
}
}
function addStream(link_name, autoDelete) {
if (link_name == undefined) {
return(0);
}
autoDelete = ((autoDelete == undefined) ? true : (autoDelete));
var _local4 = _mc.createEmptyMovieClip("attachS_" + (++_numSound), _mc.getNextHighestDepth());
var _local2 = new Sound(_local4);
_local2.attachSound(link_name);
_local2.__parent = this;
_local2.__link = link_name;
_local2.__num = _numSound;
_local2.__mc = _local4;
_local2.__autoDelete = autoDelete;
_local2.onSoundComplete = function () {
if (this.__autoDelete) {
this.__parent.deleteSound(this.__num);
}
};
debug(("addStream(" + link_name) + ")");
stack[_numSound] = _local2;
return(_local2.__num);
}
function deleteSound(id) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
var _local2 = stack[id];
debug("Stack deletes a " + _local2.__link);
delete stack[id];
removeMovieClip(_local2.__mc);
}
function deleteAllSound() {
debug("deleteAllSound()");
for (var _local2 in stack) {
deleteSound(_local2);
}
}
function stop(id) {
if ((id == undefined) || (stack[id] == undefined)) {
return(0);
}
var _local3 = stack[id];
_local3.stop();
debug(("stop(" + _local3.__link) + ")");
if (_local3.__autoDelete) {
if ((id != _numSound) || (type != 2)) {
deleteSound(id);
}
}
}
function stopAll() {
debug("stopAll()");
for (var _local2 in stack) {
stop(_local2);
}
}
function setVolume(id, volume) {
if (((id == undefined) || (volume == undefined)) || (stack[id] == undefined)) {
return(0);
}
var _local2 = stack[id];
if (mute) {
_local2._oldVolume = volume;
return(0);
}
debug(((("setVolume(" + _local2.__link) + ", ") + volume) + ")");
if (_local2 != undefined) {
_local2.setVolume(volume);
}
}
function setAllVolume(volume) {
for (var _local3 in stack) {
setVolume(_local3, volume);
}
_volume = volume;
}
function debug(msg) {
if (debugOn) {
trace((type + " ") + msg);
}
}
function toString() {
return(("[class WaveEngine::" + ((type == 1) ? "Sound" : "Music")) + "]");
}
var _numSound = 0;
var _volume = 100;
static var _numClass = 0;
}
Symbol 75 Button
on (press) {
_root.w_pregame.intro_btn._visible = true;
_root.skipIntro();
}
Symbol 99 MovieClip Frame 450
if (_root.state == _root.stStop) {
_root.skipIntro();
}
stop();
Symbol 102 MovieClip Frame 1
stop();
Symbol 102 MovieClip Frame 2
stop();
Symbol 104 Button
on (press) {
if (_root.intro.intro_btn._currentframe == 1) {
_root.intro.intro_btn.gotoAndStop(2);
_root.fshowIntro = false;
} else {
_root.intro.intro_btn.gotoAndStop(1);
_root.fshowIntro = true;
}
}
Symbol 114 MovieClip Frame 1
stop();
Symbol 117 MovieClip [leftBeam] Frame 1
stop();
Symbol 123 MovieClip Frame 1
stop();
Symbol 123 MovieClip Frame 2
stop();
Symbol 123 MovieClip Frame 3
stop();
Symbol 123 MovieClip Frame 4
stop();
Symbol 123 MovieClip Frame 5
stop();
Symbol 128 MovieClip Frame 40
_root.fmovie = false;
_visible = false;
stop();
_root.initStage();
Symbol 131 MovieClip Frame 1
function checkCDTime() {
if (_root.state == _root.stPlay) {
if (fstop) {
_root.cdStartTime = getTimer();
fstop = false;
countTime = countTime - cdTime;
cdTime = 0;
}
if (cdTime > countTime) {
end();
}
cdElapsed = getTimer() - _root.cdStartTime;
if (Math.floor(cdElapsed / 1000) > cdTime) {
_root.playSound("snd_countDown");
cdTime++;
cd_mc.text = _root.powerTimeAmount - cdTotalTime;
if (cd_mc.text > 1) {
_root.playSound("snd_countDown");
} else {
_root.playSound("snd_countDownLast");
}
cdTotalTime++;
}
} else if (((_root.state == _root.stPause) && (!fstop)) && (_root.fcd)) {
fstop = true;
tempTime = tempTime + cdElapsed;
}
}
function end() {
_x = -100;
_y = -100;
_root.fcd = false;
stop();
}
var cdElapsed;
var countTime = 9;
var tempTime = 0;
var fstop = false;
var cdTime = 0;
var cdTotalTime = 0;
cd_mc.text = _root.powerTimeAmount - cdTime;
Symbol 131 MovieClip Frame 2
checkCDTime();
Symbol 131 MovieClip Frame 3
gotoAndPlay (2);
Symbol 153 Button
on (press) {
_root.pause();
}
Symbol 169 MovieClip Frame 15
if (_root.state == _root.stOver) {
_root.showGameOver();
}
stop();
dkd_mc.onKeyUp();
Symbol 173 MovieClip Frame 15
if (_root.state == _root.stOver) {
_root.showGameOver();
}
stop();
Symbol 177 MovieClip Frame 15
if (_root.state == _root.stOver) {
_root.showGameOver();
}
stop();
Symbol 181 MovieClip Frame 15
if (_root.state == _root.stOver) {
_root.showGameOver();
}
stop();
Symbol 185 MovieClip Frame 15
if (_root.state == _root.stOver) {
_root.showGameOver();
}
stop();
Symbol 204 MovieClip Frame 65
stop();
if (_root.state == _root.stStop) {
_root.hideTakeBucket();
}
Symbol 209 MovieClip Frame 65
stop();
if (_root.state == _root.stStop) {
_root.hideTakeBucket();
}
Symbol 220 Button
on (press) {
_root.w_pregame._visible = false;
_root.initGame();
}
Symbol 228 Button
on (press) {
_root.ignoreUser = true;
_root.rules_plate._visible = true;
}
Symbol 236 Button
on (press) {
_root.loadScores();
_root.showScores();
}
Symbol 244 Button
on (press) {
if (_root.ignoreUser) {
return(undefined);
}
getURL (_root.MoreGamesURL, "_blank");
}
Instance of Symbol 162 MovieClip "sound_btn" in Symbol 246 MovieClip Frame 1
on (press) {
_root.soundOnOff();
_root.soundColor();
}
Instance of Symbol 165 MovieClip "music_btn" in Symbol 246 MovieClip Frame 1
on (press) {
_root.musicOnOff();
_root.musicColor();
}
Symbol 247 Button
on (rollOver) {
ru_bg.useHandCursor = false;
}
Symbol 252 Button
on (press) {
_root.ignoreUser = false;
_root.rules_plate._visible = false;
}
Symbol 274 Button
on (press) {
getURL (_root.DownloadURL, "_blank");
}
Symbol 291 MovieClip Frame 30
_visible = false;
gotoAndStop (1);
Symbol 300 Button
on (press) {
_root.w_confirm._visible = false;
_root.ignoreUser = false;
}
Symbol 304 Button
on (press) {
_root.w_end._visible = false;
_root.showMenuPlate();
}