Сетевая библиотека Python для простой карточной игры - PullRequest
3 голосов
/ 17 июля 2009

Я пытаюсь реализовать довольно простую карточную игру на Python, чтобы два игрока могли играть вместе друг с другом через Интернет. У меня нет проблем с выполнением графического интерфейса, но я не знаю, что делать в сети. Пара библиотек, которые я нашел до сих пор:

  • PyRO : кажется хорошим и, кажется, хорошо подходит для решения проблемы, поскольку объекты Card совместно используются в различных состояниях.

  • Скрученный с Пиглет-скрученный : это выглядит мощно, но сложно; Я использовал Пиглет раньше, хотя, может быть, это было бы не так уж и плохо.

Кто-нибудь может порекомендовать наиболее подходящий для моей игры (не обязательно в этом списке, я, наверное, пропустил много хороших)?

Ответы [ 3 ]

8 голосов
/ 17 июля 2009

Обе эти библиотеки очень хороши и отлично подойдут для вашей карточной игры.

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

Поначалу витая вещь может показаться сложной, но есть несколько книг, которые помогут вам преодолеть горб.

Есть несколько других библиотек на выбор, но две найденные вами являются зрелыми и широко используются в сообществе Python, поэтому у вас будет больше шансов найти людей, которые ответят на любые вопросы.

Моя личная рекомендация - использовать Pyro, если вы просто хотите поиграть с сетью, но используйте Twisted, если у вас есть грандиозные планы для большого количества игроков в Интернете.

5 голосов
/ 17 июля 2009

Если вы решите, что не хотите использовать стороннюю библиотеку, я бы порекомендовал asynchat module в стандартной библиотеке. Идеально подходит для отправки / получения по простому протоколу.

3 голосов
/ 17 июля 2009

Twisted - лучшая из двух библиотек, но время, потраченное на изучение его использования, но изучение сетей займет у вас примерно столько же времени (по крайней мере, для меня)

Если бы я был тобой, я бы лучше выучил сетевое взаимодействие, и в будущем тебе это будет гораздо полезнее. Концепции одинаковы для большинства языков, поэтому они более переносимы. Если вы собираетесь использовать этот подход, взгляните на http://www.amk.ca/python/howto/sockets/, он проведет вас через все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...