전투태세, 첩보 추가, 기존 코드 일부 정리

This commit is contained in:
2018-10-20 16:45:57 +09:00
parent aecbf8ccb3
commit aa19ae129b
18 changed files with 476 additions and 216 deletions
@@ -0,0 +1,37 @@
<?php
namespace sammo\Constraint;
class NotOccupiedDestCity extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_DEST_CITY;
public function checkInputValues(bool $throwExeception=true){
if(!parent::checkInputValues($throwExeception) && !$throwException){
return false;
}
if(!key_exists('nation', $this->general)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require nation in general");
}
if(!key_exists('nation', $this->destCity)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require nation in city");
}
return true;
}
public function test():bool{
$this->checkInputValues();
$this->tested = true;
if($this->destCity['nation'] == $this->general['nation']){
return true;
}
$this->reason = "아국입니다.";
return false;
}
}
@@ -2,7 +2,7 @@
namespace sammo\Constraint;
class NearCity extends Constraint{
class NotSameDestCity extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_DEST_CITY;
public function checkInputValues(bool $throwExeception=true){
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace sammo\Constraint;
class ReqCityTrader extends Constraint{
const REQ_VALUES = Constraint::REQ_CITY;
public function checkInputValues(bool $throwExeception=true){
if(!parent::checkInputValues($throwExeception) && !$throwException){
return false;
}
if(!key_exists('trade', $this->city)){
if(!$throwExeception){return false; }
throw new \InvalidArgumentException("require trade in city");
}
return true;
}
public function test():bool{
$this->checkInputValues();
$this->tested = true;
if($this->city['trade'] !== null){
return true;
}
$this->reason = "도시에 상인이 없습니다.";
return false;
}
}
@@ -4,7 +4,7 @@ namespace sammo\Constraint;
use sammo\GameConst;
class ReqGeneralAtmosMargin extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL;
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_INT_ARG;
public function checkInputValues(bool $throwExeception=true){
if(!parent::checkInputValues($throwExeception) && !$throwException){
@@ -23,7 +23,7 @@ class ReqGeneralAtmosMargin extends Constraint{
$this->checkInputValues();
$this->tested = true;
if($this->general['atmos'] < GameConst::$maxAtmosByCommand){
if($this->general['atmos'] < $this->arg){
return true;
}
@@ -4,7 +4,7 @@ namespace sammo\Constraint;
use sammo\GameConst;
class ReqGeneralTrainMargin extends Constraint{
const REQ_VALUES = Constraint::REQ_GENERAL;
const REQ_VALUES = Constraint::REQ_GENERAL|Constraint::REQ_INT_ARG;
public function checkInputValues(bool $throwExeception=true){
if(!parent::checkInputValues($throwExeception) && !$throwException){
@@ -23,7 +23,7 @@ class ReqGeneralTrainMargin extends Constraint{
$this->checkInputValues();
$this->tested = true;
if($this->general['train'] < GameConst::$maxTrainByCommand){
if($this->general['train'] < $this->arg){
return true;
}
+1 -1
View File
@@ -2,7 +2,7 @@
namespace sammo\Constraint;
class NoWanderingNation extends Constraint{
class SuppliedCity extends Constraint{
const REQ_VALUES = Constraint::REQ_CITY;
public function checkInputValues(bool $throwExeception=true){