Example #1
0
        $this->addField($param);
        $letter = new A_Controller_Input_Field('letter');
        $letter->addFilter($letter_rule);
        $this->addField($letter);
        $this->processRequest($request);
        $game = new HangmanGame();
        $locator->set('Game', $game);
        $game->word = $request->get('word');
        $game->guesses = $request->get('guesses');
        $game->misses = $request->get('misses');
        $game->level = $request->get('level');
        $game->guess($letter->value);
        $this->addState(new A_Controller_App_State('start', array(new StartView(), 'render')));
        $this->addState(new A_Controller_App_State('game', array(new GameView(), 'render')));
        $this->addState(new A_Controller_App_State('win', array(new WinView(), 'render')));
        $this->addState(new A_Controller_App_State('lose', array(new LoseView(), 'render')));
        $this->addTransition(new A_Controller_App_Transition('start', 'game', new A_Rule_Notnull('level', '')));
        $this->addTransition(new A_Controller_App_Transition('start', 'lose', new A_Rule_Notnull('giveup', '')));
        $this->addTransition(new A_Controller_App_Transition('game', 'lose', new LoseRule($game)));
        $this->addTransition(new A_Controller_App_Transition('game', 'win', new WinRule($game)));
        parent::run($locator);
    }
}
//-----------------------------------------------------------------------------
$Request = new A_Http_Request();
$Response = new A_Http_Response($Locator);
$Locator->set('Request', $Request);
$Locator->set('Response', $Response);
$controller = new Hangman($Locator, 'start');
$controller->run($Locator);
echo $Response->render();