Frame 1
stop();
Instance of Symbol 29 MovieClip in Frame 1
onClipEvent (load) {
this.barra._yscale = 0;
}
onClipEvent (enterFrame) {
loaded = _root.getBytesLoaded();
total = _root.getBytesTotal();
rate = (100 / total) * loaded;
barra._yscale = rate;
if (rate > 99) {
_root.nextFrame();
}
}
Frame 2
stop();
Frame 3
stop();
Frame 4
trace(_root.level);
stopAllSounds();
stop();
Instance of Symbol 105 MovieClip "icons" in Frame 4
onClipEvent (load) {
function resetEvid() {
evid1._visible = false;
evid2._visible = false;
evid3._visible = false;
}
function initWeapons() {
weaponNumber = 3;
weapons = new Array();
weapons[0] = 2;
weapons[1] = 2;
weapons[2] = 2;
populate();
}
function populate() {
n = 0;
while (n < weaponNumber) {
this["arma" + (n + 1)].text = Math.twoDigits(weapons[n]);
n++;
}
}
function useWeapon(num) {
if (weapons[num - 1] > 0) {
_root.dinamite = false;
_root.airstrike = false;
_root.ironball = false;
evid1._visible = false;
evid2._visible = false;
evid3._visible = false;
switch (num) {
case 1 :
_root.dinamite = true;
evid1._visible = true;
break;
case 2 :
_root.air_strike();
break;
case 3 :
_root.ironball = true;
evid3._visible = true;
}
weapons[num - 1]--;
populate();
}
}
_root.dinamite = false;
_root.airstrike = false;
_root.ironball = false;
evid1._visible = false;
evid2._visible = false;
evid3._visible = false;
Math.twoDigits = function (num) {
if (num < 10) {
return("0" + num);
}
return(num);
};
initWeapons();
}
onClipEvent (enterFrame) {
if (((_root.dinamite == false) && (_root.airstrike == false)) && (_root.ironball == false)) {
_root.usingWeapon = false;
resetEvid();
} else {
_root.usingWeapon = true;
}
}
Instance of Symbol 112 MovieClip "nextpiece" in Frame 4
onClipEvent (load) {
function getNext() {
n = this.next - 1;
next = Math.floor(random(5));
this.gotoAndStop(next + 1);
return(n);
}
this.next = 1;
}
Frame 5
myMap = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
stop();
function buildMap() {
map = myMap;
var mapWidth = map[0].length;
var mapHeight = map.length;
var i = 0;
while (i < mapHeight) {
var j = 0;
while (j < mapWidth) {
this.attachMovie("tile", (("t_" + i) + "_") + j, ++d);
this[(("t_" + i) + "_") + j]._x = offsetX + (j * tileW);
this[(("t_" + i) + "_") + j]._y = offsetY + (i * tileH);
this[(("t_" + i) + "_") + j].gotoAndStop(map[i][j] + 1);
this[(("t_" + i) + "_") + j].x = j;
this[(("t_" + i) + "_") + j].y = i;
j++;
}
i++;
}
}
function checkIfDied() {
var mapWidth = _root.myMap[0].length;
var j = 0;
while (j < mapWidth) {
if ((_root.myMap[0][j] > 0) && (moveable(j, 0))) {
if (_root.seengameover != true) {
_root.gotoAndStop("gameover");
}
}
j++;
}
}
function destroyMap() {
map = myMap;
var mapWidth = map[0].length;
var mapHeight = map.length;
var i = 0;
while (i < mapHeight) {
var j = 0;
while (j < mapWidth) {
this[(("t_" + i) + "_") + j].removeMovieClip();
j++;
}
i++;
}
}
function moveable(x, y) {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
if (y != (mapHeight - 1)) {
if (checkTile(x, y, 2) != 0) {
onGround = true;
} else {
onGround = false;
}
} else {
onGround = true;
}
return(onGround);
}
function canMove(x, y, dir) {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
switch (dir) {
case 3 :
if ((x != 0) && (checkTile(x, y, 3) == 0)) {
return(true);
}
return(false);
case 4 :
if ((x != 9) && (checkTile(x, y, 4) == 0)) {
return(true);
}
return(false);
}
}
function updateMap() {
map = myMap;
var mapWidth = map[0].length;
var mapHeight = map.length;
var i = 0;
while (i < mapHeight) {
var j = 0;
while (j < mapWidth) {
this[(("t_" + i) + "_") + j].gotoAndStop(map[i][j] + 1);
j++;
}
i++;
}
}
function isTime(interval) {
if (lastTime == undefined) {
lastTime = Math.floor(getTimer() / 10);
}
currTime = Math.floor(getTimer() / 10);
rightTime = (currTime - lastTime) > interval;
if (rightTime) {
lastTime = Math.floor(getTimer() / 10);
hasMoved = false;
return(true);
}
return(false);
}
function createPiece() {
var mapWidth = _root.myMap[0].length;
col = Math.floor(random(mapWidth));
tipo = _root.nextPiece.getPiece();
_root.myMap[0][col] = tipo;
}
function swapTile(x1, y1, x2, y2) {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
t1 = _root.myMap[y1][x1];
t2 = _root.myMap[y2][x2];
_root.myMap[y1][x1] = t2;
_root.myMap[y2][x2] = t1;
if ((_root.myMap[y2 + 1][x2] > 0) || (y2 == (mapHeight - 1))) {
_root.soundbox.gotoAndPlay("caduta");
_root.score = _root.score + (1 * _root.factDiff);
}
}
function freeTile(x) {
var mapHeight = _root.myMap.length;
var moved = 0;
var i = mapHeight;
while (i >= 0) {
j = x;
if (_root.myMap[i][j] == 0) {
return(i);
}
i--;
}
}
function motion() {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var moved = 0;
var i = mapHeight;
while (i >= 0) {
var j = 0;
while (j < mapWidth) {
created = false;
if (_root.myMap[i][j] > 0) {
if (i != (mapHeight - 1)) {
if (_root.myMap[i + 1][j] == 0) {
moved++;
swapTile(j, i, j, i + 1);
falling = true;
}
}
}
j++;
}
i--;
}
if ((moved == 0) && (created == false)) {
createPiece();
created = true;
}
}
function movePiece(x, y, dir) {
_root.soundbox.gotoAndPlay("muove");
switch (dir) {
case 3 :
mx = -1;
my = 0;
break;
case 4 :
mx = 1;
my = 0;
}
swapTile(x, y, x + mx, y + my);
}
function checkCombos() {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var moved = 0;
combofound = 0;
var j = 0;
while (j < mapWidth) {
var i = mapHeight;
while (i >= 0) {
tipo = _root.myMap[i][j];
if (tipo > 0) {
ch = true;
m = 0;
while (m < 5) {
ch = ch && (_root.myMap[i + m][j] == tipo);
m++;
}
if (ch == true) {
deleteSeries(j, i);
if (seriesCounted == false) {
_root.built++;
if (((_root.built % 3) == 0) && (_root.built != 0)) {
_root.bonus.summonBonus();
}
_root.score = _root.score + 100;
seriesCounted = true;
}
} else {
seriesCounted = false;
}
}
i--;
}
j++;
}
}
function deleteCol(x) {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
j = x;
trovato = false;
var i = 0;
while (i < mapHeight) {
if ((_root.myMap[i][j] != 0) && (moveable(j, i))) {
this[(("t_" + i) + "_") + j].esplosione.play();
_root.myMap[i][j] = 0;
this[(("t_" + i) + "_") + j].gotoAndStop(_root.myMap[i][j]);
}
i++;
}
}
function deleteTile(x, y) {
if (moveable(x, y)) {
this[(("t_" + y) + "_") + x].esplosione.play();
_root.myMap[y][x] = 0;
this[(("t_" + y) + "_") + x].gotoAndStop(_root.myMap[y][x]);
}
}
function deleteSeries(x, y) {
_root.soundbox.gotoAndPlay("completo");
m = 0;
while (m < 5) {
this[(("t_" + (y + m)) + "_") + x].velo.play();
_root.myMap[y + m][x] = 0;
m++;
}
}
function checkTile(x, y, dir) {
switch (dir) {
case 1 :
mx = 0;
my = -1;
break;
case 2 :
mx = 0;
my = 1;
break;
case 3 :
mx = -1;
my = 0;
break;
case 4 :
mx = 1;
my = 0;
}
tile = _root.myMap[y + my][x + mx];
return(tile);
}
function checkForSpace() {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
if (Key.isDown(32)) {
if (pressed == false) {
down = 0;
suonoemesso = false;
var i = mapHeight;
while (i >= 0) {
var j = 0;
while (j < mapWidth) {
if ((_root.myMap[i][j] > 0) && (_root.moveable(j, i) == false)) {
down++;
swapTile(j, i, j, freeTile(j));
}
j++;
}
i--;
}
updateMap();
pressed = true;
}
} else {
pressed = false;
}
}
function air_strike() {
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var j = 0;
while (j < mapWidth) {
trovato = false;
var i = 0;
while (i < mapHeight) {
if (trovato == false) {
if ((_root.myMap[i][j] != 0) && (moveable(j, i))) {
this[(("t_" + i) + "_") + j].esplosione.play();
_root.myMap[i][j] = 0;
this[(("t_" + i) + "_") + j].gotoAndStop(_root.myMap[i][j]);
trovato = true;
}
}
i++;
}
j++;
}
}
fscommand ("allowscale", false);
tileW = 32;
tileH = 32;
offsetX = 24;
offsetY = 24;
piecefalling = false;
_root.series = 5;
moveMade == false;
buildMap();
_root.onEnterFrame = function () {
if (isTime(_root.globalSpeed)) {
_root.motion();
}
checkIfDied();
checkCombos();
checkForSpace();
updateMap();
_root.realScore = Number(_root.score);
};
Instance of Symbol 112 MovieClip "nextpiece" in Frame 5
onClipEvent (load) {
function getPiece() {
shifted = matrix.shift();
this.gotoAndStop(matrix[0]);
matrix.push(Math.round(Math.random() * 4) + 1);
return(shifted);
}
if (matrix == undefined) {
matrix = new Array();
n = 0;
while (n < 20) {
matrix[n] = Math.round(Math.random() * 4) + 1;
n++;
}
}
}
Instance of Symbol 121 MovieClip "music" in Frame 5
onClipEvent (load) {
_root.bgm = new Sound();
_root.bgm.attachSound("bgm");
musicapartita = false;
if (musicapartita == false) {
_root.bgm.start(0, 999);
musicapartita = true;
}
}
Instance of Symbol 141 MovieClip "bonus" in Frame 5
onClipEvent (load) {
function summonBonus() {
tipobonus = Math.floor(random(3) + 1);
this.play();
}
}
Frame 6
destroyMap();
stopAllSounds();
stop();
Instance of Symbol 112 MovieClip "nextpiece" in Frame 6
onClipEvent (load) {
function getNext() {
n = this.next - 1;
next = Math.floor(random(5));
this.gotoAndStop(next + 1);
return(n);
}
this.next = 1;
}
Frame 7
switch (_root.mode) {
case "facile" :
testo1 = "LEVEL: EASY";
break;
case "normale" :
testo1 = "LEVEL: NORMAL";
break;
case "difficil" :
testo1 = "LEVEL: HARD";
}
stop();
Symbol 4 MovieClip Frame 1
stop();
Symbol 4 MovieClip Frame 8
gotoAndStop (1);
Symbol 10 MovieClip Frame 1
esploso = false;
stop();
Symbol 10 MovieClip Frame 7
esploso = true;
Symbol 10 MovieClip Frame 15
gotoAndStop (1);
Symbol 13 Button
on (release) {
if (_root.usingWeapon == false) {
if (_root.moveable(x, y) && (_root.canMove(x, y, 4))) {
_root.movePiece(x, y, 4);
}
} else {
if (_root.dinamite == true) {
_root.deleteTile(x, y);
_root.dinamite = false;
}
if (_root.ironball == true) {
_root.deleteCol(x);
_root.ironball = false;
}
}
}
on (rollOver) {
if (_root.moveable(x, y)) {
if (_root.dinamite == true) {
this.dinamite._visible = true;
}
if (_root.ironball == true) {
j = x;
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var i = mapHeight;
while (i >= 0) {
if (_root.myMap[i][j] > 0) {
_root[(("t_" + i) + "_") + j].ironball._visible = true;
}
i--;
}
}
}
}
on (rollOut) {
if (_root.moveable(x, y)) {
if (_root.dinamite == true) {
this.dinamite._visible = false;
}
if (_root.ironball == true) {
j = x;
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var i = mapHeight;
while (i >= 0) {
if (_root.myMap[i][j] > 0) {
_root[(("t_" + i) + "_") + j].ironball._visible = false;
}
i--;
}
}
}
}
Symbol 14 Button
on (release) {
if (_root.usingWeapon == false) {
if (_root.moveable(x, y) && (_root.canMove(x, y, 3))) {
_root.movePiece(x, y, 3);
}
} else {
if (_root.dinamite == true) {
_root.deleteTile(x, y);
_root.dinamite = false;
}
if (_root.airstrike == true) {
_root.air_strike();
_root.airstrike = false;
}
if (_root.ironball == true) {
_root.deleteCol(x);
_root.ironball = false;
}
}
}
on (rollOver) {
if (_root.moveable(x, y)) {
if (_root.dinamite == true) {
this.dinamite._visible = true;
}
if (_root.ironball == true) {
j = x;
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var i = mapHeight;
while (i >= 0) {
if (_root.myMap[i][j] > 0) {
_root[(("t_" + i) + "_") + j].ironball._visible = true;
}
i--;
}
}
}
}
on (rollOut) {
if (_root.moveable(x, y)) {
if (_root.dinamite == true) {
this.dinamite._visible = false;
}
if (_root.ironball == true) {
j = x;
var mapWidth = _root.myMap[0].length;
var mapHeight = _root.myMap.length;
var i = mapHeight;
while (i >= 0) {
if (_root.myMap[i][j] > 0) {
_root[(("t_" + i) + "_") + j].ironball._visible = false;
}
i--;
}
}
}
}
Symbol 23 MovieClip [tile] Frame 1
stop();
Symbol 23 MovieClip [tile] Frame 2
stop();
Instance of Symbol 16 MovieClip "dinamite" in Symbol 23 MovieClip [tile] Frame 2
onClipEvent (load) {
this._visible = false;
}
Instance of Symbol 18 MovieClip "ironball" in Symbol 23 MovieClip [tile] Frame 2
onClipEvent (load) {
this._visible = false;
}
Symbol 23 MovieClip [tile] Frame 3
stop();
Symbol 23 MovieClip [tile] Frame 4
stop();
Symbol 23 MovieClip [tile] Frame 5
stop();
Symbol 23 MovieClip [tile] Frame 6
stop();
Symbol 39 Button
on (release) {
_root.nextFrame();
}
Symbol 42 Button
on (release) {
nextFrame();
}
Symbol 46 Button
on (release) {
_root.mode = "normale";
_root.justvisiting = true;
_root.gotoAndStop("highscore");
}
Symbol 50 Button
on (release) {
_root.mode = "facile";
_root.justvisiting = true;
_root.gotoAndStop("highscore");
}
Symbol 54 Button
on (release) {
_root.mode = "difficil";
_root.justvisiting = true;
_root.gotoAndStop("highscore");
}
Symbol 56 MovieClip Frame 1
stop();
Symbol 56 MovieClip Frame 2
stop();
Symbol 59 Button
on (release) {
nextFrame();
}
Symbol 63 Button
on (release) {
_root.score = 0;
_root.built = 0;
_root.gameover = false;
_root.giocofinito = false;
_root.factDiff = 1;
_root.seengameover = false;
_root.mode = "facile";
_root.globalspeed = 50;
_root.nextFrame();
}
Symbol 67 Button
on (release) {
_root.score = 0;
_root.built = 0;
_root.gameover = false;
_root.giocofinito = false;
_root.factDiff = 3;
_root.seengameover = false;
_root.mode = "normale";
_root.globalspeed = 25;
_root.nextFrame();
}
Symbol 71 Button
on (release) {
_root.score = 0;
_root.built = 0;
_root.gameover = false;
_root.giocofinito = false;
_root.factDiff = 7;
_root.seengameover = false;
_root.mode = "difficil";
_root.globalspeed = 10;
_root.nextFrame();
}
Symbol 72 MovieClip Frame 1
stop();
Symbol 72 MovieClip Frame 2
stop();
Symbol 87 MovieClip Frame 95
_root.nextFrame();
Symbol 102 Button
on (release) {
useWeapon(1);
}
Symbol 103 Button
on (release) {
useWeapon(2);
}
Symbol 104 Button
on (release) {
useWeapon(3);
}
Symbol 112 MovieClip Frame 1
stop();
Symbol 112 MovieClip Frame 2
stop();
Symbol 112 MovieClip Frame 3
stop();
Symbol 112 MovieClip Frame 4
stop();
Symbol 112 MovieClip Frame 5
stop();
Symbol 117 Button
on (release) {
nextFrame();
}
Symbol 120 Button
on (release) {
prevFrame();
}
Symbol 121 MovieClip Frame 1
if (musicapartita == false) {
_root.bgm.start(0, 999);
musicapartita = true;
}
stop();
Symbol 121 MovieClip Frame 2
_root.bgm.stop();
musicapartita = false;
stop();
Symbol 132 MovieClip Frame 1
stop();
Symbol 132 MovieClip Frame 2
gotoAndPlay (1);
Symbol 132 MovieClip Frame 3
gotoAndPlay (1);
Symbol 132 MovieClip Frame 4
gotoAndPlay (1);
Symbol 132 MovieClip Frame 5
gotoAndPlay (1);
Symbol 132 MovieClip Frame 6
gotoAndPlay (1);
Symbol 139 MovieClip Frame 1
stop();
Symbol 139 MovieClip Frame 2
stop();
Symbol 139 MovieClip Frame 3
stop();
Symbol 140 MovieClip Frame 1
stop();
Symbol 141 MovieClip Frame 1
stop();
Symbol 141 MovieClip Frame 2
inBonus.tipo.gotoAndStop(tipobonus);
Symbol 141 MovieClip Frame 31
_root.icons.weapons[tipobonus - 1]++;
_root.icons.populate();
gotoAndStop (1);
Symbol 146 Button
on (release) {
_root.seengameover = true;
_root.classifica.justvisiting = false;
_root.nextFrame();
}
Symbol 179 Button
on (release) {
mykey = "city" + _root.mode;
trace(_root.playername);
if (_root.playername != "") {
if (_root.score > 0) {
sendVar = new LoadVars();
sendVar.key = mykey;
sendVar.action = "a";
sendVar.nm = _root.playername;
sendVar.sc = _root.score;
sendVar.onLoad = function () {
_root.classifica.scoretable.fill();
};
sendVar.sendAndLoad("http://www.naive.it/hss/scores.php", sendVar, "POST");
this.play();
} else {
this.play();
}
}
}
Symbol 180 Button
on (release) {
_root.gotoAndPlay(1);
}
Symbol 181 MovieClip Frame 1
stop();
Symbol 181 MovieClip Frame 2
stop();
Instance of Symbol 173 MovieClip "scoretable" in Symbol 182 MovieClip Frame 1
onClipEvent (load) {
function fill() {
myVar = new LoadVars();
myVar.key = "city" + _root.mode;
trace("city" + _root.mode);
myVar.action = "v";
myVar.view_type = "flash";
myVar.onLoad = function () {
trace("ok");
for (var prop in this) {
_root.classifica.scoretable[prop] = this[prop];
}
};
myVar.sendAndLoad("http://www.naive.it/hss/scores.php", _root.classifica.scoretable.myVar, "POST");
}
fill();
}
Instance of Symbol 181 MovieClip "nome" in Symbol 182 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_root.justvisiting == true) {
this.gotoAndStop("home");
}
}