Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.05.2009, 00:28
OsamuTedzuki вне форума Посмотреть профиль Отправить личное сообщение для OsamuTedzuki Найти все сообщения от OsamuTedzuki
  № 1  
Ответить с цитированием
OsamuTedzuki

Регистрация: May 2009
Сообщений: 2
Question Сетевая игра или что вроде этого

Здрасте, сильно не ругайте если вдруг не там тему создал или уже было(искал не нашел)...
появилась необходимость сделать браузерную игру, не знаю с чего начать: java script или action script, или все вместе... нужно реализовать следующее:

- есть список пользователей, щелкаешь по любому из них, делая ему типа вызов, он подтверждает или нели отказывается, еслт пожтверждает - загружается флашка и начинается игра между ними... вот как сделать что бы у одного игрока отображалось что делает второй, а у второго что делает первый?

Старый 07.05.2009, 01:14
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 2  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Запрограммировать.
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать!

Старый 07.05.2009, 03:24
IDimitry вне форума Посмотреть профиль Найти все сообщения от IDimitry
  № 3  
Ответить с цитированием
IDimitry
Banned
[+5 23.05.09]
[+1 23.05.09]

Регистрация: Mar 2009
Сообщений: 93
золотые слова

читать! много читать!

Старый 07.05.2009, 07:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
OsamuTedzuki, использовать сокеты, например.
Предвидя «а можно подробнее?», отвечаю «В гугле и википедии.».

Старый 07.05.2009, 11:25
Michaael вне форума Посмотреть профиль Отправить личное сообщение для Michaael Найти все сообщения от Michaael
  № 5  
Ответить с цитированием
Michaael
 
Аватар для Michaael

Регистрация: Apr 2009
Сообщений: 62
да можно и простым ПХП что бы не мучатся сильно.... раз в 20-30 секунд отправлять запрос на то, создан ли бой с тобой или нет...
PHP код:
DEFINE('TIME_USER',60);              // Время активности пользователя (сек.)
  
DEFINE('TIME_BATTLE',60);            // Время жизни непринятого сражения (сек.)

  // Подгружаем модуль с функциями
  
require_once('func.php');

  
check_auth();                        // Проверяем авторизан-ли пользователь
  
db_open();                           // Открываем соединение с базой данных

  
$time_start getmicrotime();        // Вычисляем время, чтобы показать время генерации странички

  // Удаляем устаревшие записи о сражениях, время жизни которых истекло
  
$dtime time() - TIME_BATTLE;
  
//db_query('DELETE FROM game_battle WHERE lasttime < '.AP.$dtime.AP.';');

  // Получаем всю информацию о пользователе
  
db_query('SELECT * FROM game_user WHERE pass='.AP.$my['pass'].AP.' LIMIT 1;');
  
$my db_fetch();
  if(empty(
$my)){goto_error('Пользователь не найден в базе!');}

  
// Обновляем время последнего посещения для пользователя
  
db_query('UPDATE game_user SET lasttime='.AP.time().AP.' WHERE pass='.AP.$my['pass'].AP.' LIMIT 1;');

  
 
//преход если был принят бой другим игроком
    
    
db_query('SELECT * FROM game_battle WHERE (user1='.$my['id'].' OR user2='.$my['id'].') LIMIT 1;');
    
$battle db_fetch();
    if(!empty(
$battle))
      {
//    db_query('SELECT * FROM game_user WHERE id='.$battle['user1'].' LIMIT 1;');
//    $battle['user1'] = db_fetch();

 //    Получаем доп. информацию о втором игроке
 //   db_query('SELECT * FROM game_user WHERE id='.$battle['user2'].' LIMIT 1;');
 //   $battle['user2'] = db_fetch();
 
 
    
if(($battle['user1'] == $my['id'])&($battle['user2']!=0))
    {
    if(
$battle['user1enter']==0)
    {
    
db_query('DELETE FROM Hend WHERE id='.$my['id'].'');
     
db_query('UPDATE game_battle SET user1enter="1" WHERE user1='.$my['id'].' LIMIT 1;');
    
redirect('battle.php');
    }else
    {
redirect('battle.php');
    }
   }
    if((
$battle['user2'] == $my['id'])&($battle['user1']!=0))
    {
    if(
$battle['user2enter']==0)
    {
     
db_query('UPDATE game_battle SET user2enter="1" WHERE user2='.$my['id'].' LIMIT 1;');
    
redirect('battle.php');
    }else
    {
redirect('battle.php');}}
    }


// Если пользователь создал сражение
  
if(isset($_GET['add_battle']))
  {
    if(
$my['health'] > 0// Нельзя открыть битву, если нет здоровья
    
{
      
// Добавляем в таблицу запись о новой битве
     
db_query('INSERT INTO game_battle VALUES("auto_increment",'.AP.$my['id'].AP.',"0",'.AP.time().AP.',"0","0");');
      
redirect('game.php'); // Обновим страничку
    
}
  }
 
// Если пользователь принял чье-то сражение
  
if(isset($_GET['get_battle']))
  {
    
// Обновляем запись о сражении
    
    
db_query('UPDATE game_battle SET user2='.$my['id'].' WHERE id='.$_GET['get_battle'].' LIMIT 1;');
    
db_query('UPDATE game_battle SET user2enter="1" WHERE id='.$my['id'].' LIMIT 1;');
    
redirect('battle.php'); // Переходим в сражение
  
}

 
// Получаем список сражений
  
$dtime time() - TIME_BATTLE;
  
$cnt 0;
  
db_query('SELECT * FROM game_battle;');
  while(
$battle db_fetch())
  {
    
$cnt++;

    
// Получаем доп. информацию о первом игроке
    
db_query('SELECT * FROM game_user WHERE id='.$battle['user1'].' LIMIT 1;');
    
$battle['user1'] = db_fetch();

    
// Получаем доп. информацию о втором игроке
    
db_query('SELECT * FROM game_user WHERE id='.$battle['user2'].' LIMIT 1;');
    
$battle['user2'] = db_fetch();
    
    
    
// Выясняем, принят бой или нет
    
if($battle['user2'] == 0)
    {
      
$dtime TIME_BATTLE-(time()-$battle['lasttime']);
      echo 
$cnt.' - Бой открыт: ';
      echo 
$battle['user1']['name'].' (осталось '.$dtime.' сек.)';
      if(
$battle['user1']['id'] != $my['id'])
      {
        
// Нельзя принять бой, который создал ты сам
        
echo ' - <a href="game.php?get_battle='.$battle['id'].'">Принять бой</a> <br>';
      }
    }else{
      echo 
$cnt.' - Бой начался: ';
      echo 
$battle['user1']['name'].' vs. ';
      echo 
$battle['user2']['name'].'<br>';
    }

  } 
ну и тд....


Последний раз редактировалось Michaael; 07.05.2009 в 11:31.
Старый 07.05.2009, 17:31
OsamuTedzuki вне форума Посмотреть профиль Отправить личное сообщение для OsamuTedzuki Найти все сообщения от OsamuTedzuki
  № 6  
Ответить с цитированием
OsamuTedzuki

Регистрация: May 2009
Сообщений: 2
всем спасибо =) буду пробывать

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:06.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.