Actionscript Code:
aantalblokjes1 = 6;
aantalblokjes2 = 6;
aantalblokjes3 = 6;
aantalblokjes4 = 6;
huidigespeler = 1;
Mouse.hide();
spelBord = [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0]];
// defining tiles
game = {tileH:52, tileS:30.02221399786};
game.Tile0 = function() {};
game.Tile0.prototype.clickable = false;
game.Tile0.prototype.frame = 1;
game.Tile1 = function() {};
game.Tile1.prototype.clickable = false;
game.Tile1.prototype.speler = 0;
game.Tile1.prototype.frame = 2;
game.Tile1.prototype.spelend = 1;
buildMap(spelBord);
this.onEnterFrame = function() {
speler_txt=("Speler: "+_root.huidigespeler)
getMouse();
};
var someListener:Object = new Object();
someListener.onMouseUp = function() {
getTarget();
};
Mouse.addListener(someListener);
///////////////////////////////////////////////
////////////////// FUNCTIONS //////////////////
///////////////////////////////////////////////
function buildMap(map) {
_root.attachMovie("empty", "tiles", 1);
_root.attachMovie("muisaanwijzer", "muisaanwijzer", 2);
game.clip = _root.tiles;
game.clip._x = 270;
game.clip._y = -15;
var d = _root.getNextHighestDepth();
var mapWidth = map[0].length;
var mapHeight = map.length;
for (var y = 0; y<mapHeight; ++y) {
for (var x = 0; x<mapWidth; ++x) {
var naam = "t_"+y+"_"+x;
game[naam] = new game["Tile"+map[y][x]];
if (naam == "t_5_5") {
game[naam].clickable = true;
}
game.clip.attachMovie("tile", naam, ++d, {_x:(x*_root.game.tileS*1.5), _y:(y*_root.game.tileH+(x%2)*_root.game.tileH/2)});
game.clip[naam].gotoAndStop(game[naam].frame);
}
}
game.clip.attachMovie("mouse", "mouse", _root.getNextHighestDepth());
}
function getMouse() {
_root.muisaanwijzer.gotoAndStop(_root.huidigespeler);
_root.muisaanwijzer._x = _root._xmouse;
_root.muisaanwijzer._y = _root._ymouse;
_root.muisaanwijzer.gotoAndStop(_root.huidigespeler+1);
game.xmouse = Math.round((_root.muisaanwijzer._x-270)/game.tileS/1.5);
game.ymouse = Math.round((_root.muisaanwijzer._y+15-((((game.xmouse+1)%2)*game.tileH/2)+(game.xmouse%2)*game.tileH))/game.tileH);
var naam = "t_"+game.ymouse+"_"+game.xmouse;
_root.tiles.mouse._x = game.xmouse*game.tileS*1.5;
_root.tiles.mouse._y = game.ymouse*game.tileH+((game.xmouse%2)*game.tileH/2);
}
function getTarget() {
naam = "t_"+game.ymouse+"_"+game.xmouse;
if (game[naam].clickable and game[naam].speler == 0) {
_root.tiles[naam].gotoAndStop(_root.huidigespeler+2);
game[naam].speler = _root.huidigespeler;
if(_root.huidigespeler==1) {
_root.aantalblokjes1--;
}else if(_root.huidigespeler==2){
_root.aantalblokjes2--;
}else if(_root.huidigespeler==3){
_root.aantalblokjes3--;
}else if(_root.huidigespeler==4){
_root.aantalblokjes4--;
}
_root.wincheck(spelBord);
} else if(game[naam].clickable) {
_root.tiles[naam].gotoAndStop(2);
game[naam].speler = 0;
_root.wincheck(spelBord);
}
}
function wincheck(map) {
var mapWidth = map[0].length;
var mapHeight = map.length;
for (var y = 0; y<mapHeight; ++y) {
for (var x = 0; x<mapWidth; ++x) {
var naam = "t_"+y+"_"+x;
if(game[naam].spelend) { //het is een tile van het spelbord
game[naam].clickable=false;
col = x%2;
col1 = (x+1)%2;
if(_root.huidigespeler==1) {
// set new clickable tiles
if (_root.aantalblokjes1 and game[naam].speler == 0 and (game["t_"+(y-1)+"_"+x].speler or game["t_"+(y+1)+"_"+x].speler or game["t_"+(y-col1)+"_"+(x-1)].speler or game["t_"+(y+col)+"_"+(x-1)].speler or game["t_"+(y-col1)+"_"+(x+1)].speler or game["t_"+(y+col)+"_"+(x+1)].speler)) {
game[naam].clickable=true;
} else if (_root.aantalblokjes1==0 and game[naam].speler == _root.huidigespeler) {
game[naam].clickable=true;
}
} else if(_root.huidigespeler==2) {
// set new clickable tiles
if (_root.aantalblokjes2 and game[naam].speler == 0 and (game["t_"+(y-1)+"_"+x].speler or game["t_"+(y+1)+"_"+x].speler or game["t_"+(y-col1)+"_"+(x-1)].speler or game["t_"+(y+col)+"_"+(x-1)].speler or game["t_"+(y-col1)+"_"+(x+1)].speler or game["t_"+(y+col)+"_"+(x+1)].speler)) {
game[naam].clickable=true;
} else if (_root.aantalblokjes2==0 and game[naam].speler == _root.huidigespeler) {
game[naam].clickable=true;
}
}else if(_root.huidigespeler==3) {
// set new clickable tiles
if (_root.aantalblokjes3 and game[naam].speler == 0 and (game["t_"+(y-1)+"_"+x].speler or game["t_"+(y+1)+"_"+x].speler or game["t_"+(y-col1)+"_"+(x-1)].speler or game["t_"+(y+col)+"_"+(x-1)].speler or game["t_"+(y-col1)+"_"+(x+1)].speler or game["t_"+(y+col)+"_"+(x+1)].speler)) {
game[naam].clickable=true;
} else if (_root.aantalblokjes3==0 and game[naam].speler == _root.huidigespeler) {
game[naam].clickable=true;
}
}else if(_root.huidigespeler==4) {
// set new clickable tiles
if (_root.aantalblokjes4 and game[naam].speler == 0 and (game["t_"+(y-1)+"_"+x].speler or game["t_"+(y+1)+"_"+x].speler or game["t_"+(y-col1)+"_"+(x-1)].speler or game["t_"+(y+col)+"_"+(x-1)].speler or game["t_"+(y-col1)+"_"+(x+1)].speler or game["t_"+(y+col)+"_"+(x+1)].speler)) {
game[naam].clickable=true;
} else if (_root.aantalblokjes4==0 and game[naam].speler == _root.huidigespeler) {
game[naam].clickable=true;
}
}
// check if the current player has won
if (game[naam].speler == _root.huidigespeler) {
}
}
}
}
if(_root.verderspelen) {
_root.huidigespeler++;
if (_root.huidigespeler>_root.aantalspelers) {
_root.huidigespeler = 1;
}
}
}
stop();