gluck1986/project-lvl1-s156

View on GitHub
src/gameScenarios/PrimeScenario.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

namespace BrainGames\gameScenarios\PrimeScenario;

use function BrainGames\Helpers\isPrime;
use function BrainGames\Scenario\buildScenario;

const MIN_NUM = 1;
const MAX_NUM = 14;

const YES = 'yes';
const NO = 'no';

function run()
{
    \BrainGames\Cli\run(getScenario());
}

function getScenario()
{
    return buildScenario(getHead(), getAction());
}

function getHead(): string
{
    return 'Is it a simple number?';
}

function getAction(): \Closure
{
    return function () {
        $number = rand(MIN_NUM, MAX_NUM);
        $question = $number;
        $expected = isPrime($number) ? YES : NO;

        return [$question, $expected];
    };
}