教科書のコード
[ZIP],
今風のコード
[ZIP]
enumをつかっています,またリングバッファーも使ってます.
クラス図 (微妙に異なる)
p.163- Card, p.168- Hand, p.173 Table, p.174- Player, p.180- Master,
p.183- OldMaid.
TIPS
- toStringについて (p.166) Cardクラス内
- Collectionを思い出そう [HTML]
- mainメソッドはどのクラスにもたせるか? (p.186)
- p.162のモデルと比較して,
-
Playerは(次の)対戦相手への関連を明示的にはもっていない.
(Player.playメソッドの引数としてMasterから渡される.)
- 手札は枚数を明示的に属性としてもっていない.
(関連をもつCardの多重度を数えればよいだめ.)
- p.181 Master.prepareGame()
% によるローテーションの実現.
- p.181 Master.startGame()
playerIndex, nextPlayerIndex取得について.
1個前のplayerは抜けた可能性があるが,players.size()を毎回,再計算しているので,
playerIndex, nextPlayerIndexの取得に問題はおきないはず.