Файл: archive/www/musimka.ru/games/viselica.php
Строк: 73
<?php
require '../sid.php';
require '../config.php';
$link = connect_db();
list($user, $id, $ps) = check_login($link);
whorm(0, 'games');
include '../head.php';
mb_internal_encoding('UTF-8');
echo $div_title . 'Висельник' . $div_end;
$alphabet = array('1' => 'А', '2' => 'Б', '3' => 'В', '4' => 'Г', '5' => 'Д',
'6' => 'Е', '7' => 'Ж', '8' => 'З', '9' => 'И', '10' => 'Й', '11' => 'К', '12' =>
'Л', '13' => 'М', '14' => 'Н', '15' => 'О', '16' => 'П', '17' => 'Р', '18' =>
'С', '19' => 'Т', '20' => 'У', '21' => 'Ф', '22' => 'Х', '23' => 'Ц', '24' =>
'Ч', '25' => 'Ш', '26' => 'Щ', '27' => 'Ь', '28' => 'Ы', '29' => 'Ъ', '30' =>
'Э', '31' => 'Ю', '32' => 'Я');
$act = isset($_GET['act']) ? $_GET['act'] : NULL;
switch ($act) {
case ini:
unset($_SESSION['GALLOWS-BIRD']);
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `vik`"), 0);
$num = rand(1, $count);
$vik = mysql_fetch_array(mysql_query("SELECT `otvet` FROM `vik` WHERE id='" . (int)$num . "' LIMIT 1"));
$ans = $vik['otvet'];
$count_words = mb_strlen($ans);
for ($i = 0; $i < $count_words; $i++) {
$words[] = mb_substr($ans, $i, 1);
}
$alpha[0] = $words[0];
$alpha[1] = $words[$count_words - 1];
$_SESSION['GALLOWS-BIRD']['hod'] = 0;
$_SESSION['GALLOWS-BIRD']['words'] = $ans;
$_SESSION['GALLOWS-BIRD']['alpha'] = $alpha;
header("Location: viselica.php?act=game");
break;
case hod:
if ($_SESSION['GALLOWS-BIRD']) {
$count_words = mb_strlen($_SESSION['GALLOWS-BIRD']['words']);
$alpha = $_SESSION['GALLOWS-BIRD']['alpha'];
for ($i = 0; $i < $count_words; $i++) {
$words[] = mb_substr($_SESSION['GALLOWS-BIRD']['words'], $i, 1);
}
$cid = my_int($_GET['cid']);
$search = mb_strtolower(strtr($cid, $alphabet));
for ($i = 0; $i < count($alpha); $i++) {
if ($alpha[$i] == $search) {
err('Эта буква уже была!');
echo '<a href="viselica.php?act=game">Еще раз</a><br/>';
include '../foot.php';
exit();
}
}
$t = 0;
for ($i = 0; $i < $count_words; $i++) {
if ($words[$i] == $search) {
$t = 1;
}
}
echo $t;
if ($t == 1) {
$_SESSION['GALLOWS-BIRD']['alpha'][] = $search;
} else {
$_SESSION['GALLOWS-BIRD']['hod']++;
$_SESSION['GALLOWS-BIRD']['alpha'][] = $search;
}
header('Location: viselica.php?act=game');
} else {
header('Location: index.php?');
}
break;
case game:
if ($_SESSION['GALLOWS-BIRD']) {
$count_words = mb_strlen($_SESSION['GALLOWS-BIRD']['words']);
$alpha = $_SESSION['GALLOWS-BIRD']['alpha'];
for ($i = 0; $i < $count_words; $i++) {
$words[] = mb_substr($_SESSION['GALLOWS-BIRD']['words'], $i, 1);
}
for ($i = 0; $i < $count_words; $i++) {
$t = 0;
for ($j = 0; $j < count($alpha); $j++) {
if ($words[$i] == $alpha[$j]) {
$t = 1;
}
}
if ($t == 1) {
$choice = $choice . $words[$i] . ' ';
$guessed++;
} else {
$choice = $choice . '* ';
}
}
echo $div_razdel . $choice . $div_end;
echo '<table cellpadding="0" cellspacing="0"><tr><td>';
if ($guessed == $count_words) {
echo '</td><td>';
msg('Поздравляю!<br/>Вы оказалась достаточно умным человеком чтобы сберечь свою жизнь!');
} else {
switch ($_SESSION['GALLOWS-BIRD']['hod']) {
case 0:
echo '<b>Игра началась!</b><br/>';
break;
case 1:
echo '<img src="vis/1.jpg" border="0" alt=""/>
</td><td>
<div style="background: #3d86c3;">Вы просто так кликнули или нервы пошаливают? Тогда успокойтесь - палач еще только проснулся и у Вас впереди аж пять ошибок. Последняя, честно говоря, смертельная... Я Вас успокоил?</div>';
break;
case 2:
echo '<img src="vis/2.jpg" border="0" alt=""/>
</td><td>
<div style="background: #3d86c3;">Да успокойтесь Вы! Еще четыре раза ошибаться можно! Правда, потом...</div>';
break;
case 3:
echo '<img src="vis/3.jpg" border="0" alt=""/>
</td><td>
<div style="background: #3d86c3;">Не волнуйтесь! Вас повесят только если Вы ошибетесь еще три раза. Но Вы же умный человек...!</div>';
break;
case 4:
echo '<img src="vis/4.jpg" border="0" alt=""/>
</td><td>
<div style="background: #3d86c3;">Опять нервничаете? Это хорошо! Может, будете думать по-лучше! До повешения осталось всего два неверных хода...!</div>';
break;
case 5:
echo '<img src="vis/5.jpg" border="0" />
</td><td>
<div style="background: #3d86c3;">Нервничаете? Это правильно! Еще один неверный ход и Вы, - висячая туша!</div>';
break;
default:
echo '<img src="vis/6.jpg" border="0" alt=""/> ';
err('Мои соболезнования...');
unset($_SESSION['GALLOWS-BIRD']);
}
}
echo '</td></tr></table>' . $div_left;
for ($i = 1; $i < 33; $i++) {
$t = 0;
for ($e = 0; $e < count($alpha); $e++) {
if ($alpha[$e] == mb_strtolower($alphabet[$i])) {
$t = 1;
}
}
if ($t != 1) {
echo '<a href="viselica.php?act=hod&cid=' . $i . '" >' . $alphabet[$i] . '</a> ';
}
if ($i == 11 || $i == 21 || $i == 33) {
echo '<br/>';
}
}
echo $div_end . '<a href="viselica.php?act=ini">Играть заново</a><br/>
<a href="index.php?'.$ref.'">В раздел</a><br/>';
} else {
header('Location: ?');
}
break;
default:
unset($_SESSION['GALLOWS-BIRD']);
echo $div_razdel . $div_left . 'Интересная, но не слишком популярная игрушка, даже среди школьников, хотя играть можно на обычном листке бумаги. Загаданное слово пишется прочерками вместо букв, затем угадывающий (претендент на повешение:) называет буквы. Каждая верная буква вписывается вместо прочерка(ов). За каждую неверную дорисовывается элемент виселицы (скажем 5 элементов). Дальше понятно: успел угадать слово до полной дорисовки виселицы - выжил, не успел - повешен.' . $div_end . $div_end;
echo '<a href="viselica.php?act=ini">Играть</a><br/>
<a href="index.php?'.$ref.'">В раздел</a>';
}
include '../foot.php';
?>