All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project Warlight2BotTemplate to Semantic Versioning.
- Interface SupraRegional added.
- SuperRegionArray and SuperRegion extending new interface SupraRegional.
- Bug in method RegionArray::
filterOwner()
fixed. - Bug with cloning map in method Environment::
addRound()
fixed.
Map::hasRegion()
andMap::getRegion()
removed, access is possible via Map::getRegions()
methods.- Methods of RegionArray and SuperRegionArray renamed.
- class
ParserEception
renamed to CommandException.
- Continued to complete unit tests.
- new namespaces for examples Prokki\Warlight2BotTemplate\Examples.
- StupidRandomBot.php moved to example directory.
- Base classes for bots moved to root directory /src.
- Added getter and setter to RegionArray and SuperRegionArray to abstract ArrayObject
(avoid using
offset*()
methods)
- Adapted classes to use environmental factory classes EnvironmentFactory.
- Added class SuperRegionArray to differentiate to RegionArray.
- Constant
RegionState::OWNER_ALL
added.
- All super regions will be initialized with references to assigned regions.
- Removed some type hints to allow overriding of template classes.
- Bot engine outsourced to https://github.com/prokki/theaigames-bot-engine.
- Commands updated to use Bot instead of
AIable
(and Environment) - Renamed class AI to AIBot.php, class RandomBot to StupidRandomBot.php
- Method
RegionArray::getOffsets()
does not usegetArrayCopy()
anymore. - Method to filter regions by owner moved from Map (method
getRegions()
). to RegionArray.
- Bot engine outsourced to https://github.com/prokki/theaigames-bot-engine.
- fixed CHANGELOG.md
- Commands GoPlaceArmiesCommand and GoAttackTransferCommand fixed.
- Fixed some command class names.
- Fixed
composer.json
: set type tolibrary
, added directorytests
to section autoload.
- Massively reorganized namespace structure.
- Divided game class "tank" in classes Bot, Player and Map.
- Changed class Map to save snapshots for rounds - changed whole object initialization process.
- Moved map initialization to class SetupMap.
*- Interface Move and move PickMove added.
- Added class Round to save map snapshots and player moves of each round.
*- Added class Environment as container for player, map and rounds.
*- Added missing command OpponentMovesCommand.
*- Added configuration file and
@covers
annotations for code coverage. *- Added missing unit test for command classes. *- Added CHANGELOG.md file. *- Ignoredcomposer.lock
by git.
*- First (unusable) version *- First UnitTests