|
|
|
@ -5,27 +5,69 @@ namespace Coffee; |
|
|
|
|
require __DIR__ . '/vendor/autoload.php'; |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
?> |
|
|
|
|
<style> |
|
|
|
|
table { |
|
|
|
|
border-collapse: collapse; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
td { |
|
|
|
|
background-color: #deb887; |
|
|
|
|
width: 30px; |
|
|
|
|
height: 30px; |
|
|
|
|
text-align: center; |
|
|
|
|
color: #000000; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
td.coffee { |
|
|
|
|
background-color: #8b4513; |
|
|
|
|
font-weight: bold; |
|
|
|
|
color: #ded8de; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
<?php |
|
|
|
|
|
|
|
|
|
$map = [ |
|
|
|
|
[0, 1, 0, 1], |
|
|
|
|
[1, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 1], |
|
|
|
|
[0, 0, 1, 1] |
|
|
|
|
[0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1], |
|
|
|
|
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], |
|
|
|
|
[0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], |
|
|
|
|
[1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], |
|
|
|
|
[0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0], |
|
|
|
|
[1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], |
|
|
|
|
[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0], |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
$table = new Table($map); |
|
|
|
|
|
|
|
|
|
echo '<table>' . "\n"; |
|
|
|
|
foreach ($table->getStructuredTiles() as $row) { |
|
|
|
|
foreach ($table->getStructuredTiles() as $tileRow) { |
|
|
|
|
echo '<tr>' . "\n"; |
|
|
|
|
/** @var Tile $tile */ |
|
|
|
|
foreach ($row as $tile) { |
|
|
|
|
// $formattedTile = $tile->getSpotNumber() == 0 ? '' : $tile->getSpotNumber(); |
|
|
|
|
echo '<td>' . $tile->getSpotNumber() . '</td>' . "\n"; |
|
|
|
|
foreach ($tileRow as $tile) { |
|
|
|
|
$spotNumber = $tile->getSpotNumber(); |
|
|
|
|
$attribute = $spotNumber == 0 ? '' : ' class="coffee"'; |
|
|
|
|
echo '<td' . $attribute . '>' . $spotNumber . '</td>' . "\n"; |
|
|
|
|
} |
|
|
|
|
echo '</tr>' . "\n"; |
|
|
|
|
} |
|
|
|
|
echo '</table>' . "\n"; |
|
|
|
|
|
|
|
|
|
echo '</br>' . "\n"; |
|
|
|
|
|
|
|
|
|
echo 'Najväčšia kávová kaluž je s číslom ' . $table->getLargestSpot()->getNumber() . '<br>' . "\n"; |
|
|
|
|
echo 'Kaluž je veľká ' . $table->getLargestSpot()->getSize() . ' políčok.</br>' . "\n"; |
|
|
|
|
echo 'Počet kaluží je: ' . $table->getSpotsCount() . '<br>' . "\n"; |
|
|
|
@ -34,3 +76,4 @@ catch (\Exception $e) { |
|
|
|
|
// TODO: provide more information, like the file:line for example |
|
|
|
|
echo 'Caught exception: ' . $e->getMessage() . "\n"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|