我正在爲卡片遊戲創建一個基於Java的服務器,客戶端可以通過它連接到「玩」。每個「遊戲」(Java級)擁有一副104張牌(一張正常牌組成兩倍)。所以我得到的基本課程是:遊戲,卡組,卡片。一場比賽將有一個甲板,一個甲板最多有104個牌。我用Hibernate和PostgreSQL數據庫爲服務器製作了基礎結構。我的問題在於如何建模數據庫。如何使用卡片和卡片設計遊戲數據庫
由於只有52張不同的卡牌,所以沒有必要爲每張製作52張卡牌「卡座」表格中的甲板。但是,甲板需要洗牌。我想這樣做有一些聰明的方法,但數據庫建模不是我的強項。
在我的頭頂,我想我可以有一個表「卡」有52行,每一行對應一個卡。然後,另一個桌面「Deck」將在每次創建遊戲時創建一行,並保存一張數字列表(104個數字),該列表在Card-Table中引用每個卡片ID兩次。這聽起來像是個好主意嗎?我怎麼用Java和Hibernate來完成這個任務?
或者是否有其他方式應該這樣做?由於有很多紙牌遊戲,我猜這已經做過一百萬次了,並且有一些解決此問題的最佳實踐,但是我一直無法找到它。我很感謝有關此事的任何投入。提前,謝謝!
編輯:我是否已經解決了這個問題,並且應該使用Hibernate插入一個Deck到數據庫並讓其他數據庫處理?