コード例 #1
0
ファイル: engine.php プロジェクト: xshifty/duntxt
function answer(array $options)
{
    $callbacks = array_values($options);
    $answers = array_keys($options);
    $menu = array_map(function ($value, $index) {
        return sprintf("%s) %s", $index + 1, $value);
    }, $answers, array_keys($answers));
    while (true) {
        narrate(["Choose an option and press [ENTER]:"], 1);
        narrate($menu);
        $selected = readline();
        if (isset($callbacks[intval($selected) - 1])) {
            $next = $callbacks[intval($selected) - 1];
            break;
        }
        narrate(["Invalid answer!"], 1);
    }
    if (is_callable($next)) {
        $list = array_keys($options);
        dialog("You", [$list[intval($selected) - 1]]);
        $next();
    }
}
コード例 #2
0
ファイル: game.php プロジェクト: xshifty/duntxt
function gameOver()
{
    narrate(["GAME OVER!"], 3);
}