@KeterVik

Как реализовать сеть для игры в терминале?

Есть два игрока. Действие каждого игрока ограничено одной командой в терминале. То есть — пока игрок1 вводит команду, игроку2 блокируется клавиатура и ввод команд. После каждого нажатия Enter отправляются данные другому игроку и так игроки обмениваются данными, но как это сделать? Например, мне нужно чтобы в терминал игроки вводили хост и порт(то есть игра по договорённости), и таким образом подключались к друг другу.
Всё это нужно реализовать для игры крестики-нолики, которая полностью готовая, но только с режимом "на одной клавиатуре". Всё работает в терминале, без гуя, только символами и командами. Написано, как уже понятно, на Python.
Для того чтобы разобраться я прочитал данную статью https://www.ibm.com/developerworks/ru/library/l-py... , но понял не совсем много. Я не знаю как реализовать проверку и подключение игроков, так же, какие данные нужно отправлять игрокам друг другу. В данном случае данные — один единственный файл(модуль) — картинка из символов, с переменными, куда и записываются данные.

UPD. Как я это всё вижу:
— два адреса подключаются к одному порту
— одному из них накладывается метод, который блокирует клавиатуру
— игрок1, у которого не заблокирована клавиатура, вводит команду и отправляет все файлы игроку2
— игроку1 накладывается метод, который блокирует клавиатуру
— игрок2 получает все нужные файлы игры и ему даётся возможность вводить команды
— ...
— *после победы одной из сторон, игра замораживается, всем игрокам даётся возможность вводить команды

*Заморозка игры уже реализована. Ввод определенных команд после победы тоже есть.
То есть в чём суть — игрок после команды просто передаёт все свои файлы другому игроку и у него блокируется клавиатура и так по кругу. Как это реализовать, я не знаю.
  • Вопрос задан
  • 1481 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы