Скрипт игры в города

Discussion in 'PHP' started by Лео, 15 Jun 2007.

  1. Лео

    Лео New Member

    Joined:
    24 Feb 2007
    Messages:
    16
    Likes Received:
    3
    Reputations:
    0
    Все знают игру в города, а вот родилась идея поиграть с компьютером, может комуто знаком такой скрипт? Причем хотелось бы эту игру воткнуть в чат, чтобы играли пользователи а компьютер брал слова из базы, в принципе которая у меня есть. Единственное, надо чтобы слова не повторялись и в результате начислялись какието очки, которые можно было бы ввести в таблицу. Может кто делал такое?
     
  2. Linuxoid

    Linuxoid Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    200
    Likes Received:
    28
    Reputations:
    0
    1. Нафига тут бот я вообще не пойму... Лучше сделать просто чтоб юзеры играли... Без ботофф...
    2. Какой чат? Нечто ужасТное типа chat.mail.ru или IRC?
     
  3. hhover

    hhover Elder - Старейшина

    Joined:
    21 May 2007
    Messages:
    60
    Likes Received:
    36
    Reputations:
    11
    Code:
    <?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>";
    
    ?>
    На, поиграй с компьютером в города. Без очков, чисто на интерес. %)
     
    1 person likes this.
  4. Kallisto

    Kallisto Member

    Joined:
    18 May 2007
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Бот он имел ввиду для чата...
    В принципе в чате все можно реализовать на стадии РНР, нет необходимости создавать для этого бота, который бы входил парсил чат и т.д.

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

    такой алгоритм...
     
    3 people like this.
  5. Лео

    Лео New Member

    Joined:
    24 Feb 2007
    Messages:
    16
    Likes Received:
    3
    Reputations:
    0
    чат вот, если уж интересно, http://umnyichat.chatz.ru/, хочется оживить его именно игрой, пусть пока города, потом может и викторина получится типа поля чудес
     
  6. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    только не поле чудес! нееееееееет!...

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

    Лео New Member

    Joined:
    24 Feb 2007
    Messages:
    16
    Likes Received:
    3
    Reputations:
    0
    анекдоты на форуме, там скрипт стоит они все время меняются на новые