xtodx / mapgenerator
Map Generator
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/xtodx/mapgenerator
Requires
- php: >=7.0
- phpunit/phpunit: 7.5.x-dev
This package is auto-updated.
Last update: 2025-10-29 02:56:19 UTC
README
Сначала генерация была сделана так
function generate()
{
$terrainCount = count($this->terrainTypes) - 1;
for ($i = 0; $i < $this->y; $i++) {
$this->terrains[] = [];
$this->units[] = [];
for ($k = 0; $k < $this->x; $k++) {
$this->terrains[$i][] = $this->createTerrain($this->terrainTypes[rand(0, $terrainCount)], $k, $i);
$possibleUnits = $this->terrains[$i][$k]->getPossibleUnits();
$this->units[$i][$k] = null;
if (count($possibleUnits) > 0) {
if ($this->distribution() == 0) {
$this->totalUnits++;
$this->units[$i][$k] = $this->createUnit($possibleUnits[rand(0,
count($possibleUnits) - 1)], rand(0, $this->teams - 1));
$this->terrains[$i][$k]->setUnit($this->units[$i][$k]);
}
}
}
}
return $this->terrains;
}
Но нам в первую очередь нужно всё-же генерировать базы, иначе:
- Мы можем сгенерировать меньшее колво баз
- Может быть занята вся территория, на которой может разместиться база
Теперь работает в 3 этапа
- Генерация ландшафта
- Генерация лимитированных обьектов на карте(например баз) количество которых равно количеству команд
- Генерация остальных обьектов
- Ведётся огонь
- Перемещаются юниты
- Что дают базы
Установка
composer require xtodx/mapgenerator dev-master