public function testPlaceArmies() { $move = new \Mastercoding\Conquest\Move\PlaceArmies(); $move->setPlayerName('test'); $move->addPlaceArmies(1, 5); $move->addPlaceArmies(3, 2); // output $this->assertEquals('test place_armies 1 5,test place_armies 3 2', $move->toString()); }
/** * @inheritDoc */ public static function create($components) { // set timeout $moves = new self(); // no moves? if (count($components) == 1) { return $moves; } for ($i = 1; $i < count($components);) { switch ($components[$i + 1]) { case 'place_armies': $placeArmiesMove = new \Mastercoding\Conquest\Move\PlaceArmies(); $placeArmiesMove->setPlayerName($components[$i]); $placeArmiesMove->addPlaceArmies($components[$i + 2], $components[$i + 3]); $moves->addMove($placeArmiesMove); $i += 4; break; case 'attack/transfer': $attackTransferMove = new \Mastercoding\Conquest\Move\AttackTransfer(); $attackTransferMove->setPlayerName($components[$i]); $attackTransferMove->addAttackTransfer($components[$i + 2], $components[$i + 3], $components[$i + 4]); $moves->addMove($attackTransferMove); $i += 5; break; default: throw new \Mastercoding\Conquest\Command\Parser\GenericException('Invalid opponent moves'); } } return $moves; }
/** * @inheritDoc */ public function placeArmies(\Mastercoding\Conquest\Command\Go\PlaceArmies $placeArmiesCommand) { // get amount to place $amount = $this->getMap()->getStartingArmies(); // place on any of my regions $myRegions = $this->getMap()->getRegionsForPlayer($this->getMap()->getYou()); // first $myRegions->rewind(); $first = $myRegions->current(); // moves $placeArmiesMove = new \Mastercoding\Conquest\Move\PlaceArmies(); $placeArmiesMove->addPlaceArmies($first->getId(), $amount); return $placeArmiesMove; }
/** * @depends testSetupPlayers */ public function testPlaceArmies(\Mastercoding\Conquest\Object\Map $map) { // command $move = new \Mastercoding\Conquest\Move\PlaceArmies(); $move->setPlayerName('test'); $move->addPlaceArmies(1, 5); $move->addPlaceArmies(3, 2); // process $this->mapUpdater->updatePlaceArmies($map, $move); // validate $this->assertEquals(9, $map->getRegionById(1)->getArmies()); $this->assertEquals(4, $map->getRegionById(3)->getArmies()); }