見出し画像

#29 ハンドのスコアを表示する①:React でプロプラ!Vol.3「BlackJack」

「React.js でプログラミング・プラモデル」の連載第3弾。
React.js で、カジノゲーム「BlackJack」を作ろう!

これまで

前回は、「最初に配られたハンドがブラックジャックかどうか」を判定しました。

現時点の Sandbox

前回までの Sandbox はこちら。
はじめての方は、ここから一緒に作り始めることができます。

今回のゴール

・BlackJackUtils.getScore(hand) を実装する

実装の前に

・「スコア」は、ハンドのランクを合計した値のことだよ!
・Ace は「1 または 11」どちらでもOK!

ハンドが Ace と 3 のとき
スコアは 4 または 14

ハンドが Ace と 3 と 6 のとき
スコアは 10 または 20

ハンドが Ace と 3 と 6 と J のとき
スコアは 20
※ バーストしちゃう 11 で数えることないよね!

今回の設計書

src/utils/BlackJackUtils.js

ハンドのスコア取得
// function getScore(hand) を見つけてください
-----
1. ハンドがブラックジャックのとき
 1.1 空配列に 21 を追加して返却する
2. ハンドがソフトハンドのとき
 2.1 空配列に以下の値を追加して返却する
   0: ハンドのランクの合計値
   1: ハンドのランクの合計値 + 10
   //コロンの前の数字はインデックス
3. それ以外
 3.1 空配列にハンドのランクの合計値を追加して返却する

ヒント

・「ブラックジャック判定」「ソフトハンド判定」「ランクの合計」はもう作ってるよ!

実装例

ハンドのスコアはゲットできましたか?
あるものはじゃんじゃん使いましょう!

次回

次回は、画面表示用のスコアを作ります!

この記事があなたのお役に立ちましたら、よろしければサポートをお願いいたします! より良い記事をお届けできるよう、活動費に充てさせていただきます。