この記事について
各クラスのプロパティ、メソッドの役割を説明したり
メソッドとかの動きをフローチャートとかにしてみた
ただほぼ1行でかけてしまうものは省略
以下c()はコンストラクタから値を受け取ることを指す
コードはこちらにあります
Player
説明
プレイヤーに必要な動きをまとめたクラス
プロパティ
| 変数/定数 | 名前 | 型 | 説明 | 初期値 |
|---|---|---|---|---|
| 変数 | myDeck | [Card] | 受け取ったCardクラスを保管 | [空] |
| 変数 | sum | int | 通常時の手札の合計値を保管 | 0 |
| 変数 | sumAIn | int | 手札に[A]がある時の 手札の合計値を保管 |
0 |
| 変数 | AInMyDeckFlag | boolean | 手札に[A]があるかどうかを管理 | false |
| 変数 | tenInMyDeckFlag | boolean | 手札に[10点札]が あるかどうかを管理 |
false |
| 変数 | burstFlag | boolean | 手札の合計値が21を 超えていないか管理 |
false |
| 変数 | burstAInFlag | boolean | 手札に[A]がある時の手札の 合計値が21を超えていないか管理 |
false |
| 変数 | bjFlag | boolean | ブラックジャックが 成立しているか管理 |
false |
メソッド
addCard(card)
役割
引数に受け取ったCardクラスをList加える
sumCard()
役割
Listの中にあるすべてのCardクラスのvalueをsumに足す

sumCardAIn()
役割
Listの中にAがあった時sumAInにsumに10加えた値を入れる
checkAInMyDeck()
checkTenInMyDeck()
役割
myDeckの中に10点札が入っているか確認する
checkBJ()
checkBurst()
役割
sumが21を超えていないか確認
checkBJ()
役割
sumAInが21を超えていないか確認
Computer
役割
Playerクラスを継承して、コンピューターが使う動作を加えたクラス
メソッド
isSumUnder16()
役割
sumが16を下回っているか調べる
isSumAInUnder16()
役割
sumAInが16を下回っているか調べる
Q&A
Q:なぜsumCard()で最初にsum = 0をしているの?
A:そうしないと、古い計算結果に新しい計算結果を足すことになるから

