diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 50efd36..7c326ae 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,14 +4,13 @@
-
-
-
+
-
+
+
-
+
@@ -37,81 +36,81 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -165,18 +164,18 @@
-
-
-
-
+
+
+
+
@@ -220,8 +219,10 @@
-
-
+
+
+
+
@@ -302,62 +303,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -372,7 +318,16 @@
-
+
+
+
+
+
+
+
+
+
+
@@ -381,7 +336,7 @@
-
+
@@ -476,14 +431,10 @@
-
-
-
- 1458136416618
-
-
-
- 1458136416618
+
+
+
+
1458140295782
@@ -821,43 +772,50 @@
1458520456074
-
+
+ 1458586130406
+
+
+
+ 1458586130407
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -869,21 +827,21 @@
-
-
+
+
-
-
-
+
+
+
-
+
-
+
@@ -933,7 +891,6 @@
-
@@ -958,7 +915,8 @@
-
+
+
@@ -966,33 +924,18 @@
-
- file://$PROJECT_DIR$/tests/Coffee/TileTest.php
- 29
-
-
file://$PROJECT_DIR$/index.php
53
-
-
-
- file://$PROJECT_DIR$/tests/Coffee/TableTest.php
- 59
-
+
-
+
-
-
-
-
-
-
+
@@ -1124,7 +1067,6 @@
-
@@ -1170,13 +1112,6 @@
-
-
-
-
-
-
-
@@ -1205,13 +1140,6 @@
-
-
-
-
-
-
-
@@ -1226,13 +1154,6 @@
-
-
-
-
-
-
-
@@ -1289,11 +1210,17 @@
-
+
-
-
-
+
+
+
+
+
+
+
+
+
@@ -1305,66 +1232,81 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/index.php b/index.php
index f008ae0..250e2ed 100644
--- a/index.php
+++ b/index.php
@@ -58,8 +58,14 @@ try {
echo '' . "\n";
/** @var Tile $tile */
foreach ($tileRow as $tile) {
- $spotNumber = $tile->getSpotNumber();
- $attribute = $spotNumber == 0 ? '' : ' class="coffee"';
+ $spotNumber = 0;
+ $attribute = '';
+
+ if (!is_null($tile->getSpot())) {
+ $spotNumber = $tile->getSpot()->getNumber();
+ $attribute = ' class="coffee"';
+ }
+
echo '' . $spotNumber . ' | ' . "\n";
}
echo '
' . "\n";
diff --git a/src/Coffee/Map.php b/src/Coffee/Map.php
index a3fa18b..94c74a4 100644
--- a/src/Coffee/Map.php
+++ b/src/Coffee/Map.php
@@ -68,7 +68,6 @@ class Map {
/**
* @return array
- * TODO: this is probably not used anywhere
*/
public function getDescription() {
return $this->description;
diff --git a/src/Coffee/Spot.php b/src/Coffee/Spot.php
index d1cfd46..7eef87a 100644
--- a/src/Coffee/Spot.php
+++ b/src/Coffee/Spot.php
@@ -28,7 +28,7 @@ class Spot {
/**
* @var int
*/
- private $number = 0;
+ private $number;
/**
* Spot constructor.
@@ -48,6 +48,7 @@ class Spot {
return false;
}
+ $tile->setSpot($this);
$this->tiles[] = $tile;
return true;
}
@@ -78,9 +79,5 @@ class Spot {
*/
public function setNumber($number) {
$this->number = $number;
-
- foreach ($this->getTiles() as $tile) {
- $tile->setSpotNumber($number);
- }
}
}
\ No newline at end of file
diff --git a/src/Coffee/Tile.php b/src/Coffee/Tile.php
index 791d361..d6837c0 100644
--- a/src/Coffee/Tile.php
+++ b/src/Coffee/Tile.php
@@ -32,10 +32,11 @@ class Tile extends Position {
*/
private $visited = self::DEFAULT_VISITED_STATE;
/**
- * Zero means that the tile is not in the spot
- * @var int
+ * Spot that this Tile belongs to
+ *
+ * @var Spot
*/
- private $spotNumber = 0;
+ private $spot = null;
/**
* Tile constructor.
@@ -61,6 +62,20 @@ class Tile extends Position {
$this->visited = $visited;
}
+ /**
+ * @return Spot
+ */
+ public function getSpot() {
+ return $this->spot;
+ }
+
+ /**
+ * @param Spot $spot
+ */
+ public function setSpot(Spot $spot) {
+ $this->spot = $spot;
+ }
+
/**
* @return boolean
*/
@@ -89,19 +104,5 @@ class Tile extends Position {
return $this->representation == self::REPRESENTS_VOID;
}
- /**
- * @return int
- * TODO: rework this to store parent object instead of just number
- */
- public function getSpotNumber() {
- return $this->spotNumber;
- }
-
- /**
- * @param int $spotNumber
- */
- public function setSpotNumber($spotNumber) {
- $this->spotNumber = $spotNumber;
- }
}
\ No newline at end of file
diff --git a/tests/Coffee/TileTest.php b/tests/Coffee/TileTest.php
index 7578be1..2e651f2 100644
--- a/tests/Coffee/TileTest.php
+++ b/tests/Coffee/TileTest.php
@@ -28,9 +28,10 @@ class TileTest extends \PHPUnit_Framework_TestCase {
public function testSpotNumber() {
$tile = new Tile(2, 2, Tile::REPRESENTS_SPOT);
- $tile->setSpotNumber(4);
+ $tile->setSpot(new Spot($tile));
+ $tile->getSpot()->setNumber(4);
- $this->assertEquals(4, $tile->getSpotNumber());
+ $this->assertEquals(4, $tile->getSpot()->getNumber());
}
}