Beispiel #1
0
    }
}
class SecondState implements State
{
    public function execute(Troll $troll)
    {
        if ($troll->isSecondState()) {
            $troll->second();
        }
    }
}
class ThirdState implements State
{
    public function execute(Troll $troll)
    {
        if ($troll->isThirdState()) {
            $troll->third();
        }
    }
}
$uid = 10001;
$troll = new Troll($uid);
$firstState = new FirstState();
$troll->changeState($firstState);
$troll->Update();
$secondState = new SecondState();
$troll->changeState($secondState);
$troll->Update();
$thirdState = new ThirdState();
$troll->changeState($thirdState);
$troll->Update();
Beispiel #2
0
    public function execute(Troll $troll)
    {
        if ($troll->isAttackState()) {
            $troll->attack();
        } else {
            // todo
        }
    }
}
class RunawayState implements State
{
    public function execute(Troll $troll)
    {
        if ($troll->isRunawayState()) {
            $troll->runaway();
        } else {
            // todo
        }
    }
}
$uid = 10001;
$troll = new Troll($uid);
$PatrolState = new PatrolState();
$troll->changeState($PatrolState);
$troll->Update();
$AttackState = new AttackState();
$troll->changeState($AttackState);
$troll->Update();
$RunawayState = new RunawayState();
$troll->changeState($RunawayState);
$troll->Update();