You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
1.2 KiB
85 lines
1.2 KiB
<?php
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: delmadord
|
|
* Date: 3/16/16
|
|
* Time: 2:42 PM
|
|
*/
|
|
|
|
namespace Coffee;
|
|
|
|
/**
|
|
* Class Spot
|
|
*
|
|
* @package Coffee
|
|
*/
|
|
/**
|
|
* Class Spot
|
|
*
|
|
* @package Coffee
|
|
*/
|
|
class Spot {
|
|
|
|
/**
|
|
* @var Tile[]
|
|
*/
|
|
private $tiles = [];
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
private $number;
|
|
|
|
/**
|
|
* Spot constructor.
|
|
*
|
|
* @param Tile $tile
|
|
*/
|
|
public function __construct(Tile $tile = null) {
|
|
if (!is_null($tile)) {
|
|
$this->addTile($tile);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @param Tile $tile
|
|
* @return bool
|
|
*/
|
|
public function addTile(Tile $tile) {
|
|
if (is_null($tile)) {
|
|
return false;
|
|
}
|
|
|
|
$tile->setSpot($this);
|
|
$this->tiles[] = $tile;
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* @return Tile[]
|
|
*/
|
|
public function getTiles() {
|
|
return $this->tiles;
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getSize() {
|
|
return count($this->tiles);
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getNumber() {
|
|
return $this->number;
|
|
}
|
|
|
|
/**
|
|
* @param int $number
|
|
*/
|
|
public function setNumber($number) {
|
|
$this->number = $number;
|
|
}
|
|
} |