示例#1
0
文件: battle.php 项目: sjhuda/knp-oop
<?php

use ShipBattle\Service\Container;
require __DIR__ . '/bootstrap.php';
$container = new Container($configuration);
$shipLoader = $container->getShipLoader();
$ships = $shipLoader->getShips();
$ship1Id = isset($_POST['ship1_id']) ? $_POST['ship1_id'] : NULL;
$ship1Quantity = isset($_POST['ship1_quantity']) ? $_POST['ship1_quantity'] : 1;
$ship2Id = isset($_POST['ship2_id']) ? $_POST['ship2_id'] : NULL;
$ship2Quantity = isset($_POST['ship2_quantity']) ? $_POST['ship2_quantity'] : 1;
if (!$ship1Id || !$ship2Id) {
    header('Location: /index.php?error=missing_data');
    die;
}
$ship1 = $shipLoader->findOneById($ship1Id);
$ship2 = $shipLoader->findOneById($ship2Id);
if (!$ship1 || !$ship2) {
    header('Location: /index.php?error=bad_ships');
    die;
}
if ($ship1Quantity <= 0 || $ship2Quantity <= 0) {
    header('Location: /index.php?error=bad_quantities');
    die;
}
$battleManager = $container->getBattleManager();
$battleResult = $battleManager->battle($ship1, $ship1Quantity, $ship2, $ship2Quantity);
?>

<html>
<head>
示例#2
0
文件: index.php 项目: sjhuda/knp-oop
<?php

use ShipBattle\Service\Container;
require __DIR__ . '/bootstrap.php';
$container = new Container($configuration);
$shipLoader = $container->getShipLoader();
$ships = $shipLoader->getShips();
$errorMessage = '';
if (isset($_GET['error'])) {
    switch ($_GET['error']) {
        case 'missing_data':
            $errorMessage = 'Don\'t forget to select some ships to battle!';
            break;
        case 'bad_ships':
            $errorMessage = 'You\'re trying to fight with a ship that\'s unknown to the galaxy?';
            break;
        case 'bad_quantities':
            $errorMessage = 'You pick strange numbers of ships to battle - try again.';
            break;
        default:
            $errorMessage = 'There was a disturbance in the force. Try again.';
    }
}
?>

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>OO Battleships</title>