This commit is contained in:
Gnieark 2016-07-06 08:01:18 +02:00
parent 0d79e871de
commit 849a54bb68
4 changed files with 32 additions and 5 deletions

View File

@ -1 +1 @@
1462
1477

View File

@ -17,7 +17,14 @@ switch ($_POST['act']){
case "initGame":
$botsArrayTemp = json_decode($_POST['bots']);
$game = new TronGame($botsArrayTemp);
$botsIds = array();
//dont take non selected bots (value=0)
foreach($botsArrayTemp as $bot){
if($bot > 0){
$botsIds[] = $bot;
}
}
$game = new TronGame($botsIds);
$logs = $game->init_game();
echo json_encode(array(

View File

@ -84,7 +84,7 @@ class TronGame{
return $arr;
}
public function __construct($botsIds){
$this->gameId = get_unique_id();
$this->bots = array();
$positions = array();
@ -101,7 +101,10 @@ class TronGame{
$this->bots[$botCount] = new TronPlayer($botId,$x,$y,'y+');
if ($this->bots[$botCount]->getStatus() === false){
$err = "Something went wrong for ".$this->bots[$botCount]->getName()."<br/>";
}else{
$botCount++;
}
}
return $err;

View File

@ -12,6 +12,22 @@ function addLog(message){
divLogs.scrollTop = divLogs.scrollHeight;
}
function growTails(newPointsByPlayer){
var botsColor = ['cyan','darkmagenta','darkred','darkslategrey','deeppink','dodgerblue','goldenrod','grey','indigo','lightgreen','mediumslateblue','midnightblue'];
//document.getElementById('map');
for (var botId in newPointsByPlayer){
var tail = newPointsByPlayer[botId]['tail'];
for(var coordsIx in tail){
coords = tail[coordsIx];
//draw the point
var rect=createElemNS('rect',{'x':coords[0],'y':coords[1],'width':'2','height':'2','style':'fill:' + botsColor[botId] + ';'});
document.getElementById('map').appendChild(rect);
}
}
}
function createElemNS(type,attributes){
//same as createElem but with ns for svg file
var elem=document.createElementNS("http://www.w3.org/2000/svg",type);
@ -68,8 +84,9 @@ function applyInitMessage(req,xd_check){
return;
}
addLog(ret['logs']);
if(ret['status'] == "OK"){
play(ret['gameId'],xd_check);
if(ret['status'] == true){
growTails(ret['botsPosition']);
//play(ret['gameId'],xd_check);
}
}else{