一次过程应该会有这么几个 use case:
用户登录
浏览当前牌友情况
加入到一个牌局
退出玩牌的过程中,主要有这几个:
确定庄家
发牌
留底
顺次出牌(这一段的逻辑需要良好的封装)
计分,判断胜负
其它:
用户之关的聊天交流等
从这个过程里面去查找类的话,刚才 bigeagle 所提到的几个类已经基本上概括了:
一个大厅(其实在这里,大厅应该是包含很多个版桌的)用户进入大厅后,可以查看各个牌桌的状态,选择自己加入到哪个桌子。
table 类(or desk ) table 可以理解为一局的管理者(或者,table 只管显示),另外用一个类来对牌局进行管理。 这在我们一般的玩牌过程中好像没有这样的一个管理者,那是因为一些工作都是我们自己在做了(如发牌、计分等)
扑克本身应该算是一个类型。必须在牌的整体上有一个概念。它能决定一共多少张牌、以及发牌的过程。
牌、用户等 刚才所说的基本上是这些概念。
其中 大厅是一个服务的概念,需要一个守护进程。而且,可以考虑是一个 “单子”的模式。
……