function makeRoster($code, $course_count = false, $name_count = false) { global $names, $courses; $MT = new Mersenne_Twister($code); $retval = array(); $cc = 0; foreach ($courses as $k => $course) { $cc = $cc + 1; if ($course_count && $cc > $course_count) { break; } $new = $MT->shuffle($names); $new = array_slice($new, 0, $MT->getNext(17, 53)); $inst = 1; $nc = 0; foreach ($new as $k2 => $name) { $nc = $nc + 1; if ($name_count && $nc > $name_count) { break; } $retval[] = array($name, $course, $inst); $inst = 0; } } return $retval; }
function getRandomNumbers($code, $count = 400, $max = 10000) { $retval = array(); $MT = new Mersenne_Twister($code); for ($i = 0; $i < $count; $i++) { $retval[] = $MT->getNext(1, $max); } return $retval; }
function makeRoster($code) { global $names, $courses; $MT = new Mersenne_Twister($code); $retval = array(); foreach ($courses as $k => $course) { $new = $MT->shuffle($names); $new = array_slice($new, 0, $MT->getNext(17, 53)); $inst = 1; foreach ($new as $k2 => $name) { $retval[] = array($name, $course, $inst); $inst = 0; } } return $retval; }
<?php use Tsugi\Core\LTIX; use Tsugi\Util\LTI; use Tsugi\Util\Mersenne_Twister; 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) {
if (count($pieces) == 4 && $pieces[2] + 0 > 0) { $code = $pieces[2] + 0; } if ($code == 42) { echo "This file contains the sample data\n\n"; } else { echo "This file contains the actual data for your assignment - good luck!\n\n"; } $handle = fopen("../static/intro.txt", "r"); if ($handle) { $count = 0; $MT = new Mersenne_Twister($code); // header('Content-Disposition: attachment; filename='.$local_path.';'); while (($line = fgets($handle)) !== false) { $count++; $choose = $count < 400 ? $MT->getNext(0, 9) : 1; if ($choose != 0) { echo $line; continue; } $howmany = $MT->getNext(1, 3); if ($howmany == 1) { echo $MT->getNext(1, 10000) . ' ' . $line; } else { if ($howmany == 2) { echo $MT->getNext(1, 10000) . ' ' . rtrim($line) . ' ' . $MT->getNext(1, 10000) . "\n"; } else { if ($howmany == 3) { $words = explode(' ', $line); if (count($words) > 3) { for ($i = 0; $i < count($words); $i++) {