|
|
|
@ -1,69 +1,13 @@
|
|
|
|
|
<?php
|
|
|
|
|
class TronPlayer{
|
|
|
|
|
private $url;
|
|
|
|
|
private $id;
|
|
|
|
|
private $name;
|
|
|
|
|
private $tail = array();
|
|
|
|
|
public $id;
|
|
|
|
|
public $name;
|
|
|
|
|
public $tail;
|
|
|
|
|
private $direction;
|
|
|
|
|
private $state;
|
|
|
|
|
public function getTail(){
|
|
|
|
|
return $this->tail;
|
|
|
|
|
}
|
|
|
|
|
public function getStatus(){
|
|
|
|
|
return $this->state;
|
|
|
|
|
}
|
|
|
|
|
public function getURL(){
|
|
|
|
|
return $this->url;
|
|
|
|
|
}
|
|
|
|
|
public function getName(){
|
|
|
|
|
return $this->name;
|
|
|
|
|
}
|
|
|
|
|
public function getId(){
|
|
|
|
|
return $this->id;
|
|
|
|
|
}
|
|
|
|
|
private function set_direction($newDir){
|
|
|
|
|
//can't be the opposite of the previous direction
|
|
|
|
|
if(
|
|
|
|
|
(($newDir == "x+") && ($this->direction == "x-"))
|
|
|
|
|
|| (($newDir == "x-") && ($this->direction == "x+"))
|
|
|
|
|
|| (($newDir == "y+") && ($this->direction == "y-"))
|
|
|
|
|
|| (($newDir == "y-") && ($this->direction == "y+"))
|
|
|
|
|
){
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
$this->direction = $newDir;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
private function getTargetCell($dir){
|
|
|
|
|
|
|
|
|
|
if($dir == ""){
|
|
|
|
|
$dir = $this->direction;
|
|
|
|
|
}
|
|
|
|
|
if(!$this->set_direction($dir)){
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
$headCoords = end($this->tail);
|
|
|
|
|
public $isAlive = true;
|
|
|
|
|
|
|
|
|
|
switch ($dir){
|
|
|
|
|
case "y+":
|
|
|
|
|
return array($headCoords[0],$headCoords[1]++);
|
|
|
|
|
break;
|
|
|
|
|
case "y-":
|
|
|
|
|
return array($headCoords[0],$headCoords[1]--);
|
|
|
|
|
break;
|
|
|
|
|
case "x+":
|
|
|
|
|
return array($headCoords[0]++,$headCoords[1]);
|
|
|
|
|
break;
|
|
|
|
|
case "x-":
|
|
|
|
|
return array($headCoords[0]--,$headCoords[1]);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function grow($dir=""){
|
|
|
|
|
$targetCell = $this->getTargetCell($dir);
|
|
|
|
|
$this->tail[] = $targetCell;
|
|
|
|
@ -71,11 +15,21 @@ class TronPlayer{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function loose(){
|
|
|
|
|
$this->state = false;
|
|
|
|
|
$this->tail = array();
|
|
|
|
|
|
|
|
|
|
$this->isAlive = false;
|
|
|
|
|
// $this->tail = array();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function __make($botId, Coords $initialsCoords,$name,$url){
|
|
|
|
|
$this->id = $botId;
|
|
|
|
|
$this->tail = Tail::make($initialsCoords);
|
|
|
|
|
$this->name = $name;
|
|
|
|
|
$this->url = $url;
|
|
|
|
|
}
|
|
|
|
|
public function __construct(){
|
|
|
|
|
$this->state = true;
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
public function __construct($id,$initialX,$initialY,$initialDirection){
|
|
|
|
|
$lnBdd = conn_bdd();
|
|
|
|
|
$rs = mysqli_query($lnBdd,
|
|
|
|
@ -92,5 +46,6 @@ class TronPlayer{
|
|
|
|
|
$this->state = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
}
|
|
|
|
|
?>
|