Juego de las monedas

https://culturacientifica.com/2013/06/21/el-juego-de-penney-tirando-monedas-con-curioso-resultado/


session_start();

$reset = filter_input(INPUT_GET, 'reset');
if (empty($_SESSION['jugador']) || !empty($reset)) {
    $_SESSION['jugador'] = 0;
}
if (empty($_SESSION['maquina']) || !empty($reset)) {
    $_SESSION['maquina'] = 0;
}
$jugada = filter_input(INPUT_GET, 'jugada');

if (!empty($jugada)) {
    $maquina = ['CCC' => 'XCC', 'CCX' => 'XCC', 'CXC' => 'CCX', 'CXX' => 'CCX',
        'XCC' => 'XXC', 'XCX' => 'XXC', 'XXC' => 'CXX', 'XXX' => 'CXX'];
    $mijugada = $maquina[$jugada];

    function tirada() {
        return mt_rand(0, 1) == 1 ? 'C' : 'X';
    }

    $tiradas = tirada() . tirada() . tirada();
    while (substr($tiradas, -3) != $jugada && substr($tiradas, -3) != $mijugada) {
        $tiradas .= tirada();
    }
    if (substr($tiradas, -3) == $jugada) {
        $_SESSION['jugador'] ++;
        $texto = "Has ganado ¡Has hecho trampa, seguro!";
    } else {
        $_SESSION['maquina'] ++;
        $texto = "Te he ganado, soy el mejor";
    }
}
?><!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <h1>El juego de las monedas. Vas a perder.</h1>
        <h2>Jugador:<?= $_SESSION['jugador'] ?> Máquina:<?= $_SESSION['maquina'] ?> </h2>
        <form>
            <p>Elige tu jugada</p>
            <select name="jugada">
                <option>CCC</option>
                <option>CCX</option>
                <option>CXC</option>
                <option>CXX</option>
                <option>XCC</option>
                <option>XCX</option>
                <option>XXC</option>
                <option>XXX</option>
            </select>
            <input type="submit"> <input type="submit" name="reset" value="Reiniciar">
        </form>
        <?php
        if (isset($jugada)) {
            ?>
            <h2>Tu jugada: <?= $jugada ?> Mi jugada: <?= $mijugada ?></h2>
            <?php
            ?>
            <h3><?= substr($tiradas, 0, -3) ?><mark><?= substr($tiradas, -3) ?></mark></h3>
            <?php
            ?>
            <h2><?= $texto ?></h2>
            <?php
        }
        ?>

    </body>
</html>

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos