一个扑克游戏的诞生—游戏(fullhouse)类设计兼谈程序中的调试、纠错及使用断言
前面我们做完了基本工作,现在就要考虑来设计游戏类了。尽管前面有人批评我的uml图画的不好,但我还是要用rose来辅助这个类的设计,呵呵,算是屡教不改吧。下面是这个游戏的用例图,从中可以看出游戏要完成的功能

下面是游戏过程的顺序图,我们希望从中找出类属性和方法。

由于我们现在需要完成的是游戏类(fullhouse)的设计,所以暂时不关心玩家和界面,只看后面的fullhouse类有哪些属性和方法。下面是rose生成的关于这个类的表格。
class 游戏系统 {java}
documentation
游戏系统类
| parent package | business use-case model | abstract | no |
| export control | publicaccess | link class for | none |
| class kind | normalclass | cardinality | n |
| space | concurrency | sequential | |
| persistence | no |
operations
| name | signature | class |
new |
new ( 初始分数)) |
游戏系统 |
下注 |
下注 () |
游戏系统 |
换牌 |
换牌 ( 要换的牌)) |
游戏系统 |
计算分数 |
计算分数 () |
游戏系统 |
比倍 |
比倍 () |
游戏系统 |
得分 |
得分 () |
游戏系统 |
重置状态 |
重置状态 () |
游戏系统 |
attributes
| name | class | type | initial value |
总分 |
游戏系统 | ||
得分 |
游戏系统 | ||
下注分数 |
游戏系统 | ||
牌组合 |
游戏系统 |
通过上述图及表格,我们现在来做这个类的类图应该很容易了吧。下面是类图:

其中有几个属性和方法不是通过上面讲的方法找出来的,而是在实际编码过程根据需要添加的。好了,类设计做完了,后面的任务就是编码了。


