Файл: viselica/index.php
Строк: 127
<?php
require_once '../system/sys.php';
$title = 'Виселица!';
require_once(HOME .'/system/head.php');
if(!$user){
echo '<div class="menu">';
echo 'Раздел закрыт для гостей</div>';
include_once '../system/foot.php';
exit;
}
# /*/*/*//*/*/*/*/*/*/****************************************//
$balls_ = 0; // Баллы за победу. 0 - игра без баллов
$max=6; // Разрешается ошибок
##############
$eol = "rn"; // Возникают проблемы
$game_cat = @parse_ini_file('ini/_category.ini');
$game_list = '';
$game_letters = " -.,;!?%&0123456789";
$game_cat = array_flip($game_cat);
function category()
{
global $game_cat,$game_list,$err,$eol;
if(isset($_GET['cat']))
$_SESSION['cat'] = intval($_GET['cat']);
if(!isset($game_cat[$_SESSION['cat']]))
unset($_SESSION['cat']);
////
if(!isset($_SESSION['cat']))
{
echo '<div class="err">';
echo 'Выберите категорию:</div>';
echo '<div class="menu">';
foreach($game_cat as $id=>$n)
echo "<a href="?cat=$id">$n</a></br>";
return;
}
$game_list = file_get_contents('ini/'.$_SESSION['cat'].'.txt');
if(count(explode($eol,$game_list))<2)
{
$err[] = 'Пустая категория!';
err();
unset($_SESSION['cat']);
}
}
function game()
{
global $max, $err, $game_list, $game_cat,$game_letters,$eol,$user,$balls_;
///
$letters = $links = '';
if(isset($_GET['n']))
{
$_SESSION['n'] = $_GET['n'];
$_SESSION['vis_win'] = 0;
}
if(isset($_GET['letters']))
{
$letters = $_GET['letters'];
}
$game_list = mb_strtoupper($game_list,'UTF-8');
$words = explode($eol,$game_list);
srand ((double)microtime()*1000000);
$alpha = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
$all_letters = $letters.$game_letters;
$wrong = 0;
echo '<div class="main">';
echo "<P><B>Категория: <B>".$game_cat[$_SESSION['cat']]."</B> ::: <a href="?cat=-1">Сменить</a><BR>n";
if(!isset($_SESSION['n']) || !isset($words[$_SESSION['n']]))
$_SESSION['n'] = $n = rand(1,count($words)) - 1;
else
$n = $_SESSION['n'];
$word_line="";
$word = $words[$n];
$done = 1;
for ($x=0; $x < mb_strlen($word,'UTF-8'); $x++)
{
if (strstr($all_letters, mb_substr($word,$x,1,'UTF-8')))
{
if (mb_substr($word,$x,1,'UTF-8') == " ")
$word_line .= " ";
else
$word_line .= mb_substr($word,$x,1,'UTF-8');
}
else
{
$word_line.="_<font size=1> </font>";
$done = 0;
}
}
if (!$done)
{
for ($c=0; $c<33; $c++)
{
if(strstr($letters, mb_substr($alpha,$c,1,'UTF-8')))
{
if(strstr($words[$n], mb_substr($alpha,$c,1,'UTF-8')))
$links .= "n<B>".mb_substr($alpha,$c,1,'UTF-8')."</B> ";
else
{
$links .= "n<font color="red">".mb_substr($alpha,$c,1,'UTF-8')." </font>";
$wrong++;
}
}
else
$links .= "n<a href="?letters=".mb_substr($alpha,$c,1,'UTF-8')."$letters">".mb_substr($alpha,$c,1,'UTF-8')."</a> ";
}
$nwrong=$wrong;
if ($nwrong>6)
$nwrong=6;
echo "n<p><br>n<img src="hangman_$nwrong.gif" style="float:left;margin-right:4px;margin-bottom:4px;">n";
if ($wrong >= $max)
{
$n++;
if($n>(count($words)-1))
$n=0;
echo "<br><br><h2><font size=5>n$word_line</font></h2>n";
echo "<p><BR><font color="red"><BIG>Вы проиграли!</BIG></font><br><br>";
if (strstr($word, " "))
$term="Фраза";
else
$term="Слово";
echo "$term: "<B>$word</B>"<br><br>n";
echo "<a href="?n=-1">Другое слово</a>nn";
}
else
{
echo " # Осталось попыток: <b>".($max-$wrong)."</b><br>n";
echo "<h2><font size=3>n$word_line</font></h2>n";
echo "<p><BR>Выберите букву:<BR><BR>n";
echo "$linksn";
}
}
else
{
$n++; # get next word
if($n>(count($words)-1))
$n=0;
echo "<br><br><h2><font size=3>n$word_line</font></h2>n";
echo "<p><br><br><B>Поздравляем!!! Вы выйграли!!!</b><br><br><br>n";
if($user['id'] && $balls_)
{
if(!$_SESSION['vis_win'])
{
$user['balls'] += $balls_;
mysql_query("UPDATE `user` SET `balls`='".$user['balls']."' WHERE `id`='".$user['id']."';");
msg('На ваш счет зачислены баллы('.$balls_.')');
$_SESSION['vis_win'] = 1;
}
}elseif(!$user['id'] && $balls_)
{
msg('Будь бы вы пользователем, то на ваш счет были бы зачислены баллы('.$balls_.')');
}
echo "<a href="?n=$n">Еще!</a>nn";
}
}
category();
if(isset($_SESSION['cat'])) game();
echo '</b></div></div><div class="err"><a href="/">На главную</a></div>';
include_once '../system/foot.php';
?>