有關拖拉機游戲的面向對象設計討論
發表時間:2023-08-07 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一次過程應該會有這么幾個 use case:用戶登錄 瀏覽當前牌友情況加入到一個牌局退出玩牌的過程中,主要有這幾個:確定莊家發牌留底順次出牌(這一段的邏輯需要良好的封裝)計分,判斷勝負其它:用戶之關...
一次過程應該會有這么幾個 use case:
用戶登錄
瀏覽當前牌友情況
加入到一個牌局
退出玩牌的過程中,主要有這幾個:
確定莊家
發牌
留底
順次出牌(這一段的邏輯需要良好的封裝)
計分,判斷勝負
其它:
用戶之關的聊天交流等
從這個過程里面去查找類的話,剛才 bigeagle 所提到的幾個類已經基本上概括了:
一個大廳(其實在這里,大廳應該是包含很多個版桌的)用戶進入大廳后,可以查看各個牌桌的狀態,選擇自己加入到哪個桌子。
table 類(or desk ) table 可以理解為一局的管理者(或者,table 只管顯示),另外用一個類來對牌局進行管理。 這在我們一般的玩牌過程中好像沒有這樣的一個管理者,那是因為一些工作都是我們自己在做了(如發牌、計分等)
撲克本身應該算是一個類型。必須在牌的整體上有一個概念。它能決定一共多少張牌、以及發牌的過程。
牌、用戶等 剛才所說的基本上是這些概念。
其中 大廳是一個服務的概念,需要一個守護進程。而且,可以考慮是一個 “單子”的模式。