PHP code example of stui / bestagons
1. Go to this page and download the library: Download stui/bestagons library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
stui / bestagons example snippets
use Stui\Bestagons\Hex\Hex;
$hex = new Hex(1, 2);
echo $hex->q; // 1
echo $hex->r; // 2
echo $hex->s; // -3 (calculated automatically)
$hex = new Hex(1, 0);
$hex->equal(new Hex(0, 1)); // false
$hex = new Hex(1, 0);
$hex->equal(new Hex(1, 0)); // true
$hex1 = new Hex(1, 0);
$hex2 = new Hex(0, 1);
$sum = $hex1->add($hex2);
$diff = $hex1->subtract($hex2);
$scaled = $hex1->multiply(2);
$hex1 = new Hex(0, 0);
$hex2 = new Hex(2, 0);
$distance = $hex1->distanceTo($hex2); // 2
// Get a neighbor (0-5)
$neighbor = $hex1->neighbor(0);
// Get a diagonal neighbor (0-5)
$diagonal = $hex1->diagonalNeighbor(0);
$hex1 = new Hex(0, 0);
$hex2 = new Hex(10, -10);
$fractionalHex = $hex1->lerpHex($hex2, 0.57); // Returns a FractionalHex instance with interpolated coordinates
$roundedHex = $fractionalHex->round(); // Returns a Hex instance
use Stui\Bestagons\Map\Map;
use Stui\Bestagons\Hex\Hex;
$map = new Map();
$hex = new Hex(1, 1);
$map->store($hex);
if ($map->has(1, 1)) {
$retrievedHex = $map->get(1, 1);
}
$neighbors = $map->getNeighborsOf($hex);
use Stui\Bestagons\Map\Shapes\RectangularMap;
use Stui\Bestagons\Enums\HexOrientation;
$map = new RectangularMap(
left: 0,
right: 5,
top: 0,
bottom: 5,
orientation: HexOrientation::POINTY_TOP
);