我的朋友挑战我制作一个我们可以互相对抗的流行游戏“Battleships”的版本。如果你不了解这款游戏,这并不重要,因为对我来说,困难的部分不是制作游戏,而是弄清楚我们如何在我们的电脑上互相对抗。我以前做过同样的游戏,只为一个玩家(我正在使用 Python)所以我现在想知道的是:
- 最简单的方法是什么?(我在想Hamachi)。
- 我应该从哪里开始?
提前致谢 :)
我的朋友挑战我制作一个我们可以互相对抗的流行游戏“Battleships”的版本。如果你不了解这款游戏,这并不重要,因为对我来说,困难的部分不是制作游戏,而是弄清楚我们如何在我们的电脑上互相对抗。我以前做过同样的游戏,只为一个玩家(我正在使用 Python)所以我现在想知道的是:
提前致谢 :)
我建议首先制作一个非网络版本的游戏,该版本支持同一程序实例/窗口中的 2 个玩家。通过这种方式,您将能够重新建模/设计代码以首先支持 2 个玩家。
如果这行得通,您必须选择要使用的网络库(或原始 TCP/套接字),稍微考虑一下问题,然后重构/拆分程序,以便您可以将 2 个播放器分成 2 个单独的程序进行通信通过网络彼此。
对于网络,RPC(远程过程调用)可能是您最容易使用的选择;有关选项,请查看:在 Python 中执行 RPC 的当前选择是什么?. 或者您可能只想使用一些非常原始的东西,例如socket
,或者稍微不那么原始的东西,例如 ZeroMQ。
您可能也对此感兴趣: http: //pygnetic.readthedocs.org/en/latest/:
pygnetic 是一个旨在帮助在 Pygame 中开发网络游戏和应用程序的库