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(); } }
function gameOver() { narrate(["GAME OVER!"], 3); }