| | я сделал так:
<?php
header ("Content-type:text/vnd.wap.wml;");
$file_parole = 'word.dat'; //словарь слов
$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 ("found");
session_register ("regfound");
//выбор слова из файла
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($regfound))) {
$variab = explode ('/', $regfound);
$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);
}
$regfound = ($indovina.'/'.$scelte.'/'.$tentativi);
echo "<?xml version=\"1.0\"?>
<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">
<wml><head><meta http-equiv=\"Cache-Control\" content=\"no-cache\" forua=\"true\"/></head><card title=\"Угадайка!\">";
print "<p align=\"center\">
Игра - угадай слово!<br/>";
print iconv("windows-1251","utf-8","Ошибок $tentativi").' из 6<br/>';
$caratteri = preg_split('//', $indovinata, -1, PREG_SPLIT_NO_EMPTY);
foreach ($caratteri as $lettalf) {
$lettalf = strtr ($lettalf, $alfabeto);
if ($lettalf==' ') {
print '';
}
else {
$all = 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');
$addd = array ('а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ь','ъ','э','ы','ю','я');
print iconv("windows-1251","utf-8",str_replace ($all,$addd,$lettalf));
}
print (' ');
}
print ('<br/><br/>');
if ($indovina!=$indovinata)
{
if ($tentativi>=6)
{
print iconv("windows-1251","utf-8","Вы не угадали задуманое слово.<br/>Слово было: ".strtolower($indovina).""); session_destroy();
}
else {
$scelt = preg_split('//', $scelte, -1, PREG_SPLIT_NO_EMPTY);
print ('');
foreach ($alfabeto as $lettalf) {
$contrl = false;
foreach ($scelt as $letter) {
if (!strcasecmp ($lettalf, $letter))
{
$contrl = true;
}
}
if ($contrl)
{
print $lettalf;
}
else {
$al = 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');
$add = array ('а ','б ','в ','г ','д ','е ','ж ','з ','и ','й ','к ','л ','м ','н ','о ','п ','р ','с ','т ','у ','ф ','х ','ц ','ч ','ш ','щ ','ь ','ъ ','э ','ы ','ю ','я ');
print '<a href="index.php?letter='.$lettalf.'&'.SID.'">'.iconv("windows-1251","utf-8",str_replace ($al,$add,$lettalf)).'</a>';
}
if ($lettalf=='k' or $lettalf=='v'){print ('<br/>');}
}
}
}
else
{
print iconv("windows-1251","utf-8","Поздравляю! Вы угадали слово!");
session_destroy();
}
echo iconv("windows-1251","utf-8","<br/><br/><small><a href=\"index.php\">Еще поиграть!</a></small>");
print "</p>";
print "</card></wml>";
?>
|
все работает на ура, но только при угаданой букве эта буква не убирается из алфавита, помогите сделать чтобы она убиралась | |