2016-11-25 132 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

沒問題剛出現的另一個問題:有些人對離題話題的回答很不滿(我沒有)。 –