本文整理汇总了PHP中game_updateattempts函数的典型用法代码示例。如果您正苦于以下问题:PHP game_updateattempts函数的具体用法?PHP game_updateattempts怎么用?PHP game_updateattempts使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了game_updateattempts函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: game_cross_continue
function game_cross_continue($id, $game, $attempt, $cross, $g = '', $endofgame = '')
{
if ($endofgame) {
if ($g == '') {
game_updateattempts($game, $attempt, -1, true);
$endofgame = false;
}
}
if ($attempt != false and $cross != false) {
return game_cross_play($id, $game, $attempt, $cross, $g, false, false, $endofgame, false, false, false, false);
}
if ($attempt == false) {
$attempt = game_addattempt($game);
}
$textlib = textlib_get_instance();
$cross = new CrossDB();
$questions = array();
$infos = array();
$answers = array();
$recs = game_questions_shortanswer($game);
if ($recs == false) {
error('game_cross_continue: ' . get_string('cross_nowords', 'game'));
}
$infos = array();
foreach ($recs as $rec) {
if ($game->param7 == false) {
if ($textlib->strpos($rec->answertext, ' ')) {
continue;
//spaces not allowed
}
}
$rec->answertext = game_upper($rec->answertext);
$answers[$rec->answertext] = game_repairquestion($rec->questiontext);
$infos[$rec->answertext] = array($game->sourcemodule, $rec->questionid, $rec->glossaryentryid, $rec->attachment);
}
$cross->setwords($answers, $game->param1);
if ($cross->computedata($crossm, $crossd, $game->param2)) {
$new_crossd = array();
foreach ($crossd as $rec) {
$info = $infos[$rec->answertext];
if ($info != false) {
$rec->sourcemodule = $info[0];
$rec->questionid = $info[1];
$rec->glossaryentryid = $info[2];
$rec->attachment = $info[3];
}
$new_crossd[] = $rec;
}
$cross->save($game, $crossm, $new_crossd, $attempt->id);
game_updateattempts($game, $attempt, 0, 0);
return game_cross_play($id, $game, $attempt, $crossm, '', false, false, false, false, false, false, false);
}
if (count($crossd) == 0) {
error('game_cross_continue: ' . get_string('cross_nowords', 'game'));
}
}
示例2: game_cross_continue
function game_cross_continue($id, $game, $attempt, $cross, $g, $endofgame, $context)
{
if ($endofgame) {
if ($g == '') {
game_updateattempts($game, $attempt, -1, true);
$endofgame = false;
}
}
if ($attempt != false and $cross != false) {
return game_cross_play($id, $game, $attempt, $cross, $g, false, false, $endofgame, false, false, false, false, true, $context);
}
if ($attempt == false) {
$attempt = game_addattempt($game);
}
game_cross_new($game, $attempt->id, $crossm);
game_updateattempts($game, $attempt, 0, 0);
return game_cross_play($id, $game, $attempt, $crossm, '', false, false, false, false, false, false, false, true, $context);
}
示例3: game_cross_computecheck
function game_cross_computecheck($correctletters, $wrongletters, $restletters, $game, $attempt, &$done, $onlyshow, $showsolution, $finishattempt)
{
$ret = '';
if ($correctletters == 0 and $wrongletters == 0) {
return $ret;
}
$and = get_string('and', 'game');
$a = array();
if ($correctletters) {
$a[] = $correctletters . ' ' . ($correctletters > 1 ? get_string('cross_corrects', 'game') : get_string('cross_correct', 'game'));
}
if ($wrongletters) {
$a[] = $wrongletters . ' ' . ($wrongletters > 1 ? get_string('cross_errors', 'game') : get_string('cross_error', 'game'));
}
if ($correctletters > 1 or $wrongletters > 1) {
$ret = get_string('cross_found_many', 'game');
} else {
$ret = get_string('cross_found_one', 'game');
}
$i = 0;
foreach ($a as $msg) {
$i++;
if ($i == 1) {
$ret .= ' ' . $msg;
} else {
if ($i == count($a)) {
$ret .= ' ' . get_string('and', 'game') . ' ' . $msg;
} else {
$ret .= ', ' . $msg;
}
}
}
$done = $restletters == 0 ? true : false;
if ($finishattempt == false) {
if ($onlyshow or $showsolution) {
return $ret;
}
} else {
$done = 1;
}
$grade = $correctletters / ($correctletters + $restletters);
$ret .= '<br>' . get_string('grade', 'game') . ' ' . round($grade * 100) . ' %';
game_updateattempts($game, $attempt, $grade, $done);
return $ret;
}
示例4: game_sudoku_check_last
function game_sudoku_check_last($id, $game, $attempt, $sudoku, $finishattempt, $course)
{
global $CFG, $DB;
$correct = $DB->get_field_select('game_queries', 'COUNT(*) AS c', "attemptid={$attempt->id} AND score > 0.9");
$all = $DB->get_field_select('game_queries', 'COUNT(*) AS c', "attemptid={$attempt->id}");
if ($all) {
$grade = $correct / $all;
} else {
$grade = 0;
}
game_updateattempts($game, $attempt, $grade, $finishattempt);
}
示例5: game_bookquiz_check_questions
function game_bookquiz_check_questions($id, $game, $attempt, $bookquiz, $context)
{
global $USER, $DB;
$scoreattempt = optional_param('scoreattempt', 0, PARAM_INT);
$responses = data_submitted();
$questionlist = $responses->questionids;
$questions = game_sudoku_getquestions($questionlist);
$grades = game_grade_questions($questions);
$scorequestion = 0;
$scoreattempt = 0;
$chapterid = required_param('chapterid', PARAM_INT);
$nextchapterid = required_param('nextchapterid', PARAM_INT);
foreach ($questions as $question) {
if (!array_key_exists($question->id, $grades)) {
//no answered
continue;
}
$grade = $grades[$question->id];
if ($grade->grade < 0.5) {
continue;
}
//found one correct answer
if (!$DB->get_field('game_bookquiz_chapters', 'id', array('attemptid' => $attempt->id, 'chapterid' => $chapterid))) {
$newrec = new stdClass();
$newrec->attemptid = $attempt->id;
$newrec->chapterid = $chapterid;
if (!$DB->insert_record('game_bookquiz_chapters', $newrec, false)) {
print_object($newrec);
print_error("Can't insert to table game_bookquiz_chapters");
}
}
//Have to go to next page.
$bookquiz->lastchapterid = $nextchapterid;
$scorequestion = 1;
break;
}
$query = new stdClass();
$query->id = 0;
$query->attemptid = $attempt->id;
$query->gameid = $game->id;
$query->userid = $USER->id;
$query->sourcemodule = 'question';
$query->questionid = $question->id;
$query->glossaryentryid = 0;
$query->questiontext = $question->questiontext;
$query->timelastattempt = time();
game_update_queries($game, $attempt, $query, $scorequestion, '');
game_updateattempts($game, $attempt, $scoreattempt, 0);
game_bookquiz_continue($id, $game, $attempt, $bookquiz, $bookquiz->lastchapterid, $context);
}
示例6: game_hiddenpicture_check_mainquestion
function game_hiddenpicture_check_mainquestion($id, $game, &$attempt, &$hiddenpicture, $finishattempt, $context)
{
global $QTYPES, $CFG, $DB;
$responses = data_submitted();
$glossaryentryid = $responses->glossaryentryid;
$queryid = $responses->queryid;
// Load the glossary entry
if (!($entry = $DB->get_record('glossary_entries', array('id' => $glossaryentryid)))) {
print_error(get_string('noglossaryentriesfound', 'game'));
}
$answer = $responses->answer;
$correct = false;
if ($answer != '') {
if (game_upper($entry->concept) == game_upper($answer)) {
$correct = true;
}
}
// Load the query
if (!($query = $DB->get_record('game_queries', array('id' => $queryid)))) {
print_error("The query {$queryid} not found");
}
game_update_queries($game, $attempt, $query, $correct, $answer);
if ($correct) {
$hiddenpicture->found = 1;
} else {
$hiddenpicture->wrong++;
}
if (!$DB->update_record('game_hiddenpicture', $hiddenpicture)) {
print_error('game_hiddenpicture_check_mainquestion: error updating in game_hiddenpicture');
}
$score = game_hidden_picture_computescore($game, $hiddenpicture);
game_updateattempts($game, $attempt, $score, $correct);
if ($correct == false) {
game_hiddenpicture_play($id, $game, $attempt, $hiddenpicture, false, $context);
return true;
}
//Finish the game
$query = $DB->get_record_select('game_queries', "attemptid={$hiddenpicture->id} AND col=0", null, 'id,glossaryentryid,attachment,questiontext');
game_showpicture($id, $game, $attempt, $query, '', '', false);
echo '<p><BR/><font size="5" color="green">' . get_string('win', 'game') . '</font><BR/><BR/></p>';
global $CFG;
echo '<br/>';
echo "<a href=\"{$CFG->wwwroot}/mod/game/attempt.php?id={$id}\">";
echo get_string('nextgame', 'game') . '</a> ';
if (!($cm = $DB->get_record('course_modules', array('id' => $id)))) {
print_error("Course Module ID was incorrect id={$id}");
}
echo "<a href=\"{$CFG->wwwroot}/course/view.php?id={$cm->course}\">" . get_string('finish', 'game') . '</a> ';
return false;
}
示例7: game_updateattempts_maxgrade
function game_updateattempts_maxgrade($game, $attempt, $grade, $finished)
{
global $DB;
$recgrade = $DB->get_field('game_attempts', 'score', array('id' => $attempt->id));
if ($recgrade > $grade) {
$grade = -1;
//don't touch the grade
}
game_updateattempts($game, $attempt, $grade, $finished);
}
示例8: game_millionaire_onquit
function game_millionaire_onquit($id, $game, $attempt, $query)
{
global $CFG;
game_updateattempts($game, $attempt, -1, true);
if (!($cm = get_record("course_modules", "id", $id))) {
error("Course Module ID was incorrect id={$id}");
}
echo '<br>';
echo "<a href=\"{$CFG->wwwroot}/mod/game/attempt.php?id={$id}\">" . get_string('nextgame', 'game') . '</a> ';
echo "<a href=\"{$CFG->wwwroot}/course/view.php?id={$cm->course}\">" . get_string('finish', 'game') . '</a> ';
}
示例9: game_cryptex_play
function game_cryptex_play($id, $game, $attempt, $cryptexrec, $crossm, $updateattempt = false, $onlyshow = false, $showsolution = false, $context)
{
global $DB;
global $CFG;
if ($game->toptext != '') {
echo $game->toptext . '<br>';
}
echo '<br>';
$cryptex = new CryptexDB();
$language = $attempt->language;
$questions = $cryptex->loadcryptex($crossm, $mask, $corrects, $attempt->language);
if ($language != $attempt->language) {
if (!$DB->set_field('game_attempts', 'language', $attempt->language, array('id' => $attempt->id))) {
print_error("game_cross_play: Can't set language");
}
}
if ($attempt->language != '') {
$wordrtl = game_right_to_left($attempt->language);
} else {
$wordrtl = right_to_left();
}
$reverseprint = $wordrtl != right_to_left();
if ($reverseprint) {
$textdir = 'dir="' . ($wordrtl ? 'rtl' : 'ltr') . '"';
} else {
$textdir = '';
}
$len = textlib::strlen($mask);
//count1 means there is a guested letter
//count2 means there is a letter that not guessed
$count1 = $count2 = 0;
for ($i = 0; $i < $len; $i++) {
$c = textlib::substr($mask, $i, 1);
if ($c == '1') {
$count1++;
} else {
if ($c == '2') {
$count2++;
}
}
}
if ($count1 + $count2 == 0) {
$gradeattempt = 0;
} else {
$gradeattempt = $count1 / ($count1 + $count2);
}
$finished = $count2 == 0;
if ($finished === false && $game->param8 > 0) {
$found = false;
foreach ($questions as $q) {
if ($q->tries < $game->param8) {
$found = true;
}
}
if ($found == false) {
$finished = true;
}
//rich max tries
}
if ($updateattempt) {
game_updateattempts($game, $attempt, $gradeattempt, $finished);
}
if ($onlyshow == false and $showsolution == false) {
if ($finished) {
game_cryptex_onfinished($id, $game, $attempt, $cryptexrec);
}
}
?>
<style type="text/css"><!--
.answerboxstyle {
background-color: #FFFAF0;
border-color: #808080;
border-style: solid;
border-width: 1px;
display: block;
padding: .75em;
width: 240pt;
}
--></style>
<?php
echo '<table border=0>';
echo '<tr><td>';
$cryptex->displaycryptex($crossm->cols, $crossm->rows, $cryptexrec->letters, $mask, $showsolution, $textdir);
?>
</td>
<td width=10%> </td>
<td>
<form method="get" action="<?php
echo $CFG->wwwroot;
?>
/mod/game/attempt.php">
<div id="answerbox" class="answerboxstyle" style="display:none;">
<div id="wordclue" name="wordclue" class="cluebox"> </div>
<input id="action" name="action" type="hidden" value="cryptexcheck">
<input id="q" name="q" type="hidden" >
<input id="id" name="id" value="<?php
echo $id;
//.........这里部分代码省略.........
示例10: game_snakes_position
function game_snakes_position($id, $game, $attempt, $snakes, $correct, $query, $context)
{
global $DB;
$data = $DB->get_field('game_snakes_database', 'data', array('id' => $snakes->snakesdatabaseid));
if ($correct) {
if ($next = game_snakes_foundlander($snakes->position + $snakes->dice, $data)) {
$snakes->position = $next;
} else {
$snakes->position = $snakes->position + $snakes->dice;
}
} else {
if ($next = game_snakes_foundsnake($snakes->position, $data)) {
$snakes->position = $next;
}
}
$updrec = new stdClass();
$updrec->id = $snakes->id;
$updrec->position = $snakes->position;
$updrec->queryid = 0;
if (!$DB->update_record('game_snakes', $updrec)) {
print_error("game_snakes_position: Can't update game_snakes");
}
$board = $DB->get_record_select('game_snakes_database', "id={$snakes->snakesdatabaseid}");
$gradeattempt = $snakes->position / ($board->cols * $board->rows);
$finished = $snakes->position > $board->cols * $board->rows ? 1 : 0;
game_updateattempts($game, $attempt, $gradeattempt, $finished);
game_snakes_computenextquestion($game, $snakes, $query);
game_snakes_play($id, $game, $attempt, $snakes, $context);
}
示例11: game_sudoku_check_last
function game_sudoku_check_last($id, $game, $attempt, $sudoku, $finishattempt)
{
global $CFG;
$correct = get_field_select('game_queries', 'COUNT(*) AS c', "attemptid={$attempt->id} AND score > 0.9");
$all = get_field_select('game_queries', 'COUNT(*) AS c', "attemptid={$attempt->id}");
if ($all) {
$grade = $correct / $all;
} else {
$grade = 0;
}
game_updateattempts($game, $attempt, $grade, $finishattempt);
redirect("{$CFG->wwwroot}/mod/game/attempt.php?id={$id}", '', 0);
}
示例12: game_bookquiz_check_questions
function game_bookquiz_check_questions($id, $game, $attempt, $bookquiz)
{
global $QTYPES, $CFG, $USER;
$responses = data_submitted();
$questionlist = $responses->questionids;
$questions = game_sudoku_getquestions($questionlist);
$actions = question_extract_responses($questions, $responses, QUESTION_EVENTSUBMIT);
$scorequestion = 0;
$scoreattempt = 0;
foreach ($questions as $question) {
if (!array_key_exists($question->id, $actions)) {
//no answered
continue;
}
unset($state);
unset($cmoptions);
$question->maxgrade = 100;
$state->responses = $actions[$question->id]->responses;
$state->event = QUESTION_EVENTGRADE;
$cmoptions = array();
$QTYPES[$question->qtype]->grade_responses($question, $state, $cmoptions);
if ($state->raw_grade < 50) {
continue;
}
//found one correct answer
$chapterid = $responses->chapterid;
if (!get_field('game_bookquiz_chapters', 'id', 'attemptid', $attempt->id, 'chapterid', $chapterid)) {
unset($newrec);
$newrec->attemptid = $attempt->id;
$newrec->chapterid = $chapterid;
if (!insert_record('game_bookquiz_chapters', $newrec, false)) {
print_object($newrec);
error("Can't insert to table game_bookquiz_chapters");
}
}
//Have to go to next page.
$bookquiz->lastchapterid = $responses->nextchapterid;
if (!set_field('game_bookquiz', 'lastchapterid', $bookquiz->lastchapterid, 'id', $bookquiz->id)) {
error("Can't compute next chapter");
}
$scorequestion = 1;
$scoreattempt = $_POST['scoreattempt'];
break;
}
$query->id = 0;
$query->attemptid = $attempt->id;
$query->gameid = $game->id;
$query->userid = $USER->id;
$query->sourcemodule = 'question';
$query->questionid = $question->id;
$query->glossaryentryid = 0;
$query->questiontext = $question->questiontext;
$query->timelastattempt = time();
game_update_queries($game, $attempt, $query, $scorequestion, '');
game_updateattempts($game, $attempt, $scoreattempt, 0);
game_bookquiz_continue($id, $game, $attempt, $bookquiz);
}
示例13: hangman_showpage
//.........这里部分代码省略.........
echo "<br/><br/>";
}
$wordline = $wordline2 = "";
$len = game_strlen($word);
$done = 1;
$answer = '';
$correct = 0;
for ($x = 0; $x < $len; $x++) {
$char = game_substr($word, $x, 1);
if ($showsolution) {
$wordline2 .= $char == " " ? ' ' : $char;
$done = 0;
}
if (game_strpos($letters, $char) === false) {
$wordline .= "_<font size=\"1\"> </font>\r\n";
$done = 0;
$answer .= '_';
} else {
$wordline .= $char == " " ? ' ' : $char;
$answer .= $char;
$correct++;
}
}
$lenalpha = game_strlen($alpha);
$fontsize = 5;
for ($c = 0; $c < $lenalpha; $c++) {
$char = game_substr($alpha, $c, 1);
if (game_strpos($letters, $char) === false) {
// User doesn't select this character.
$params = 'id=' . $id . '&newletter=' . urlencode($char);
if ($onlyshow or $showsolution) {
$links .= $char;
} else {
$links .= "<font size=\"{$fontsize}\"><a href=\"attempt.php?{$params}\">{$char}</a></font>\r\n";
}
continue;
}
if ($char == 'A') {
if (game_strpos($word, $char) === false and game_strpos($word, 'Ã') === false) {
$links .= "\r\n<font size=\"{$fontsize}\" color=\"red\">{$char} </font>";
$wrong++;
} else {
$links .= "\r\n<B><font size=\"{$fontsize}\">{$char} </font></B> ";
}
} elseif ($char == 'C') {
if (game_strpos($word, $char) === false and game_strpos($word, 'Ç') === false) {
$links .= "\r\n<font size=\"{$fontsize}\" color=\"red\">{$char} </font>";
$wrong++;
} else {
$links .= "\r\n<B><font size=\"{$fontsize}\">{$char} </font></B> ";
}
} elseif (game_strpos($word, $char) === false) {
$links .= "\r\n<font size=\"{$fontsize}\" color=\"red\">{$char} </font>";
$wrong++;
} else {
$links .= "\r\n<B><font size=\"{$fontsize}\">{$char} </font></B> ";
}
}
$finishedword = ($done or $wrong >= $max);
$finished = false;
$updrec = new stdClass();
$updrec->id = $hangman->id;
$updrec->letters = $letters;
if ($finishedword) {
if ($hangman->finishedword == 0) {
// Only one time per word increace the variable try.
$hangman->try = $hangman->try + 1;
if ($hangman->try > $hangman->maxtries) {
$finished = true;
}
if ($done) {
$hangman->corrects = $hangman->corrects + 1;
$updrec->corrects = $hangman->corrects;
}
}
$updrec->try = $hangman->try;
$updrec->finishedword = 1;
}
$query->percent = ($correct - $wrong / $max) / game_strlen($word);
if ($query->percent < 0) {
$query->percent = 0;
}
if ($onlyshow or $showsolution) {
return;
}
if (!$DB->update_record('game_hangman', $updrec)) {
print_error("hangman_showpage: Can't update game_hangman id={$updrec->id}");
}
if ($done) {
$score = 1;
} else {
if ($wrong >= $max) {
$score = 0;
} else {
$score = -1;
}
}
game_updateattempts($game, $attempt, $score, $finished);
game_update_queries($game, $attempt, $query, $score, $answer);
}
示例14: game_bookquiz_check_questions
function game_bookquiz_check_questions($id, $game, $attempt, $bookquiz)
{
global $QTYPES, $CFG, $USER, $DB;
$responses = data_submitted();
$questionlist = $responses->questionids;
$questions = game_sudoku_getquestions($questionlist);
$scorequestion = 0;
$scoreattempt = 0;
foreach ($questions as $question) {
$grade = game_grade_responses($question, $responses, 100, $answertext);
if ($grade < 50) {
continue;
}
//found one correct answer
$chapterid = $responses->chapterid;
if (!$DB->get_field('game_bookquiz_chapters', 'id', array('attemptid' => $attempt->id, 'chapterid' => $chapterid))) {
unset($newrec);
$newrec->attemptid = $attempt->id;
$newrec->chapterid = $chapterid;
if (!$DB->insert_record('game_bookquiz_chapters', $newrec, false)) {
print_object($newrec);
print_error("Can't insert to table game_bookquiz_chapters");
}
}
//Have to go to next page.
$bookquiz->lastchapterid = $responses->nextchapterid;
if (!$DB->set_field('game_bookquiz', 'lastchapterid', $bookquiz->lastchapterid, array('id' => $bookquiz->id))) {
print_error("Can't compute next chapter");
}
$scorequestion = 1;
$scoreattempt = $_POST['scoreattempt'];
break;
}
$query->id = 0;
$query->attemptid = $attempt->id;
$query->gameid = $game->id;
$query->userid = $USER->id;
$query->sourcemodule = 'question';
$query->questionid = $question->id;
$query->glossaryentryid = 0;
$query->questiontext = $question->questiontext;
$query->timelastattempt = time();
game_update_queries($game, $attempt, $query, $scorequestion, '');
game_updateattempts($game, $attempt, $scoreattempt, 0);
game_bookquiz_continue($id, $game, $attempt, $bookquiz);
}
示例15: hangman_showpage
//.........这里部分代码省略.........
$letters .= $newletter;
}
}
$links = "";
$alpha = $hangman->allletters;
$wrong = 0;
if ($game->param5) {
$s = trim(game_filtertext($query->questiontext, $game->course));
if ($s != '.' and $s != '') {
echo "<br/><b>" . $s . '</b>';
}
if ($query->attachment != '') {
$file = "{$CFG->wwwroot}/file.php/{$game->course}/moddata/{$query->attachment}";
echo "<img src=\"{$file}\" />";
}
echo "<br/><br/>";
}
$word_line = $word_line2 = "";
$len = $textlib->strlen($word);
$done = 1;
$answer = '';
for ($x = 0; $x < $len; $x++) {
$char = $textlib->substr($word, $x, 1);
if ($showsolution) {
$word_line2 .= $char == " " ? ' ' : $char;
$done = 0;
}
if ($textlib->strpos($letters, $char) === false) {
$word_line .= "_<font size=\"1\"> </font>\r\n";
$done = 0;
$answer .= '_';
} else {
$word_line .= $char == " " ? ' ' : $char;
$answer .= $char;
}
}
$correct = 0;
$len_alpha = $textlib->strlen($alpha);
$fontsize = 5;
for ($c = 0; $c < $len_alpha; $c++) {
$char = $textlib->substr($alpha, $c, 1);
if ($textlib->strpos($letters, $char) === false) {
//User doesn't select this character
$params = 'id=' . $id . '&newletter=' . urlencode($char);
if ($onlyshow or $showsolution) {
$links .= $char;
} else {
$links .= "<font size=\"{$fontsize}\"><a href=\"attempt.php?{$params}\">{$char}</a></font>\r\n";
}
continue;
}
if ($textlib->strpos($word, $char) === false) {
$links .= "\r\n<font size=\"{$fontsize}\" color=\"red\">{$char} </font>";
$wrong++;
} else {
$links .= "\r\n<B><font size=\"{$fontsize}\">{$char} </font></B> ";
$correct++;
}
}
$finishedword = ($done or $wrong >= 6);
$finished = false;
$updrec->id = $hangman->id;
$updrec->letters = $letters;
if ($finishedword) {
if ($hangman->finishedword == 0) {
//only one time per word increace the variable try
$hangman->try = $hangman->try + 1;
if ($hangman->try > $hangman->maxtries) {
$finished = true;
}
if ($done) {
$hangman->corrects = $hangman->corrects + 1;
$updrec->corrects = $hangman->corrects;
}
}
$updrec->try = $hangman->try;
$updrec->finishedword = 1;
}
$query->percent = ($correct - $wrong / 6) / $textlib->strlen($word);
if ($query->percent < 0) {
$query->percent = 0;
}
if ($onlyshow or $showsolution) {
return;
}
if (!$DB->update_record('game_hangman', $updrec)) {
show_error("hangman_showpage: Can't update game_hangman id={$updrec->id}");
}
if ($done) {
$score = 1;
} else {
if ($wrong >= 6) {
$score = 0;
} else {
$score = -1;
}
}
game_updateattempts($game, $attempt, $score, $finished);
game_update_queries($game, $attempt, $query, $score, $answer);
}