用于简单卡牌游戏的Python网络库
我正在尝试用Python实现一个相对简单的卡牌游戏,让两个玩家可以在互联网上一起玩。我对制作界面没问题,但对如何处理网络部分一窍不通。目前我找到了一些库:
PyRO:看起来不错,似乎很适合我的需求,因为它可以处理不同状态的共享卡牌对象。
Twisted和pyglet-twisted:这个看起来功能强大,但有点复杂;不过我之前用过Pyglet,所以可能不会太难。
有没有人能推荐一个最适合我游戏的库(不一定要在这个列表上,我可能错过了很多好的选择)?
3 个回答
3
Twisted这个库比另一个库要好,但学习它的时间和学习网络知识的时间差不多(至少对我来说是这样)。
如果我是你,我会选择先学习网络知识,这对你将来会更有帮助。大多数编程语言的概念都是一样的,所以学会了就能更灵活地运用。如果你打算这样做,可以看看这个链接:http://www.amk.ca/python/howto/sockets/,里面会详细讲解所有内容。
5
如果你决定不想使用第三方库,我推荐你使用标准库中的 asynchat模块
。这个模块非常适合通过简单的协议进行发送和接收数据。
8
这两个库都非常好,完全可以用来做你的卡牌游戏。
Pyro可能更容易学习和使用,但如果你将来想要支持很多玩家,Twisted会更合适。
刚开始用Twisted可能会让人觉得有点难,但有一些书可以帮助你克服这个难关。
还有其他一些库可以选择,但你找到的这两个在Python社区里已经很成熟,使用也很广泛,所以你更容易找到人来回答你的问题。
我个人的建议是,如果你只是想玩玩网络编程,可以选择Pyro;但如果你有很多玩家的宏伟计划,就选择Twisted吧。