I'm making an hexagonal board game, using Tonypa's tutorial on Tile Based Games. the goal is getting four of your own pieces in a row on the board. The problem is you just have 6 pieces, so when you don't have any, you have to take another one off the board and lay it somewhere else.
Now the problem with the coding: there's something wrong with counting the amount of pieces you have left.
Here's the code:
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 = newObject(); 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].clickableand game[naam].speler == 0){ _root.tiles[naam].gotoAndStop(_root.huidigespeler+2); game[naam].speler = _root.huidigespeler; if(_root.huidigespeler==1){ _root.aantalblokjes1--; }elseif(_root.huidigespeler==2){ _root.aantalblokjes2--; }elseif(_root.huidigespeler==3){ _root.aantalblokjes3--; }elseif(_root.huidigespeler==4){ _root.aantalblokjes4--; } _root.wincheck(spelBord); }elseif(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.aantalblokjes1and game[naam].speler == 0and(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; }elseif(_root.aantalblokjes1==0and game[naam].speler == _root.huidigespeler){ game[naam].clickable=true; } }elseif(_root.huidigespeler==2){ // set new clickable tiles if(_root.aantalblokjes2and game[naam].speler == 0and(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; }elseif(_root.aantalblokjes2==0and game[naam].speler == _root.huidigespeler){ game[naam].clickable=true; } }elseif(_root.huidigespeler==3){ // set new clickable tiles if(_root.aantalblokjes3and game[naam].speler == 0and(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; }elseif(_root.aantalblokjes3==0and game[naam].speler == _root.huidigespeler){ game[naam].clickable=true; } }elseif(_root.huidigespeler==4){ // set new clickable tiles if(_root.aantalblokjes4and game[naam].speler == 0and(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; }elseif(_root.aantalblokjes4==0and game[naam].speler == _root.huidigespeler){ game[naam].clickable=true; } } // check if the current player has won if(game[naam].speler == _root.huidigespeler){