Frame 1
function init() {
com.itpremium.games.Process.start(main, [], 1, 0);
com.itpremium.games.State.set(com.itpremium.games.State.NONE);
initMusic();
com.itpremium.games.CWindow.nBtnDefaultY = 30;
com.itpremium.games.CWindow.nBtnIndent = 5;
CWindow1.nBtnDefaultY = 30;
CWindow1.nBtnIndent = 5;
loadScores();
showMenuW();
fmusic = true;
fsound = true;
}
function showMenuW() {
com.itpremium.games.State.set(com.itpremium.games.State.NEW_GAME);
w_instructions._visible = false;
w_curWindow.destroy();
w_curWindow1.destroy();
w_pregame._visible = true;
w_quitingame._visible = false;
pause_btn._visible = true;
bDelOld = true;
_root.showMenuW._visible = true;
btnexit._visible = false;
}
function showGameOver() {
scores = numEaten;
w_gameOver.level_lbl.text = level + 1;
w_gameOver.scores_lbl.text = scores;
w_gameOver.bonus_lbl.text = bonusScores;
w_gameOver.total_lbl.text = scores + bonusScores;
w_gameOver._visible = true;
w_quitingame._visible = false;
checkScores();
saveScores();
}
function showNextLevel() {
Mouse.show();
ignoreuser = true;
var _local1 = new Array();
_local1 = [{title:"Ok", cbfunc:initLevel}];
w_curWindow = new com.itpremium.games.CWindow("Level " add (level + 1), ("Click ok to start level " add (level + 1)) add ".", _local1, bDelOld);
w_quitingame._visible = false;
}
function showBonusLevel() {
Mouse.show();
ignoreuser = true;
var _local1 = new Array();
_local1 = [{title:"Ok", cbfunc:initLevel}];
w_curWindow1 = new CWindow1("Bonus level!!!", ("Click ok to start level " add (level + 1)) add ".", _local1, bDelOld);
w_quitingame._visible = false;
}
function playAgain() {
w_pregame._visible = false;
w_quitingame._visible = false;
btnexit._visible = true;
initGame();
}
function initGame() {
life1 = 2;
timeLine._width = 0;
bonusText.txt.text = "";
level = 0;
numDifObjs = 4;
bonusScores = 0;
numEaten = 0;
w_bonus._visible = false;
w_quitingame._visible = false;
player._xscale = 100;
player._yscale = 100;
life = 3;
lifeLine._height = lifeLineHeight;
bDelOld = true;
showNextLevel();
}
function main() {
if (com.itpremium.games.State.get() != com.itpremium.games.State.RUNNING) {
return(undefined);
}
var _local2 = 0;
while (_local2 < numObjs) {
objs[_local2].move();
objs[_local2].checkHit();
if (objs[_local2].kind == cSquare.KILL) {
var _local3 = objs[_local2].speed;
objs[_local2].destroy();
objs[_local2] = createObj(_local2);
objs[_local2].speed = _local3;
}
_local2++;
}
checkTime();
if (!debug) {
if ((((_root._ymouse < (37 + (player._height / 2))) || (_root._xmouse < (9 + (player._width / 2)))) || (_root._xmouse > (792 - (player._width / 2)))) || (_root._ymouse > (575 - (player._height / 2)))) {
stopPlayer();
} else {
startPlayer();
}
}
}
function checkTime() {
_root.elapsed = getTimer() - _root.startTime;
timer_lbl.text = ((((((level + 1) % 5) == 0) && ((level + 1) > 0)) ? (bonusLevelTimeAmount) : (levelTimeAmount)) * countAmount) - Math.floor(_root.elapsed / 1000);
if ((Math.floor(_root.elapsed / 1000) % _root.countAmount) == 0) {
if (!fchange) {
levelUp();
}
} else {
fchange = false;
flevelup = false;
}
if (timeLine._width > 1) {
bonusElapsed = getTimer() - bonusStart;
if (bonusElapsed < bonusTime) {
timeLine._width = timeLineWidth - ((bonusElapsed / bonusTime) * timeLineWidth);
if (timeLine._width < (timeLineWidth / 3)) {
timeLine.txt.text = "";
}
} else {
timeLine._width = 0;
motionTab.txt.text = "";
countDown.destroy();
}
} else {
timeLine._width = 0;
motionTab.txt.text = "";
}
if (bonusText.txt.length > 1) {
bonusElapsed = getTimer() - bonusStart;
if (bonusElapsed > 2000) {
bonusText.txt.text = "";
}
}
}
function exit() {
fscommand ("quit");
}
function showInstructions() {
w_instructions._visible = true;
w_pregame._visible = false;
pause_btn._visible = false;
w_quitingame._visible = false;
}
function pause() {
trace("State.get() = " add com.itpremium.games.State.get());
trace("_root.State.get()" add _root.State.get());
if (com.itpremium.games.State.get() == com.itpremium.games.State.RUNNING) {
if (_root.elapsed > 1) {
_root.tempTime = elapsed;
}
com.itpremium.games.State.set(com.itpremium.games.State.PAUSE);
stopPlayer();
countDown.pause();
arrBtns = [{title:"Ok", cbfunc:pause}];
w_curWindow = new com.itpremium.games.CWindow("pause", "Click ok to unpause the game.", arrBtns, false);
} else if (com.itpremium.games.State.get() == com.itpremium.games.State.PAUSE) {
com.itpremium.games.State.set(com.itpremium.games.State.RUNNING);
startPlayer();
countDown.resume();
_root.startTime = getTimer() - _root.tempTime;
w_curWindow.destroy();
w_curWindow1.destroy();
}
}
function getStat() {
return(com.itpremium.games.State.get());
}
function pause1() {
if (com.itpremium.games.State.get() == com.itpremium.games.State.RUNNING) {
if (_root.elapsed > 1) {
_root.tempTime = elapsed;
}
com.itpremium.games.State.set(com.itpremium.games.State.PAUSE);
stopPlayer();
countDown.pause();
} else if (com.itpremium.games.State.get() == com.itpremium.games.State.PAUSE) {
com.itpremium.games.State.set(com.itpremium.games.State.RUNNING);
startPlayer();
countDown.resume();
_root.startTime = getTimer() - _root.tempTime;
}
}
function stopPlayer() {
player.stopDrag();
player.stop();
Mouse.show();
}
function startPlayer() {
if (com.itpremium.games.State.get() != com.itpremium.games.State.RUNNING) {
return(undefined);
}
player.startDrag(true);
player.play();
Mouse.hide();
}
function unSelect() {
var _local2 = 0;
while (_local2 < _root.numHiScores) {
_root.w_scores["pname" add _local2].selectable = false;
_root.w_scores["pscores" add _local2].selectable = false;
_local2++;
}
timer_lbl.selectable = false;
level_lbl.selectable = false;
scores_lbl.selectable = false;
}
function initMusic() {
var _local2 = _root.MusicEng.addStream("mus_gameplay");
_root.MusicEng.play(_local2);
_root.MusicEng.soundOff();
fmusic = false;
musicOnOff();
}
function musicOnOff() {
fmusic = !fmusic;
if (fmusic) {
_root.MusicEng.soundOn();
} else {
_root.MusicEng.soundOff();
}
defineMusicBtn();
}
function defineMusicBtn() {
if (fmusic) {
music_btn.gotoAndStop(1);
} else {
music_btn.gotoAndStop(2);
}
}
function soundOnOff() {
fsound = !fsound;
defineSoundBtn();
}
function defineSoundBtn() {
if (fsound) {
sound_btn.gotoAndStop(1);
} else {
sound_btn.gotoAndStop(2);
}
}
function playSound(snd) {
if (fsound) {
var _local2 = _root.SoundEng.addStream(snd);
_root.SoundEng.play(_local2);
}
}
function showConfirm(_text, fn) {
function cb() {
ignoreuser = false;
w_curWindow.destroy();
w_curWindow1.destroy();
fn();
}
ignoreuser = true;
var _local1 = new Array();
_local1 = [{title:"Ok", cbfunc:cb}, {title:"Cancel", cbfunc:hideConfirm}];
w_curWindow = new com.itpremium.games.CWindow("", _text, _local1, bDelOld);
bDelOld = true;
}
function hideConfirm() {
trace("hideConfirm ()");
w_curWindow.destroy();
w_curWindow1.destroy();
ignoreuser = false;
if (fexit) {
fexit = false;
pause();
}
}
function clearHiScores() {
_root.clearScores();
_root.loadScores();
_root.showScores();
}
function exit() {
fscommand ("quit");
}
function isLose() {
return(com.itpremium.games.State.is(com.itpremium.games.State.LOSE));
}
function showHiScores() {
com.itpremium.games.State.set(com.itpremium.games.State.NEW_GAME);
showScores();
}
function initLevel() {
numObjs = ((level < 15) ? (7 + level) : (22 + Math.round((level - 15) / 2)));
w_curWindow.destroy();
w_curWindow1.destroy();
ignoreuser = false;
player.invincible = false;
com.itpremium.games.State.set(com.itpremium.games.State.RUNNING);
objs = new Array();
var _local1 = 0;
while (_local1 < numObjs) {
objs.push(createObj(_local1));
_local1++;
}
startPlayer();
startTime = getTimer();
elapsed = 0;
curLevel = 0;
bonusStart = 0;
bonusElapsed = 0;
tempTime = 0;
fBonusSpeed = 0;
fspeedBonus = false;
arCountDown = new Array();
fchange = false;
level_lbl.text = level + 1;
timeLine._width = 0;
bonusText.txt.text = "";
w_bonus._visible = false;
w_quitingame._visible = false;
}
function randomKind() {
if (numDifObjs == 1) {
return(random(2));
}
var _local1;
if (level < 6) {
_local1 = Math.round(Math.random() * 10) % (9 - level);
} else {
_local1 = Math.round(Math.random() * 10) % 4;
}
if (_local1 != 0) {
return(_local1 % 3);
}
return((Math.round(Math.random() * 100) % (numDifObjs - 1)) + 2);
}
function createObj(index) {
var _local2 = randomKind();
var _local8 = Math.round(Math.random() * 100) % 4;
var _local6;
var _local4;
var _local3;
var _local5 = ((Math.round(Math.random() * 100) % startSpeed) + (level * 1)) + 1;
if ((_local2 == cSquare.KILLING) && ((index % 2) == 0)) {
_local3 = ("object" add _local2) add "_";
} else {
_local3 = "object" add _local2;
}
_local4 = attachMovie(_local3, "obj" add index, _root.getNextHighestDepth());
_local6 = new cSquare(_local4, _local2, _local5);
return(_local6);
}
function levelUp() {
trace("lvelUp()");
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].speed++;
_local1++;
}
fchange = true;
if ((((level + 1) % 5) == 0) && ((level + 1) > 0)) {
trace("bonus curLevel=" add curLevel);
trace("bonusLevelTimeAmount = " add bonusLevelTimeAmount);
if (curLevel == bonusLevelTimeAmount) {
nextLevel();
}
} else {
trace("nobonus curLevel=" add curLevel);
if (curLevel == levelTimeAmount) {
nextLevel();
}
}
curLevel++;
}
function gameOver() {
com.itpremium.games.State.set(com.itpremium.games.State.LOSE);
playSound("snd_gameover");
countDown.stop();
countDown.destructor();
lifeLine._height = 0;
clearField();
showGameOver();
}
function nextLevel() {
playSound("snd_nextLevel");
countDown.stop();
countDown.destructor();
clearField();
bTime = 0;
level++;
trace("level " add level);
if ((((level + 1) % 5) == 0) && ((level + 1) > 0)) {
trace("1!!!");
numDifObjs = 1;
} else {
trace("2!!!");
if ((level >= 2) || (level < 6)) {
numDifObjs = 7;
} else if (level < 9) {
numDifObjs = 10;
} else {
numDifObjs = 13;
}
}
levelSpeed++;
com.itpremium.games.State.set(com.itpremium.games.State.NEW_GAME);
if ((((level + 1) % 5) == 0) && ((level + 1) > 0)) {
showBonusLevel();
} else {
showNextLevel();
}
}
function changeDirection() {
playSound("snd_bonusPos");
startTimeLine("turn around", 4, 5);
numEaten = numEaten + 5;
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].changeDir();
_local1++;
}
}
function makeWall() {
playSound("snd_bonusPos");
startTimeLine("make one wall", 4, 5);
numEaten = numEaten + 5;
var _local2 = Math.round(Math.random() * 100) % 4;
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].makeBrick(_local2);
_local1++;
}
}
function changeSize(koeff) {
playSound("snd_bonusPos");
if (koeff > 0) {
startTimeLine("big button", 4, 0);
} else {
startTimeLine("mini button", 4, 0);
}
if (player._width > 25) {
player._xscale = player._xscale + (koeff * 30);
player._yscale = player._yscale + (koeff * 30);
if (player._xscale > 250) {
player._xscale = 250;
player._yscale = 250;
}
if (player._xscale < 70) {
player._xscale = 70;
player._yscale = 70;
}
}
}
function makeAll(kind) {
if (kind == cSquare.EATABLE_L) {
var _local1 = 0;
while (_local1 < Math.floor(numObjs / 2)) {
objs[_local1].changeKind(kind);
objs[_local1 + 1].changeKind(kind + 1);
_local1++;
}
} else {
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].changeKind(kind);
_local1++;
}
}
}
function pairUp() {
playSound("snd_bonusPos");
startTimeLine("pair up!", 4, 10);
numEaten = numEaten + 10;
var _local1 = 0;
while (_local1 < Math.floor(numObjs / 2)) {
objs[_local1].makePair(objs[_local1 + Math.floor(numObjs / 2)]);
_local1++;
}
}
function changeSpeed(fast) {
timeLine._width = timeLineWidth;
if (fast) {
playSound("snd_bonusNeg");
var _local2 = new com.itpremium.utils.CountDown(bonusTime, _root.CD_lbl._name, endSpeedUp);
arCounDown.push(_local2);
startTimeLine("speed up!", 2, 0);
speedUp();
_local2.start();
} else {
playSound("snd_bonusPos");
var _local2 = new com.itpremium.utils.CountDown(bonusTime, _root.CD_lbl._name, endSlowDown);
arCounDown.push(_local2);
startTimeLine("slow motion", 1, 0);
slowDown();
_local2.start();
}
}
function speedUp() {
fBonusSpeed++;
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].speed = objs[_local1].speed + 5;
_local1++;
}
}
function endSpeedUp() {
slowDown();
if (arCountDown.length > 0) {
var _local1 = arCountDown.splice(0, 1);
}
_local1.destructor();
}
function slowDown() {
fBonusSpeed--;
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].speed = objs[_local1].speed - 5;
_local1++;
}
}
function endSlowDown() {
speedUp();
if (arCountDown.length > 0) {
var _local1 = arCountDown.splice(0, 1);
}
_local1.destructor();
}
function makeInvincible() {
playSound("snd_bonusPos");
numEaten = numEaten + 10;
player.invincible = true;
countDown.destructor();
countDown = new com.itpremium.utils.CountDown(bonusTime, _root.CD_lbl._name, unmakeInv);
startTimeLine("invincible", 3, 10);
countDown.start();
}
function unmakeInv() {
player.invincible = false;
}
function clearField() {
stopPlayer();
var _local1 = 0;
while (_local1 < numObjs) {
objs[_local1].destroy();
_local1++;
}
objs = null;
}
function startTimeLine(_text, numFrame, pts) {
bonusStart = getTimer();
bonusScores = bonusScores + pts;
if (pts > 0) {
w_bonus.pts.text = pts;
w_bonus.gotoAndPlay(1);
w_bonus._visible = true;
}
if (numFrame == 4) {
bonusText.txt.text = _text;
} else {
timeLine._width = timeLineWidth;
timeLine.gotoAndStop(numFrame);
motionTab.txt.text = _text;
}
}
function decLife() {
playSound("snd_killing");
life--;
com.itpremium.games.Process.kill(changeLife, 3);
com.itpremium.games.Process.start(changeLife, [(life * lifeLineHeight) / 3], 3, 0);
if (life < 0) {
life1 = Number(life1) - 1;
player._xscale = 100;
player._yscale = 100;
life = 3;
lifeLine._height = lifeLineHeight;
com.itpremium.games.Process.kill(changeLife, 3);
playSound("snd_lifeover");
if (Number(life1) < 0) {
life1 = 0;
gameOver();
}
}
}
function changeLife(endSize) {
if (lifeLine._height > (endSize + 1)) {
lifeLine._height = lifeLine._height - 2;
} else if (lifeLine._height < (endSize - 1)) {
lifeLine._height = lifeLine._height + 2;
} else {
lifeLine._height = endSize;
return(com.itpremium.games.Process.KILL);
}
}
function incLife() {
playSound("snd_life");
startTimeLine("bonus life", 4, 0);
life++;
com.itpremium.games.Process.start(changeLife, [(life * lifeLineHeight) / 3], 3, 0);
}
function showScores() {
_root.w_pregame._visible = false;
_root.pause_btn._visible = false;
_root.w_curWindow.destroy();
_root.w_scores._visible = true;
_root.w_gameOver._visible = false;
var _local2 = 0;
while (_local2 < _root.numHiScores) {
_root.w_scores["name" add _local2].text = _root.hiScores[_local2][0];
_root.w_scores["name" add _local2].maxChars = 10;
_root.w_scores["scores" add _local2].text = _root.hiScores[_local2][1];
_local2++;
}
}
function checkScores() {
pos = 0;
var _local2 = 0;
while (_local2 < _root.numHiScores) {
if ((_root.scores > _root.hiScores[_local2][1]) || (_root.hiScores[_local2][0] == "undefined")) {
pos = _local2;
askName(pos);
_local2 = _root.numHiScores;
}
_local2++;
}
w_unfortune._visible = Boolean(pos == 0);
}
function askName(pos) {
trace("pos = " add pos);
_root.w_curWindow.destroy();
_root.hiScores.splice(pos, 0, new Array("unnamed", _root.scores));
if (_root.hiScores.length >= _root.numHiScores) {
_root.hiScores.splice(_root.numHiScores, 1);
}
showScores();
_root.w_scores["name" add pos].text = "unnamed";
_root.w_scores["name" add pos].type = "input";
_root.w_scores["name" add pos].selectable = true;
Selection.setFocus(_root.w_scores["name" add pos]);
Selection.setSelection(0, _root.w_scores["name" add pos].length);
_root.w_scores["name" add pos].onKillFocus = function (newFocus) {
if ((_root.w_scores["name" add pos].type == "input") && (_root.w_scores["name" add pos].text != "unnamed")) {
_root.w_scores["name" add pos].type = "dynamic";
saveName(_root.w_scores["name" add pos].text, pos);
_root.w_scores["name" add pos].selectable = false;
}
};
}
function saveName(_text, pos) {
_root.hiScores[pos][0] = _text;
_root.saveScores();
}
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++;
}
}
debug = false;
var bonusTime = 5000;
var startSpeed = 5;
var normalSize = 33;
var countAmount = 10;
var levelTimeAmount = 6;
var bonusLevelTimeAmount = 1;
var bonusLevelEach = 5;
var numHiScores = 10;
var online = false;
var linkOf = "http://www.doublegames.com/?fr=funnybuttonsof";
var linkOn = "http://www.doublegames.com/?fr=funnybuttonson";
var game = (new com.itpremium.games.Game());
game.cWindows = new game.cWindows();
var objs;
var scores;
var numEaten;
var arCountDown;
var w_curWindow;
var w_menu;
var bDelOld = false;
var level = 0;
var curLevel;
var startTime;
var elapsed;
var fchange;
var numDifObjs;
var fBonusSpeed = 0;
var timeLineWidth = timeLine._width;
var lifeLineHeight = lifeLine._height;
var bonusElapsed;
var bonusStart;
var hiScores;
var bonusScores;
var fmusic = true;
var fsound = true;
var life;
var ignoreuser;
var fspeedBonus;
var fexit = false;
var stageX = 800;
var stageY = 600;
var SoundEng = (new com.itpremium.utils.WaveEngine(1));
var MusicEng = (new com.itpremium.utils.WaveEngine(2));
MusicEng.setAllVolume(50);
game.cKeyboard.addCombination("space", pause, [], "UP");
var defUsers = [["Jack", 321], ["Smith", 298], ["Tom", 240], ["Tracy", 209], ["Jane", 158], ["Kyle", 105], ["Stane", 88], ["Cole", 87], ["Larry", 79], ["John", 56]];
settings = SharedObject.getLocal("funny_buttons_v0.0");
var defUsers = [["Jack", 321], ["Smith", 298], ["Tom", 240], ["Tracy", 209], ["Jane", 158], ["Kyle", 105], ["Stane", 88], ["Cole", 87], ["Larry", 79], ["John", 56]];
w_scores._visible = false;
w_pregame._visible = false;
w_instructions._visible = false;
w_gameOver._visible = false;
w_bonus._visible = false;
w_unfortune._visible = false;
w_quitingame._visible = false;
unSelect();
init();
Instance of Symbol 279 MovieClip "sound_btn" in Frame 1
on (press) {
_root.soundOnOff();
}
Instance of Symbol 282 MovieClip "music_btn" in Frame 1
on (press) {
_root.musicOnOff();
}
Frame 2
stop();
Frame 3
gotoAndPlay ("game");
Symbol 48 MovieClip [btnTpl] Frame 1
stop();
onRollOver = function () {
gotoAndStop (2);
};
Symbol 48 MovieClip [btnTpl] Frame 2
stop();
onRollOut = function () {
gotoAndStop (1);
};
Symbol 64 Button
on (release) {
_root.hideConfirm();
_root.gameOver();
this.removeMovieClip();
}
Symbol 72 Button
on (release) {
if (_root.ignoreuser) {
return(undefined);
}
_root.pause();
_root.fexit = true;
this.removeMovieClip();
}
Instance of Symbol 55 MovieClip in Symbol 73 MovieClip [wnd_quitingame] Frame 1
onClipEvent (load) {
bg_btn.useHandCursor = false;
}
Symbol 84 Button
on (press) {
_root.playSound("std");
}
on (press) {
if (_root.ignoreuser) {
return(undefined);
}
_root.pause();
_root.fexit = true;
this.removeMovieClip();
}
Symbol 92 Button
on (press) {
_root.playSound("snd_click");
mouse_down = true;
}
on (release, releaseOutside) {
mouse_down = false;
}
Symbol 98 Button
on (press) {
_root.playSound("snd_click");
mouse_down = true;
}
on (release, releaseOutside) {
mouse_down = false;
}
Symbol 104 Button
on (press) {
dragging = true;
}
on (release, releaseOutside) {
dragging = false;
}
Symbol 106 MovieClip Frame 1
function drag() {
if ((_ymouse > line._y) && (_ymouse < (line._y + line._height))) {
scroller._y = _ymouse;
var _local1 = (_ymouse - line._y) / line._height;
field.scroll = int(_local1 * field.maxscroll);
if (field.scroll >= field.maxscroll) {
field.scroll = field.maxscroll;
}
} else if (_ymouse <= line._y) {
setPos(1);
} else if (_ymouse >= (line._y + line._height)) {
setPos(field.maxscroll);
}
}
function setPos(num) {
var _local1 = ((((num == 1) ? 0 : (num)) * line._height) / field.maxscroll) + line._y;
scroller._y = _local1;
field.scroll = num;
}
function init() {
if (field.scroll == field.maxscroll) {
scroller._visible = false;
} else {
scroller._visible = true;
}
}
Instance of Symbol 105 MovieClip "scroller" in Symbol 106 MovieClip Frame 1
onClipEvent (mouseMove) {
if (dragging) {
this._parent.drag();
updateAfterEvent(mouseMove);
}
}
Instance of Symbol 93 MovieClip in Symbol 107 MovieClip [wnd_instr1] Frame 1
onClipEvent (load) {
var scroller = this._parent.inst_scr;
}
onClipEvent (enterFrame) {
if (mouse_down && (!this.scroller.scroller.dragging)) {
this.scroller.field.scroll = this.scroller.field.scroll - 1;
this.scroller.setPos(this.scroller.field.scroll);
}
}
Instance of Symbol 99 MovieClip in Symbol 107 MovieClip [wnd_instr1] Frame 1
onClipEvent (load) {
var scroller = this._parent.inst_scr;
}
onClipEvent (enterFrame) {
if (mouse_down && (!this.scroller.scroller.dragging)) {
this.scroller.field.scroll = this.scroller.field.scroll + 1;
this.scroller.setPos(this.scroller.field.scroll);
}
}
Instance of Symbol 106 MovieClip "inst_scr" in Symbol 107 MovieClip [wnd_instr1] Frame 1
onClipEvent (load) {
field = this._parent.instructions;
}
Symbol 155 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.showConfirm("Do you really want to clear hiscores?", _root.clearHiScores);
}
Symbol 156 Button
on (press) {
_root.playSound("std");
}
on (press) {
if (_root.ignoreuser) {
return(undefined);
}
_root.w_scores._visible = false;
_root.pause_btn._visible = true;
if (!_root.isLose()) {
_root.showMenuW();
} else {
_root.w_gameOver._visible = true;
}
}
Symbol 174 MovieClip Frame 1
stop();
Symbol 174 MovieClip Frame 2
stop();
Symbol 174 MovieClip Frame 3
stop();
Symbol 174 MovieClip Frame 4
stop();
Symbol 193 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.pause();
}
Symbol 199 MovieClip Frame 40
this._visible = false;
stop();
Symbol 207 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.playAgain();
}
Symbol 210 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.showScores();
}
Symbol 213 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.showInstructions();
}
Symbol 232 Button
on (press) {
getURL ("http://www.doublegames.com/funnybuttons.html?fr=funnybuttonson", "_blank");
}
Symbol 246 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.w_gameOver._visible = false;
_root.playAgain();
}
Symbol 254 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.w_gameOver._visible = false;
_root.showMenuW();
}
Symbol 262 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.w_gameOver._visible = false;
_root.showHiScores();
}
Symbol 269 Button
on (press) {
_root.playSound("std");
}
on (press) {
_visible = false;
}
Instance of Symbol 55 MovieClip in Symbol 270 MovieClip Frame 1
onClipEvent (load) {
bg_btn.useHandCursor = false;
}
Symbol 272 Button
on (press) {
_root.playSound("std");
}
on (press) {
_root.showMenuW();
}
Instance of Symbol 93 MovieClip in Symbol 275 MovieClip Frame 1
onClipEvent (load) {
var scroller = this._parent.inst_scr;
}
onClipEvent (enterFrame) {
if (mouse_down && (!this.scroller.scroller.dragging)) {
this.scroller.field.scroll = this.scroller.field.scroll - 1;
this.scroller.setPos(this.scroller.field.scroll);
}
}
Instance of Symbol 99 MovieClip in Symbol 275 MovieClip Frame 1
onClipEvent (load) {
var scroller = this._parent.inst_scr;
}
onClipEvent (enterFrame) {
if (mouse_down && (!this.scroller.scroller.dragging)) {
this.scroller.field.scroll = this.scroller.field.scroll + 1;
this.scroller.setPos(this.scroller.field.scroll);
}
}
Instance of Symbol 106 MovieClip "inst_scr" in Symbol 275 MovieClip Frame 1
onClipEvent (load) {
field = this._parent.instructions;
}
Symbol 279 MovieClip Frame 1
stop();
Symbol 282 MovieClip Frame 1
stop();
Symbol 289 Button
on (press) {
if (_root.ignoreuser) {
return(undefined);
}
_root.pause();
_root.fexit = true;
_root.attachMovie("wnd_instr1", "pwnd_instr1", 954231, {_x:400, _y:300});
}
Symbol 290 Button
on (press) {
if (_root.ignoreuser) {
return(undefined);
}
_root.pause();
_root.fexit = true;
trace("_root.getStat() = " add _root.getStat());
if (_root.getStat() == 16) {
_root.attachMovie("wnd_quitingame", "pwnd_quitingame", 823455, {_x:400, _y:300});
} else if (_root.getStat() != 4) {
_root.showConfirm("Do you really want quit the game?", _root.exit);
}
}
Symbol 291 MovieClip [__Packages.cSquare] Frame 0
class cSquare
{
var mc, kind, speed, sizeX, sizeY, state, dy, dx;
function cSquare (_mc, _kind, _speed) {
mc = _mc;
mc.onPress = tracing;
kind = _kind;
speed = _speed;
sizeX = _root.stageX;
sizeY = _root.stageY;
var _local3 = Math.round(Math.random() * 100) % 15;
if (_local3 == 0) {
state = CHANGABLE;
} else {
state = NORMAL;
}
changeDir();
setPos();
}
function move() {
var _local3 = 0;
while (_local3 < speed) {
mc._y = mc._y + dy;
mc._x = mc._x + dx;
_local3++;
}
if (state == CHANGABLE) {
var _local4 = Math.round(Math.random() * 100) % 10;
if (_local4 == 0) {
changeKind(_root.randomKind());
}
}
if ((((((dx > 0) && (mc._x > (sizeX - offsetX))) || ((dy > 0) && (mc._y > (sizeY - offsetY)))) || ((dx < 0) && (mc._x < offsetX))) || ((dy < 0) && (mc._y < (offsetY + 5)))) && (kind != KILL)) {
kind = KILL;
}
}
function destroy() {
mc.removeMovieClip();
}
function tracing() {
trace((("dy " add _y) add " dx ") add _x);
}
function checkHit() {
if (!mc.hitTest(_root.player)) {
return(undefined);
}
switch (kind) {
case EATABLE_L :
_root.numEaten = _root.numEaten + 2;
_root.playSound("snd_eatable");
break;
case EATABLE_S :
_root.numEaten++;
_root.playSound("snd_eatable");
break;
case KILLING :
if (_root.player.invincible) {
return(undefined);
}
_root.decLife();
break;
case CHDIR :
_root.changeDirection();
break;
case WALL :
_root.makeWall();
break;
case BIGSQUARE :
_root.changeSize(1);
break;
case MINISQUARE :
_root.changeSize(-1);
break;
case ALLBAD :
_root.makeAll(KILLING);
break;
case ALLEATABLE :
_root.makeAll(EATABLE_L);
break;
case DOUBLE :
_root.pairUp();
break;
case SPEEDUP :
_root.changeSpeed(true);
break;
case SLOWDOWN :
_root.changeSpeed(false);
break;
case INVINCIBLE :
_root.makeInvincible();
break;
case HEART :
if (_root.life >= 3) {
break;
}
_root.incLife();
}
kind = KILL;
}
function setPos() {
switch (true) {
case dx > 0 :
mc._x = offsetX;
mc._y = Math.round(Math.random() * (sizeY - (offsetY * 2))) + offsetY;
break;
case dx < 0 :
mc._x = sizeX - offsetX;
mc._y = Math.round(Math.random() * (sizeY - (offsetY * 2))) + offsetY;
break;
case dy > 0 :
mc._y = offsetY + 5;
mc._x = Math.round(Math.random() * (sizeX - (offsetX * 2))) + offsetX;
break;
case dy < 0 :
mc._y = sizeY - offsetY;
mc._x = Math.round(Math.random() * (sizeX - (offsetX * 2))) + offsetX;
}
}
function changeDir() {
var _local2 = Math.round(Math.random() * 100) % 4;
switch (_local2) {
case 0 :
dx = 0;
dy = 1;
break;
case 1 :
dx = 0;
dy = -1;
break;
case 2 :
dx = 1;
dy = 0;
break;
case 3 :
dx = -1;
dy = 0;
}
}
function makeBrick(dir) {
switch (dir) {
case 0 :
dx = 0;
dy = 1;
break;
case 1 :
dx = 0;
dy = -1;
break;
case 2 :
dx = 1;
dy = 0;
break;
case 3 :
dx = -1;
dy = 0;
}
setPos();
}
function changeKind(_kind) {
kind = _kind;
var _local3 = mc._name;
var _local5 = mc._x;
var _local4 = mc._y;
destroy();
mc = _root.attachMovie("object" add kind, _local3, _root.getNextHighestDepth());
mc._x = _local5;
mc._y = _local4;
}
function makePair(other) {
other.mc._x = mc._x + 10;
other.mc._y = mc._y + 10;
other.speed = speed;
other.dx = dx;
other.dy = dy;
}
var offsetX = 30;
var offsetY = 50;
static var KILL = -1;
static var EATABLE_L = 0;
static var EATABLE_S = 1;
static var KILLING = 2;
static var SPEEDUP = 3;
static var SLOWDOWN = 4;
static var HEART = 5;
static var BIGSQUARE = 6;
static var MINISQUARE = 7;
static var CHDIR = 8;
static var WALL = 9;
static var DOUBLE = 10;
static var ALLBAD = 11;
static var ALLEATABLE = 12;
static var INVINCIBLE = 13;
static var NORMAL = 0;
static var CHANGABLE = 1;
}
Symbol 292 MovieClip [__Packages.com.itpremium.utils.CountDown] Frame 0
class com.itpremium.utils.CountDown
{
var textField, afterStop, wh, mc;
function CountDown (_time, _textField, _afterStop) {
time = _time;
textField = _textField;
afterStop = _afterStop;
copyNumber++;
wh = getTimer();
mc = _root.createEmptyMovieClip("CountDown_" + copyNumber, _root.getNextHighestDepth());
trace("CountDown init.");
}
function destructor() {
trace(("CountDown it is destroyed. Time of a life - " + (getTimer() - wh)) + " ms.");
mc.removeMovieClip();
}
function stop() {
mc._stop = true;
afterStop();
}
function start() {
mc.restTime = time;
mc._stop = false;
mc.lastTime = getTimer();
mc.onEnterFrame = mx.utils.Delegate.create(this, onEnterFrame);
}
function pause() {
mc._stop = true;
}
function resume() {
mc._stop = false;
mc.lastTime = getTimer();
}
function getLeftTime() {
return(mc.restTime);
}
function onEnterFrame() {
if (mc._stop) {
return(0);
}
var now = getTimer();
var diff = (now - mc.lastTime);
if (mc.restTime > 0) {
if (eval (this.textField) != undefined) {
var nSec = int(mc.restTime / 1000);
var nMin = int(nSec / 60);
nSec = nSec - (nMin * 60);
var sTime = ((nMin + ":") + ((nSec < 10) ? ("0" + nSec) : (nSec)));
eval (this.textField).text = sTime;
}
mc.restTime = mc.restTime - diff;
} else if (mc.restTime <= 0) {
mc._stop = true;
afterStop();
}
mc.lastTime = now;
}
var time = 0;
static var copyNumber = 0;
}
Symbol 293 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 294 MovieClip [__Packages.CWindow1] Frame 0
class CWindow1
{
static var wndOld;
var mcWnd, amcBtn, cBanner, cCountDown;
function CWindow1 (sHeader, sMsg, aoBtn, bDelOld) {
if (bDelOld && (wndOld != undefined)) {
wndOld.destroy();
}
wndOld = this;
mcWnd = _root.attachMovie(sWndTplName, "wnd_CWindow_" + (nWndNum++), _root.getNextHighestDepth());
mcWnd._x = nCenterX;
mcWnd._y = nCenterY;
setMessage(sMsg);
setHeader(sHeader);
amcBtn = new Array();
if ((aoBtn != undefined) && (aoBtn.length > 0)) {
addBtns(aoBtn);
}
}
function createBanner(sUrlMc, sUrlClick, nX, nY) {
mcWnd.msg._visible = false;
mcWnd.header._visible = false;
var _local2 = mcWnd.attachMovie("bannerT", "banner", mcWnd.getNextHighestDepth());
_local2._x = ((nX == undefined) ? 0 : (nX));
_local2._y = ((nY == undefined) ? 0 : (nY));
cBanner = new com.itpremium.utils.BannerLoader(sUrlMc, sUrlClick, _local2.banner.container);
cBanner.show();
return(_local2);
}
function createCountDown(nTime, cbF, nX, nY) {
var _local2 = mcWnd.attachMovie("countDownT", "countDown", mcWnd.getNextHighestDepth());
_local2._x = ((nX == undefined) ? 0 : (nX));
_local2._y = ((nY == undefined) ? 80 : (nY));
cCountDown = new com.itpremium.utils.CountDown(nTime, _local2 + ".seconds_txt", cbF);
cCountDown.start();
}
function setMessage(sMsg) {
mcWnd.msg.text = sMsg;
}
function setHeader(sHeader) {
mcWnd.header.text = sHeader;
}
function addBtns(aoBtn) {
var _local2 = 0;
while (_local2 < aoBtn.length) {
addBtn(aoBtn[_local2]);
_local2++;
}
alignBtns();
}
function addBtn(oBtn) {
var _local2;
_local2 = mcWnd.attachMovie(sBtnTplName, "btn" + amcBtn.length, mcWnd.getNextHighestDepth());
amcBtn.push(_local2);
_local2.fDelegate = mx.utils.Delegate.create(this, onRelease);
_local2.fCb = oBtn.cbfunc;
_local2.onRelease = function () {
this.fDelegate(this.fCb);
};
_local2.title.text = oBtn.title;
_local2._y = nBtnDefaultY;
}
function destroy() {
cCountDown.destructor();
cBanner.destructor();
removeMovieClip(mcWnd);
}
function onRelease(fCb) {
var _local2 = fCb();
if (_local2 == KILL) {
destroy();
}
}
function alignBtns() {
if (amcBtn.length == 0) {
return(false);
}
var _local3 = ((-((amcBtn.length * amcBtn[0]._width) + ((amcBtn.length - 1) * nBtnIndent))) / 2) + (amcBtn[0]._width / 2);
var _local2 = 0;
while (_local2 < amcBtn.length) {
amcBtn[_local2]._x = (_local3 + (_local2 * amcBtn[0]._width)) + (_local2 * nBtnIndent);
_local2++;
}
}
static var KILL = 0;
static var nWndNum = 0;
static var nBtnDefaultY = 130;
static var nBtnIndent = 10;
static var nCenterX = Stage.width / 2;
static var nCenterY = Stage.height / 2;
var sWndTplName = "wndTpl1";
var sBtnTplName = "btnTpl";
}
Symbol 295 MovieClip [__Packages.com.itpremium.utils.BannerLoader] Frame 0
class com.itpremium.utils.BannerLoader
{
var bTemplate, container, wh;
function BannerLoader (_urlMC, _urlClick, _bTemplate) {
urlMC = _urlMC;
urlClick = _urlClick;
bTemplate = _bTemplate.duplicateMovieClip("bannerLoader_" + copyNumber, _bTemplate._parent.getNextHighestDepth());
container = bTemplate.createEmptyMovieClip("container_mc", bTemplate.getNextHighestDepth());
bTemplate.onRelease = mx.utils.Delegate.create(this, onRelease);
_bTemplate._visible = false;
copyNumber++;
wh = getTimer();
trace("BannerLoader init.");
}
function destructor() {
trace(("BannerLoader it is destroyed. Time of a life - " + (getTimer() - wh)) + " ms.");
container.unloadMovie();
bTemplate.removeMovieClip();
}
function show() {
var _local2 = bTemplate._parent;
bTemplate._visible = true;
container.loadMovie(urlMC);
}
function hide() {
destructor();
}
function onRelease() {
getURL (urlClick, "_blank");
}
var urlMC = new String();
var urlClick = new String();
static var copyNumber = 0;
}
Symbol 296 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 297 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 298 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 299 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 300 MovieClip [__Packages.com.itpremium.games.State] Frame 0
class com.itpremium.games.State
{
function State () {
}
static function set(_status) {
if (_status == undefined) {
return(false);
}
current = _status;
return(true);
}
static function addState(_value) {
if (_value == undefined) {
return(false);
}
current = current | _value;
}
static function deleteState(_value) {
if ((_value == undefined) || (!is(_value))) {
return(false);
}
current = current - _value;
}
static function get() {
return(current);
}
static function is(_value) {
return((((current & _value) != 0) ? true : false));
}
static function addNew(_statuses) {
_defLen = getLastState();
var _local1 = 0;
while (_local1 < _statuses.length) {
com.itpremium.games.State[_statuses[_local1]] = 1 << ((_defLen + _local1) + 1);
_local1++;
}
_defLen = _defLen + _statuses.length;
}
static function getLastState() {
var _local1 = 0;
for (var _local2 in com.itpremium.games.State) {
_local1 = (((com.itpremium.games.State[_local2] > _local1) && (typeof(com.itpremium.games.State[_local2]) == "number")) ? (com.itpremium.games.State[_local2]) : (_local1));
}
return(com.itpremium.math.Bit.countBits(_local1));
}
static function getStateName(_value) {
for (var _local2 in com.itpremium.games.State) {
if (((typeof(com.itpremium.games.State[_local2]) == "number") && (com.itpremium.games.State[_local2] == _value)) && (_local2 != "current")) {
return(_local2);
}
}
}
function toString() {
return("[class State]");
}
static var NONE = 1;
static var NEW_GAME = 2;
static var RUNNING = 4;
static var WAIT = 8;
static var PAUSE = 16;
static var PLAY_AGAIN = 32;
static var WIN = 64;
static var LOSE = 128;
static var _defOffset = 0;
static var _defLen = 7;
static var current = 0;
}
Symbol 301 MovieClip [__Packages.com.itpremium.utils.Debugging] Frame 0
class com.itpremium.utils.Debugging
{
var onUpdate;
function Debugging () {
addInfo(this, "Start");
}
function initKey() {
Key.addListener(this);
}
function onKeyDown() {
if (Key.isDown(17) && (Key.getCode() == 68)) {
show();
onUpdate(historyList);
}
}
function addInfo(target, message) {
var _local2 = _add(6, target, message);
return(_local2);
}
function addError(target, message) {
var _local2 = _add(3, target, message);
return(_local2);
}
function addNotice(target, message) {
var _local2 = _add(5, target, message);
return(_local2);
}
function addWarning(target, message) {
var _local2 = _add(4, target, message);
return(_local2);
}
function addDebug(target, message) {
var _local2 = _add(7, target, message);
return(_local2);
}
function _add(type, target, message) {
var _local3 = new Date();
var _local2 = historyList.push({date:_local3, type:type, target:target, message:message});
onUpdate(historyList);
return(_local2);
}
function manualUpdate() {
onUpdate(historyList);
}
function show() {
trace("---Show Debug Info---");
var _local2 = 0;
while (_local2 < historyList.length) {
traceMsg(_local2);
_local2++;
}
trace("---End---");
}
function traceMsg(_id) {
var _local2 = historyList[_id];
var _local3 = ((((((((_id + " : ") + _local2.date.getTime()) + " [") + priority[_local2.type]) + "] ObjectName = '") + _local2.target) + "' Message = '") + _local2.message) + "'";
trace(_local3);
if (typeof(_local2.message) == "object") {
trace("***[Message contain object]***");
trace(Utilits.object2xml(_local2.target, _local2.message, " ", "\t"));
trace("***[End trace object]***");
}
}
function getAsArray() {
return(historyList);
}
function toString() {
return("[com.ITPremium.utilits.Debugging]");
}
var historyList = new Array();
var priority = new Array("emergency", "alert", "critical", "error", "warning", "notice", "info", "debug");
var debugKeyListener = new Object();
}
Symbol 302 MovieClip [__Packages.Utilits] Frame 0
class Utilits
{
function Utilits () {
}
static function object2xml(rootname, data, lc, blc) {
blc = ((blc == undefined) ? "" : (blc));
if ((typeof(data) == "object") || (typeof(data) == "movieclip")) {
var _local1 = new String();
var _local3 = outLevel(data, blc + lc);
_local1 = _local1 + (((blc + "<") + rootname) + _local3[0]);
if (_local3[1] != "") {
_local1 = _local1 + (((((">\n" + _local3[1]) + blc) + "</") + rootname) + ">");
} else {
_local1 = _local1 + "/>";
}
return(_local1);
}
}
static function outLevel(data, lc) {
var output = new String();
var attributes = new String();
for (var key in data) {
if (typeof(data[key]) != "object") {
var o = eval (data[key]);
if (typeof(o) == "movieclip") {
output = output + reqMovieClip(data, key, lc);
} else {
var quote = "";
if ((typeof(data[key]) == "string") || (typeof(data[key]) == "undefined")) {
quote = "\"";
}
attributes = attributes + (((((" " + key) + "=") + quote) + data[key]) + quote);
}
} else {
var sub_output = "";
var ret_arr = outLevel(data[key], lc + lc);
sub_output = sub_output + (((lc + "<") + key) + ret_arr[0]);
if (ret_arr[1] != "") {
sub_output = sub_output + (((((">\n" + ret_arr[1]) + lc) + "</") + key) + ">\n");
} else {
sub_output = sub_output + "/>\n";
}
output = output + sub_output;
}
}
return(new Array(attributes, output));
}
static function reqMovieClip(data, key, lc) {
var sub_output = new String();
var o = eval (data[key]);
sub_output = sub_output + (((lc + "<") + key) + ">\n");
sub_output = sub_output + ((((lc + lc) + "<") + data[key]) + ">\n");
sub_output = sub_output + outLevel(o, (lc + lc) + lc);
sub_output = sub_output + ((((lc + lc) + "</") + data[key]) + ">\n");
sub_output = sub_output + (((lc + "</") + key) + ">\n");
return(sub_output);
}
}
Symbol 303 MovieClip [__Packages.com.itpremium.math.Bit] Frame 0
class com.itpremium.math.Bit
{
function Bit () {
}
static function getBits(value, st, len) {
return((((value >>> st) >>> len) << len) ^ (value >>> st));
}
static function setBits(value, val, st, len) {
var _local3 = getBits(value, st, len);
var _local2 = value ^ (_local3 << st);
var _local1 = val << st;
return(_local2 ^ _local1);
}
static function countBits(value) {
return(Math.ceil(Math.log(value) / Math.LN2));
}
static function bit2bin(a, b) {
return(a | (b << 16));
}
static function bin2bit(value) {
return({b:value >>> 16, a:value ^ ((value >>> 16) << 16)});
}
}
Symbol 304 MovieClip [__Packages.com.itpremium.games.CWindow] Frame 0
class com.itpremium.games.CWindow
{
static var wndOld;
var mcWnd, amcBtn, cBanner, cCountDown;
function CWindow (sHeader, sMsg, aoBtn, bDelOld) {
if (bDelOld && (wndOld != undefined)) {
wndOld.destroy();
}
wndOld = this;
mcWnd = _root.attachMovie(sWndTplName, "wnd_CWindow_" + (nWndNum++), _root.getNextHighestDepth());
mcWnd._x = nCenterX;
mcWnd._y = nCenterY;
setMessage(sMsg);
setHeader(sHeader);
amcBtn = new Array();
if ((aoBtn != undefined) && (aoBtn.length > 0)) {
addBtns(aoBtn);
}
}
function createBanner(sUrlMc, sUrlClick, nX, nY) {
mcWnd.msg._visible = false;
mcWnd.header._visible = false;
var _local2 = mcWnd.attachMovie("bannerT", "banner", mcWnd.getNextHighestDepth());
_local2._x = ((nX == undefined) ? 0 : (nX));
_local2._y = ((nY == undefined) ? 0 : (nY));
cBanner = new com.itpremium.utils.BannerLoader(sUrlMc, sUrlClick, _local2.banner.container);
cBanner.show();
return(_local2);
}
function createCountDown(nTime, cbF, nX, nY) {
var _local2 = mcWnd.attachMovie("countDownT", "countDown", mcWnd.getNextHighestDepth());
_local2._x = ((nX == undefined) ? 0 : (nX));
_local2._y = ((nY == undefined) ? 80 : (nY));
cCountDown = new com.itpremium.utils.CountDown(nTime, _local2 + ".seconds_txt", cbF);
cCountDown.start();
}
function setMessage(sMsg) {
mcWnd.msg.text = sMsg;
}
function setHeader(sHeader) {
mcWnd.header.text = sHeader;
}
function addBtns(aoBtn) {
var _local2 = 0;
while (_local2 < aoBtn.length) {
addBtn(aoBtn[_local2]);
_local2++;
}
alignBtns();
}
function addBtn(oBtn) {
var _local2;
_local2 = mcWnd.attachMovie(sBtnTplName, "btn" + amcBtn.length, mcWnd.getNextHighestDepth());
amcBtn.push(_local2);
_local2.fDelegate = mx.utils.Delegate.create(this, onRelease);
_local2.fCb = oBtn.cbfunc;
_local2.onRelease = function () {
this.fDelegate(this.fCb);
};
_local2.title.text = oBtn.title;
_local2._y = nBtnDefaultY;
}
function destroy() {
cCountDown.destructor();
cBanner.destructor();
removeMovieClip(mcWnd);
}
function onRelease(fCb) {
var _local2 = fCb();
if (_local2 == KILL) {
destroy();
}
}
function alignBtns() {
if (amcBtn.length == 0) {
return(false);
}
var _local3 = ((-((amcBtn.length * amcBtn[0]._width) + ((amcBtn.length - 1) * nBtnIndent))) / 2) + (amcBtn[0]._width / 2);
var _local2 = 0;
while (_local2 < amcBtn.length) {
amcBtn[_local2]._x = (_local3 + (_local2 * amcBtn[0]._width)) + (_local2 * nBtnIndent);
_local2++;
}
}
static var KILL = 0;
static var nWndNum = 0;
static var nBtnDefaultY = 130;
static var nBtnIndent = 10;
static var nCenterX = Stage.width / 2;
static var nCenterY = Stage.height / 2;
var sWndTplName = "wndTpl";
var sBtnTplName = "btnTpl";
}