PDA

Просмотр полной версии : Скрипт игры в города


Лео
15.06.2007, 20:25
Все знают игру в города, а вот родилась идея поиграть с компьютером, может комуто знаком такой скрипт? Причем хотелось бы эту игру воткнуть в чат, чтобы играли пользователи а компьютер брал слова из базы, в принципе которая у меня есть. Единственное, надо чтобы слова не повторялись и в результате начислялись какието очки, которые можно было бы ввести в таблицу. Может кто делал такое?

Linuxoid
16.06.2007, 04:52
1. Нафига тут бот я вообще не пойму... Лучше сделать просто чтоб юзеры играли... Без ботофф...
2. Какой чат? Нечто ужасТное типа chat.mail.ru или IRC?

hhover
16.06.2007, 08:27
<?php
session_start();

if ( ! $_SESSION['game'] )
{

$file_with_city = 'city.txt';
$main = file ( $file_with_city );

foreach ( $main as $city )
{
$city = trim ( $city );
if ( strlen ( $city ) < 2 )
continue;

$first_symb = substr ( $city, 0, 1 );
$city_array[$first_symb][] = $city;

}

$_SESSION['city'] = $city_array;
echo "<pre>";
print_r($_SESSION['city']);
echo "</pre>";
$_SESSION['game'] = 1;
$_SESSION['last_symb'] = "а";

}

if ( $_POST['text'] != '' )
{

echo "Вы ввели Город {$_POST['text']}.<br />";
$first_symb = substr ( $_POST['text'], 0, 1 );

if ( $first_symb != $_SESSION['last_symb'] )
{
echo "Вы должны ввести город на букву <b>{$_SESSION['last_symb']}</b><br />";
}
else
{

if ( !isset ( $_SESSION['city'][$first_symb] ) or ! @in_array ( $_POST['text'], $_SESSION['city'][$first_symb] ) )
{
echo "Такого города не существует.";
}
else
{

$delete_key = array_search ( $_POST['text'], $_SESSION['city'][$first_symb] );
unset ( $_SESSION['city'][$first_symb][$delete_key] );

$last_symb = substr ( $_POST['text'], -1 );
$_SESSION['last_symb'] = $last_symb;

$answer_count = count ( $_SESSION['city'][$last_symb] );

if ( $answer_count == 0 )
{
session_unset();
die ( "Вы победили!" );
}
else
{

$rand = rand ( 0, $answer_count - 1 );
$answer = $_SESSION['city'][$last_symb][$rand];
unset ( $_SESSION['city'][$last_symb][$rand] );
echo "Компьютер отвечает: <b>$answer</b><br />";
$ls = substr ( $answer, -1 );
$_SESSION['last_symb'] = $ls;

if ( count ( $_SESSION['city'][$ls] ) < 1 )
{
session_unset();
die ( "Вы проиграли!" );
}

}

}

}

}

echo "<form action='' method='post'>
Введите Город:
<input type='text' name='text' value='' />
<input type='submit' name='submit' value='submit' />
</form>";

?>
На, поиграй с компьютером в города. Без очков, чисто на интерес. %)

Kallisto
16.06.2007, 08:32
Бот он имел ввиду для чата...
В принципе в чате все можно реализовать на стадии РНР, нет необходимости создавать для этого бота, который бы входил парсил чат и т.д.

Схема проста, в списках онлайн сидит бот с Id=0, если пишут Id=0, смотрит на город, если города нет в базе - игнор, если есть, отвечает на последнюю букву и запоминает последнюю букву в том что бот сказал... При следующем ответе сверяет первую букву с ожидаемой.

такой алгоритм...

Лео
16.06.2007, 17:50
2. Какой чат? Нечто ужасТное типа chat.mail.ru или IRC?
чат вот, если уж интересно, http://umnyichat.chatz.ru/, хочется оживить его именно игрой, пусть пока города, потом может и викторина получится типа поля чудес

Piflit
16.06.2007, 17:59
викторина получится типа поля чудес

только не поле чудес! нееееееееет!...

имхо ботом и игрой в города ты людей не привлечешь, уж лучше анекдоты...

Лео
16.06.2007, 19:02
анекдоты на форуме, там скрипт стоит они все время меняются на новые