Exemple #1
0
before_action("check_form", array("turn"), "turn");
switch ($_GET["action"]) {
    case "index":
        break;
    case "new":
        break;
    case "create":
        define("game", create_game($_POST["identity"]));
        define("turn", -1);
        foreach ($_POST["cards_suspect"] as $suspect => $cards) {
            create_player($suspect, $cards);
        }
        foreach ($_POST["known_cards"] as $card) {
            add_card_owner_status($card, $_POST["identity"], owned);
        }
        foreach (select_suspects() as $player) {
            if (select_cards_player($player["id"]) == 0) {
                foreach (select_cards() as $card) {
                    add_card_owner_status($card["id"], $player["id"], not_owned);
                }
            }
        }
        $game["id"] = game;
        redirect_to_action("show");
        break;
    case "turn":
        define("turn", create_turn($_POST));
        set_if_not_set($_POST["witness"], get_current_player());
        foreach (players_between(get_current_player(), $_POST["witness"]) as $player) {
            add_card_owner_status($_POST["weapon"], $player, not_owned);
            add_card_owner_status($_POST["room"], $player, not_owned);
Exemple #2
0
<?php

echo form_input(pretty_card(array("id" => get_current_player())) . " suspecte", "suspect", $form, array("options" => option_array(select_suspects(), "id", "name", "card")));
echo form_input("avec l'arme", "weapon", $form, array("options" => option_array(select_weapons(), "id", "name", "card")));
echo form_input("dans la pièce", "room", $form, array("options" => option_array(select_rooms(), "id", "name", "card")));
echo form_input("mais le témoin", "witness", $form, array("options" => array_true_merge(option_array(select_players(), "id", "name", "card"), array(0 => ""))));
if (get_current_player() == my_player()) {
    echo form_input("réfute avec", "evidence", $form, array("options" => option_array(select_types(), "id", "name", "type")));
} else {
    echo "réfute";
}
?>
.
<br>
<?php 
$turns = select_turns();
echo form_submit_button("Ok") . " " . link_to(path("skip", "game", game), "Suivant", array("class" => "btn btn-primary")) . " " . (!is_empty($turns) ? link_to(path("revert", "game", game), "Annuler le dernier coup", array("class" => "btn btn-primary")) : "");
Exemple #3
0
function select_unknown_owners($card)
{
    $known_players = array_of_ids(select_with_request_string("player AS id", "owned", array("game", "player", "card", "status"), array(), array("game" => game, "card" => $card)));
    return array_diff(array_of_ids(select_suspects()), $known_players);
}
<?php

$form["redirect_to_if_error"] = path("new", "game");
$form["destination_path"] = path("create", "game");
$form["html_form_path"] = VIEW_PATH . "game/new_form.php";
foreach (select_suspects() as $suspect) {
    $form["fields"]["cards_suspect_" . $suspect["id"]] = create_quantity_field("le nombre de cartes de " . pretty_card($suspect), dealed_card_number, array("optional" => 1));
}
$form["fields"]["known_cards"] = create_id_field("mes cartes", "card", array("multiple" => 1, "optional" => 1));
$form["fields"]["identity"] = create_id_field("mon identité", "card");
function check_total_card_number($input)
{
    $sum = 0;
    foreach ($input as $name => $value) {
        if (substr($name, 0, 14) == "cards_suspect_") {
            $sum += $value;
        }
    }
    if ($sum != dealed_card_number) {
        return "La somme des cartes ne fait pas " . dealed_card_number . ".";
    }
    return "";
}
function check_known_cards_matches($input)
{
    if ($input["cards_suspect_" . $input["identity"][0]] != count($input["known_cards"])) {
        return "Il faut indiquer " . $input["cards_suspect_" . $input["identity"][0]] . " cartes connues.";
    }
    return "";
}
$form["validations"] = array("check_total_card_number", "check_known_cards_matches");