private function display(array $battlefieldElements)
 {
     $renderString = '';
     $renderString .= self::EMPTY_FIELD . self::EMPTY_FIELD;
     $renderString .= implode(range(BattlefieldCreator::MIN_COLUMNS, BattlefieldCreator::MAX_COLUMNS), ' ') . "\n";
     $rowLetter = AlphabetHelper::getChar(BattlefieldCreator::MIN_COLUMNS);
     foreach ($battlefieldElements as $row) {
         $renderString .= $rowLetter++ . self::EMPTY_FIELD . implode($row, ' ') . "\n";
     }
     return $renderString;
 }
Esempio n. 2
0
 /**
  * @param $input
  * @return Coordinate
  * @throws DebugException
  * @throws NoInputException
  * @throws ValidationException
  */
 public function handle($input)
 {
     $input = trim($input);
     if (!$input) {
         throw new NoInputException();
     }
     if ($this->inputValidation->isDebugValid($input)) {
         throw new DebugException();
     }
     if (!$this->inputValidation->isValid($input)) {
         throw new ValidationException();
     }
     $char = substr($input, 0, 1);
     $number = substr($input, 1);
     $row = AlphabetHelper::getPosition($char);
     $column = intval($number);
     return new Coordinate($row, $column);
 }
Esempio n. 3
0
 /**
  * @param $input
  * @return bool
  */
 public function isValid($input)
 {
     $input = trim($input);
     $char = substr($input, 0, 1);
     $row = substr($input, 1);
     if ($this->isDebugValid($input)) {
         return true;
     }
     if (!AlphabetHelper::isInAlphabet($char)) {
         return false;
     }
     $column = AlphabetHelper::getPosition($char);
     if ($column < BattlefieldCreator::MIN_COLUMNS || $column > BattlefieldCreator::MAX_COLUMNS) {
         return false;
     }
     if (intval($row) < BattlefieldCreator::MIN_ROWS || intval($row) > BattlefieldCreator::MAX_ROWS) {
         return false;
     }
     return true;
 }