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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Jan 2013
Сообщений: 3
По умолчанию Реализация сетевой игры с пиринговой сетью

Хочу сделать простую игру - крестики-нолики, для связи приложений между собой использую пиринговую сеть.
Пользователь должен придумать и ввести свой ник и нажать подключится, после чего получить ID свободного игрока и обмениваться с ним данными. По какому алгоритму это можно организовать?

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

Регистрация: Jan 2009
Сообщений: 1,651
Вас сейчас затролят. Потому что алгоритм там примерно такой:
- получить имя у пользователя
- отправить имя серверу, если имя не занято, пустить пользователя в лобби
- запросить список пользователей в лобби
- по запросу пользователя начать игру со свободным пользователям отобразить игровое поля
- решить какой из игроков ходит крестиками, какой ноликами
- отправить ход другому игроку
- получить ход от другого игрока
...
- если один из игроков выиграл отчистить поле, начать игру заново

Т.е. алгоритм там по сути элементарный. А вы наверное что-то другое спросить хотите. Но в целом, крестики-нолики - пошаговая игра, гуглите статьи по peer-to-peer чат, и на его основе делаете что вам надо, только естественно, вместо чат-сообщений клиенты друг-другуг отправляют ходы.
__________________
мой пустой блог


Последний раз редактировалось iflamberg; 26.01.2013 в 22:55.
Старый 26.01.2013, 22:52
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 3  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Первые 2 пункта можно и пропустить назначая уникальные имена.
__________________
In Code We Trust

Старый 27.01.2013, 00:08
Grot55 вне форума Посмотреть профиль Отправить личное сообщение для Grot55 Найти все сообщения от Grot55
  № 4  
Ответить с цитированием
Grot55

Регистрация: Jan 2013
Сообщений: 3
В том то и прикол, что сервера НЕТ, точнее есть, но он только может рассылать всем сообщения которое я на него отправил(при этом передает всем мой ID), оповещать о подключении нового пользователя, передовая его ID(не ник, ни другие данные), о его отключении(тоже передает ID), и через несколько секунд после подключения к серверу оповещает меня о подключении пользователей, которые уже находятся в сети. Если бы можно было бы при подключении(а лучше до подключения) получить сразу список всех пользователей было бы всё проще.

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

Регистрация: Jan 2009
Сообщений: 1,651
В том то и прикол, что сервер есть. Да, в п2п траффик идет напрямую от пользователя к пользователю и это круто - нет нагрузки трафика на сервер, короткие пинги и т.д. Но без сервера никак, потому что иначе ты не организуешь лобби и не передашь пользователям их идентификаторы, которые они затем используют для того, чтобы подключиться друг-к-другу. Ну и плюс, собственно, сами идентификаторы выдает сервер, просто у адоба есть бесплатный сервис для этого дела. Так что если ты мне покажешь статью про п2п чат без сервера - с меня пива и большие квадратные глаза.

В общем, для начала рекомендую почитать http://labs.adobe.com/wiki/index.php/Cirrus:FAQ
__________________
мой пустой блог

Старый 27.01.2013, 00:42
Grot55 вне форума Посмотреть профиль Отправить личное сообщение для Grot55 Найти все сообщения от Grot55
  № 6  
Ответить с цитированием
Grot55

Регистрация: Jan 2013
Сообщений: 3
Я могу использовать сервер, но без возможности подключения к нему через сокеты

Добавлено через 9 минут
Если я с помощью запросов к пхп буду добавлять пользователя в лобби, то как их от туда удалять?, например если разорвется соединение с нетом или прервется процесс браузера, я не смогу обработать такое событие. Если запрос с удалением МЕНЯ из лобби будут отсылать другие клиенты, то ктоже его пошлет если я в игре буду один?

Старый 27.01.2013, 01:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от iflamberg Посмотреть сообщение
В том то и прикол, что сервер есть.
Единого сервера может не быть. Он размазан по клиентам.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 27.01.2013, 03:06
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Я тоже делаю одно приложение пиринговое, в свободное время. Необходим web сервер для соединения клиентов. Схема простая:
1. Флешка запрашивает у Cirrus адрес для p2p соединения. (Адобовский сервер)
2. Коннектится к нашему серверу, передает полученный id.
3. Сервер получает id, заносит его в базу данных подключенных пользователей и отсылает клиенту список с другими id клиентов.
4. Флешка получает адреса, осуществляет соединение.
__________________
Дети не должны знать о своих родителях

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

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

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


 


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


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