Файл: hangman.php
Строк: 129
<?php
$file_parole = 'parole.txt'; //ссылка на файл со словоблудием
//функции всякие
$alfabeto = array ('А' => 'a','Б' => 'b','В' => 'c','Г' => 'd','Д' => 'e',
'Е' => 'f','Ж' => 'g','З' => 'h','И' => 'i','Й' => 'j','К' => 'k','Л' => 'l',
'М' => 'm','Н' => 'n','О' => 'o','П' => 'p','Р' => 'q','С' => 'r','Т' => 's',
'У' => 't','Ф' => 'u','Х' => 'v','Ц' => 'w','Ч' => 'x','Ш' => 'y','Щ' => 'z',
'Ь' => '1','Ъ' => '2','Ы' => '3','Э' => '4','Ю' => '5','Я' => '6');
$paperino = session_name ("hangman");
session_register ("gchangman");
//выбор слова из файла
function ScegliParola ($file_parole) {
$content = file ($file_parole);
$numero_parole = (count ($content)-1);
$posizione_parola = rand (0, ($numero_parole));
$linea = $content[$posizione_parola];
$parola = rtrim ($linea);
return ($parola);
}
// изменяет все неугаданные буквы на _
function CalcolaIndovinata ($parola, $escludi, $alfabeto) {
$alfabeto = array_flip ($alfabeto);
$escluse = strtr ($escludi, $alfabeto);
$escluse = '['.$escluse.']';
$escluse = ereg_replace ($escluse, '', '[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯ]');
$indovinata = ereg_replace ($escluse, '_', $parola);
return $indovinata;
}
// вставляет выбранную букву в слово
function TrovaLettera ($lettera, $parola, $scelte, $alfabeto) {
$alfabeto = array_flip ($alfabeto);
$lettera = strtr ($lettera, $alfabeto);
$scelte.= $lettera;
if (ereg ($lettera, $parola)) {
$controllo = true;
}
else {
$controllo = false;
}
$risposta = array ($scelte, $controllo);
return $risposta;
}
// а это уже программа
if ((isset($letter) and isset($gchangman))) {
$variab = explode ('/', $gchangman);
$indovina = $variab[0];
$scelte = $variab[1];
$tentativi = $variab[2];
$checklet = TrovaLettera ($letter, $indovina, $scelte, $alfabeto);
$scelte = $checklet[0];
if (!$checklet[1]) {
$tentativi = $tentativi +1;
}
$indovinata = CalcolaIndovinata ($indovina, $scelte, $alfabeto);
}
else {
$tentativi=0;
$scelte = ('_');
$indovina = ScegliParola ($file_parole);
$indovinata = CalcolaIndovinata ($indovina, $scelte, $alfabeto);
}
$gchangman = ($indovina.'/'.$scelte.'/'.$tentativi);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Виселица </TITLE>
</HEAD>
<BODY>
<center><script language="JavaScript"> var id=43; var rnd=Math.random()*1000000000000; rnd=Math.round(rnd); var append="id="+id+"&rnd="+rnd; var str="<a href=http://nord.net.ru/banner/cgi-bin/redirect.cgi?"+append+">"; str+="<img border=0 width=468 height=60 src=http://nord.net.ru/banner/cgi-bin/banner.cgi?"+append+"></a>"; document.write(str); </script> <br><br>
<h2>Виселица</h2><br>
Игра для покемонов, телепузиков и обычных челов :) <br><br>
<?php
print ('<IMG SRC="images/hang_'.($tentativi+1).'.jpg" BORDER=0 WIDTH=100 HEIGHT=100 ALT="Попыток '.$tentativi.'/6"><BR><BR>');
$caratteri = preg_split('//', $indovinata, -1, PREG_SPLIT_NO_EMPTY);
foreach ($caratteri as $lettalf) {
$lettalf = strtr ($lettalf, $alfabeto);
if ($lettalf==' ') {
print ('<IMG SRC="images/lb_~.jpg" BORDER=0 WIDTH=20 HEIGHT=20 ALT="">');
}
else {
print ('<IMG SRC="images/lb_'.$lettalf.'.jpg" BORDER=0 WIDTH=20 HEIGHT=20 ALT="'.$lettalf.'">');
}
print ('<IMG SRC="images/lb_~.jpg" BORDER=0 WIDTH=20 HEIGHT=20 ALT="">');
}
print ('<BR><BR>');
if ($indovina!=$indovinata) {
if ($tentativi>=6) {
print ('Извините, но у нас есть труп! Надо меньше в интернете висеть и больше умные книжки читать :) Слово было: '.$indovina);
}
else {
$scelt = preg_split('//', $scelte, -1, PREG_SPLIT_NO_EMPTY);
print ('<BR>');
foreach ($alfabeto as $lettalf) {
$contrl = false;
foreach ($scelt as $lett) {
if (!strcasecmp ($lettalf, $lett)) {
$contrl = true;
}
}
if ($contrl) {
print ('<IMG SRC="images/lr_'.$lettalf.'.jpg" BORDER=0 WIDTH=20 HEIGHT=20 ALT="'.$lettalf.'">');
}
else {
print ('<A HREF="'.$PHP_SELF.'?letter='.$lettalf.'&'.SID.'"><IMG SRC="images/lb_'.$lettalf.'.jpg" BORDER=0 WIDTH=20 HEIGHT=20 ALT="'.$lettalf.'"></A>');
}
if ($lettalf=='m') {
print ('<BR>');
}
}
}
}
else {
print ('Поздравляю! Вы угадали слово! Уррра!!!');
}
?>
<BR>
<P><A HREF=<?php print ('"'.$PHP_SELF.'"'); ?>>Еще поиграть!</A> /</P>
</center>
</BODY>
</HTML>