![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Ув. Pilot Red, подскажи как осуществить передачу команды между двумя програмами (Sockets). Пробовал писать игру не получилось...
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin DoubleBuffered := True; // двойная буфферизация, чтобы не моргали компоненты на форме if Key = VK_RIGHT then Shape1.Left := Shape1.Left + 1; // перемещаем вправо if Key = VK_LEFT then Shape1.Left := Shape1.Left - 1; // перемещаем влево if Key = VK_DOWN then Shape1.Top := Shape1.Top + 1; // перемещаем вверх if Key = VK_UP then Shape1.Top := Shape1.Top - 1; // перемещаем вниз end; Мне надо сделать так: if Key = VK_UP then cокет посылает всем клиентам сообщение (команду) VK_UP , а клиенты уже на нее реагируют и двигают shape1 на своей форме вперед. Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" ![]() ![]() |
#2
|
||||
|
||||
![]() Цитата:
Завтра попробую что-нибудь накатать. Сегодня не получиться так как уже под пивандрием ![]() |
#3
|
|||
|
|||
![]() Цитата:
Спасибо большое))) ![]() Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" ![]() ![]() |
#4
|
||||
|
||||
![]() Цитата:
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#5
|
||||
|
||||
![]() Цитата:
![]() ![]() ![]() Тем не менее, вчера уже кондиция нормальная была ) |
#6
|
||||
|
||||
![]() Цитата:
![]() Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#7
|
|||
|
|||
![]() раньше на меня пивас тоже так действовал, а потом начал действовать как снотворное, чуть выпил и уже ничо делать не охото, только спать...старею...
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя ![]() |
#8
|
||||
|
||||
![]() запускаешь сервер, запускаешь несколько клиентов, вводишь ip-шник, подключаешься.
Управляя стрелками на серваке любуешься тем, как послушно двигаются клиентские Shape-ки ![]() З.Ы. Это сделано в качестве примера, чтобы понять как взаимодействуют ClienSocket и ServerSocket, так что само собой доработка за ВАМИ! Последний раз редактировалось Pilot_Red, 14.06.2012 в 22:25. |
#9
|
||||
|
||||
![]() Цитата:
Да да да, полностью согласен ![]() |
#10
|
|||
|
|||
![]() Pilot_Red, спасибо большое)) Даже не большое, а просто огромное...
![]() ![]() ![]() Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" ![]() ![]() |
#11
|
||||
|
||||
![]() Цитата:
Да не за что!, главное чтобы помогло ![]() |
#12
|
|||
|
|||
![]() C этим разобрался, буду делать геймплей. Еще несколько вопросов.
1. Можно ли например на каком нибудь хостинге с PHP разместить сервер, чтобы был постоянный ip и передавать ему команды с клиентов запросами? 2. Программа передает очень много пакетов (приблизительно 500 пакетов за минуту если непрерывно жать), это не повлияет на ее работу между двумя компьютерами на удаленном расстоянии? 3. Чтобы сделать мультиплеер для двух игроков надо добавить функции клиента к серверу, а функции сервера к клиенту? Заранее спасибо!!! ![]() ![]() ![]() Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" ![]() ![]() |
#13
|
||||
|
||||
![]() Цитата:
1. Можно 2. 500 пакетов я не думаю что это очень много 3. не понял вопрос... |
#14
|
|||
|
|||
![]() Cпасибо за ответы...
Пример, который ты мне дал работает так: Сервер посылает команду клиенту, а клиент на нее реагирует. Получается только один игрок (сервер) может играть. А я хочу сделать так: Сервер посылает команду клиенту - клиент на нее реагирует. В тоже время клиент может выполнять функции сервера. Получается оба игрока (клиент и сервер) могут играть. Действия клиента отображаются у сервера, а действия сервера у клиента. Чтобы это осуществить надо добавить функции клиента серверу, а функции сервера клиенту? Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" ![]() ![]() |
#15
|
||||
|
||||
![]() пример делался по пожеланию:
Цитата:
В общем ты хочешь чтобы клиенты двигались по полю и, при этом они должны видеть друг друга. там немного по другому будет. сервер будет принимать от клиентов команды, их обрабатывать и отсылать им ответы (например координаты). Например: Я один из клиентов. хочу двигаться вверх, нажимаю соответствующую клавишу. к серверу летит соответствующая команда. Сервер в свою очередь принимает ее, рассчитывает мои координаты. и отсылает их всем активным клиентам включая и мне. каждый клиент принимает эти координаты и на основе их рисует кружочки, квадратики в общем клиентов. Это одна из вариаций. Решений может быть много. Например клиент сам рассчитывает свои координаты и их соответственно отправляет на сервак. Но тогда клиента можно взломать каким-нибудь ArtMoney.. Как я писал выше тот пример, который я выслал, это некая почва для размышления. Так что разбирайся ![]() |