1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ブラックジャックのなんちゃって設計(js) part3 プロパティとかメソッドをもう少し詳しく

Last updated at Posted at 2022-04-18

この記事について

各クラスのプロパティ、メソッドの役割を説明したり
メソッドとかの動きをフローチャートとかにしてみた
ただほぼ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クラスのvaluesumに足す
sumCard.drawio.png

sumCardAIn()

役割
Listの中にAがあった時sumAInsumに10加えた値を入れる

checkAInMyDeck()

役割
myDeckの中にAが入っているか確認する
checkAinMyDeck.drawio (1).png

checkTenInMyDeck()

役割
myDeckの中に10点札が入っているか確認する

checkBJ()

役割
ブラックジャックが成立しているか確認する
checkBJ.drawio.png

checkBurst()

役割
sumが21を超えていないか確認

checkBJ()

役割
sumAInが21を超えていないか確認

Computer

役割
Playerクラスを継承して、コンピューターが使う動作を加えたクラス

メソッド

isSumUnder16()

役割
sumが16を下回っているか調べる

isSumAInUnder16()

役割
sumAInが16を下回っているか調べる

Q&A

Q:なぜsumCard()で最初にsum = 0をしているの?
A:そうしないと、古い計算結果に新しい計算結果を足すことになるから

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?