2016-11-25 131 views
-3

我想在Java中制作象棋在线游戏。我可以离线编写游戏,这没问题,但现在我想让它在线,以便人们可以在互联网上玩。Java在线国际象棋游戏

不幸的是我对如何做到这一点所以这里是我的问题没有实际的想法:

  • 我需要什么样的服务器? (如网络服务器,xyz ...?)

  • 如何将国际象棋棋盘保存在服务器上?

  • 我是否必须使用套接字将其与MVC组合? (所以客户端是一个愚蠢的伙伴,只会询问这个举动是否有效,如果是这样的话,它会发送信息给服务器,该服务器会回答是/否,然后再进行移动并重新发送新的客户端到客户端?

  • 请问我需要线程使服务器在主板的多个实例,那么多的人可以玩一次?

感谢大家展示试图帮助我的努力!正如你看到的我是新来这我不知道从哪里开始,但我真的想做到这一点!

+4

太宽泛 有太多可能的答案,或者对这种格式太好的答案太长。请添加详细信息以缩小答案集或隔离几个段落中可以回答的问题。 – JFPicard

+0

这可能有一些帮助:https://github.com/Conductor/chess-web – Paul

回答

1
  • 你凑ld在某个地方建立了一个Tomcat服务器,并把你的程序设置在那里,但对你来说可能有点多(在本地机器上租用一个或配置一个)。作为一种替代方案,您的本地PC可以只监听一个端口,通常由您用来通信的工具进行管理。
  • 加载和保存到磁盘的基本知识使用FileInputStream或FileOutputStream完成。无论您的JVM位于本地PC还是远程系统上都无关紧要。高级技巧是序列化和API,如适用于Java的Simple XML。
  • 我不确定我是否理解这个问题。如果你问的是移动的确认应该在哪里进行,这是个人的喜好,尽管我认为它应该发生在客户端和服务器上。如果您问客户端和服务器应该如何沟通,我认为远程方法调用(RMI)对您而言是一个好的开始。我爱上了Akka,但我认为这有点过分,但如果你喜欢,你可以看看它。对于RMI和Akka来说,插座是用来驱动自行车或汽车的。理解沟通很好,但对于直接用于高级编程(如游戏中)没有帮助。
  • 每个游戏都可以在自己的线程中运行,是的。

我觉得你的一个很好的练习就是从我的答案中查找你未知的所有单词,还有很多东西需要学习。

+3

虽然你的答案很好,离题的问题不应该回答。这使得清理它们变得更加困难,并且可能会鼓励更多的脱离主题的问题。 –

+1

@ModusTollens感谢您的澄清。我认为我在帖子末尾的提示就足够了,但我明白。 – Ayutac

+0

没问题刚出现的另一个问题:有些人对离题话题的回答很不满(我没有)。 –