class tail
This commit is contained in:
parent
d57ad1ec47
commit
294ab30e48
|
@ -1,5 +1,16 @@
|
|||
<?php
|
||||
class TronGame
|
||||
{
|
||||
private $bots; //array of bots
|
||||
private $gameId;
|
||||
private $status; //false => Game ended or not initialised
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
class TronGame
|
||||
{
|
||||
private $bots;
|
||||
private $gameId;
|
||||
|
@ -30,9 +41,9 @@ class TronGame
|
|||
}
|
||||
|
||||
private function save_draw_bots($arr){
|
||||
/*
|
||||
*
|
||||
* Recursive function who save all combionaisons of draw matches
|
||||
*/
|
||||
*
|
||||
|
||||
if(count($arr) < 2){
|
||||
return;
|
||||
|
@ -293,4 +304,4 @@ class TronGame
|
|||
return $err;
|
||||
}
|
||||
}
|
||||
?>
|
||||
*/
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
?>
|
|
@ -16,9 +16,13 @@ class Tail{
|
|||
$this->tail = array($InitialCoords);
|
||||
}
|
||||
|
||||
public function empty_tail(){
|
||||
|
||||
}
|
||||
|
||||
public function grow(Direction $dir){
|
||||
$last = Tail::getLastTailCoord();
|
||||
Tail::tail[] = $last->addDirection($dir);
|
||||
$last = $this->getLastTailCoord();
|
||||
$this->tail[] = $last->addDirection($dir);
|
||||
}
|
||||
|
||||
public function getLastTailCoord(){
|
||||
|
|
Loading…
Reference in New Issue
Block a user