この記事について
各クラスのプロパティ、メソッドの役割を説明したり
メソッドとかの動きをフローチャートとかにしてみた
ただほぼ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:そうしないと、古い計算結果に新しい計算結果を足すことになるから