function game_sudoku_check_number($id, $game, $attempt, $sudoku, $pos, $num)
{
    $textlib = textlib_get_instance();
    $correct = $textlib->substr($sudoku->data, $pos - 1, 1);
    if ($correct != $num) {
        game_sudoku_play($id, $game, $attempt, $sudoku);
        return;
    }
    $leng = $textlib->strlen($sudoku->guess);
    $lend = $textlib->strlen($sudoku->data);
    if ($leng < $lend) {
        $sudoku->guess .= str_repeat(' ', $lend - $leng);
    }
    game_setchar($sudoku->guess, $pos - 1, $correct);
    if (!set_field_select('game_sudoku', 'guess', $sudoku->guess, "id={$sudoku->id}")) {
        error('game_sudoku_check_number: Cannot update table game_sudoku');
    }
    game_sudoku_play($id, $game, $attempt, $sudoku);
}
Example #2
0
function game_sudoku_check_number($id, $game, $attempt, $sudoku, $pos, $num, $context)
{
    global $DB;
    $correct = game_substr($sudoku->data, $pos - 1, 1);
    if ($correct != $num) {
        game_sudoku_play($id, $game, $attempt, $sudoku, false, false, $context);
        return;
    }
    $leng = game_strlen($sudoku->guess);
    $lend = game_strlen($sudoku->data);
    if ($leng < $lend) {
        $sudoku->guess .= str_repeat(' ', $lend - $leng);
    }
    game_setchar($sudoku->guess, $pos - 1, $correct);
    if (!$DB->set_field_select('game_sudoku', 'guess', $sudoku->guess, "id={$sudoku->id}")) {
        print_error('game_sudoku_check_number: Cannot update table game_sudoku');
    }
    game_sudoku_play($id, $game, $attempt, $sudoku, false, false, $context);
}
$_GET['id'] = $update;
require_once "header.php";
if (!isteacherinanycourse($USER->id)) {
    error(get_string('only_teachers', 'game'));
}
$gamekind = $_GET['gamekind'];
$id = $update;
$attemptid = (int) $_GET['attemptid'];
$attempt = get_record_select('game_attempts', "id={$attemptid}");
$game = get_record_select('game', "id={$attempt->gameid}");
$detail = get_record_select('game_' . $gamekind, "id={$attemptid}");
if (array_key_exists('solution', $_GET)) {
    $solution = $_GET['solution'];
} else {
    $solution = 0;
}
switch ($gamekind) {
    case 'cross':
        game_cross_play($update, $game, $attempt, $detail, '', true, $solution, false, false, false, false, true);
        break;
    case 'sudoku':
        game_sudoku_play($update, $game, $attempt, $detail, true, $solution);
        break;
    case 'hangman':
        game_hangman_play($update, $game, $attempt, $detail, true, $solution);
        break;
    case 'cryptex':
        $crossm = get_record_select('game_cross', "id={$attemptid}");
        game_cryptex_play($update, $game, $attempt, $detail, $crossm, false, true, $solution);
        break;
}