我用c语言编写了一个冒险游戏,现在我想将其作为具有多个客户端的服务器(telnet)来运行,我希望每个玩家都拥有单独的游戏副本。
我对套接字编程并不十分熟悉,不知道该怎么做或如何开始,我看了一些教程但没有帮助。有什么帮助吗?
请注意,我已经在* ubuntu *中完成了所有这些编程。
最佳答案
如果没有更多有关您定义为冒险游戏的详细信息,真的很难回答。
如果您的游戏是在控制台上设计/实现为单人游戏,则只需附加一些套接字代码就不会突然使它成为多人游戏。
您可以编写一个守护程序:当每个玩家连接到它时,它会派生一个新进程然后执行您的游戏-客户端只是输入命令等,并且您对游戏的唯一更改是使用套接字而不是控制台IO。但是,与运行不同游戏副本的多个人相比,这并没有真正的好处。
我猜您真正想要的是服务器包含一些“共享信息”,例如要玩多少个玩家,每个玩家的位置等。要执行此操作,您需要找出一组希望从客户端发送到服务器并从服务器转发到服务器的消息。您需要确定代码的哪些部分是客户端,哪些是服务器。
基本上,我认为实际的套接字代码很容易,游戏的设计和体系结构以及如何利用套接字是最难的部分!