Exemple #1
0
function Mersenne_Shuffle($arr, $seed = -1)
{
    if ($seed == -1) {
        return $arr;
    }
    $mt = new Mersenne_Twister($seed);
    $new = $arr;
    for ($i = count($new) - 1; $i > 0; $i--) {
        $j = $mt->getNext(0, $i);
        $tmp = $new[$i];
        $new[$i] = $new[$j];
        $new[$j] = $tmp;
    }
    return $new;
}
Exemple #2
0
<?php

require_once "Mersenne_Twister.php";
use Tsugi\Core\LTIX;
use Tsugi\Util\LTI;
require_once "names.php";
// Compute the stuff for the output
$code = $USER->id + $LINK->id + $CONTEXT->id;
$MT = new Mersenne_Twister($code);
$my_names = array();
$my_age = array();
$howmany = $MT->getNext(4, 6);
for ($i = 0; $i < $howmany; $i++) {
    $name = $names[$MT->getNext(0, count($names))];
    $age = $MT->getNext(13, 40);
    $sha = sha1($name . $age);
    $database[] = array($sha, $name, $age);
}
$sorted = $database;
sort($sorted);
$goodsha = $sorted[0][0];
$oldgrade = $RESULT->grade;
if (isset($_POST['sha1'])) {
    if ($_POST['sha1'] != $goodsha) {
        $_SESSION['error'] = "Your code did not match";
        header('Location: ' . addSession('index.php'));
        return;
    }
    $gradetosend = 1.0;
    $scorestr = "Your answer is correct, score saved.";
    if ($dueDate->penalty > 0) {