2009-07-17 3 views
3

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

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

  • Twisted с pyglet-twisted: это выглядит мощным, но сложным; Раньше я использовал Pyglet, хотя, может быть, это было бы не так уж плохо.

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

ответ

8

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

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

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

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

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

5

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

3

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

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

Смежные вопросы