Skip to content

Instantly share code, notes, and snippets.

@fomkin

fomkin/wol.md Secret

Last active January 28, 2021 12:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fomkin/d778fb8f1410bd41a537c04144651b46 to your computer and use it in GitHub Desktop.
Save fomkin/d778fb8f1410bd41a537c04144651b46 to your computer and use it in GitHub Desktop.

Необходимо разработать серверную часть многопользовательской игры под названием "The War: Latency" на Scala, Cats и Fs2 (fs2-io). Игрок подключается к серверу игры через программу telnet.

Предполагается, что терминал игрока работает в кодировке UTF-8. После установки соединения игра приветствует его сообщением "Привет! Попробую найти тебе противника". Здесь и далее все сообщения заканчиваются символом переноса "\n". Далее игроку подбирается любой противник из числа других подключенных игроков, ожидающих противника. После того, как противник найден, сервер оповещает об этом игрока и его противника сообщением "Противник найден. Нажмите пробел, когда увидите цифру 3". Далее игрокам через случайные промежутки времени в интервале от двух до четырех секунд, в произвольном порядке, высылаются сообщения с числами "1", "2", "3". После отсылки сообщения "3", игра ждет, пока один из игроков не пришлет символ пробела.

Тот игрок, который отправил символ пробела первым, назначается победителем. Победителю отправляется сообщение "Вы нажали пробел первым и победили". Проигравшему отправляется сообщение "Вы не успели и проиграли". Соединение с обоими игроками разрывается. Если кто-то из игроков отправил пробел раньше, чем ему было отправлено сообщение с цифрой "3", он объявляется проигравшим. Победителю отсылаются сообщение "Ваш противник поспешил и вы выйграли", проигравшему отправлется сообщение "Вы поспешили и проиграли". Соединение игроками разрывается.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment