2020 ソフトウェア設計及び演習用の班Wiki
20::gr05::特殊ブラックジャックモジュール
モジュール(担当:和泉)
モジュールの動作
-
特殊ブラックジャックの動作をおおきく6つのフェーズに分割
- step0 ゲームスタートフェーズ...ゲームを始めsave.jsのload();とsave_init();を行い変数の初期化を行なう。
- step1 ベットフェーズ...ボタンを呼び出し、ボタンが押されたらbetとchipに値を足す/引く
- step2 ドローフェーズ...カードを二枚引く
- step3 カードの役をチェック...引かれたカードがBJだったらstep5へいく。
- step4 プレイヤー動作...プレイヤーがhit,double,standをする,バーストしたらstep5,standしたらホストが18を超えるまでカードを引く。
- step5 勝敗判定...ホストが勝ったか、プレイヤーが負けたかをチェック、プレイヤーが勝ったらbetの額を二倍にしてchipに加える。もし負けたら、そのベットは没収。
- step6 ゲーム選択画面...ゲームがを続けるかやめるかの選択をする。
special_func()
-
説明
引かれた特殊カードに応じて効果を発動させる関数
- 引数・返り値
引数:どんな特殊カードが引かれたか
- n = 1 バースト無効
- n = 2 カードを見る...1度カードをヒットし、もしヒットされなかったらそれを手札から削除する。
- n = 4 カードを捨てる...カードを捨てる関数discard()を呼び出す。
- n = 8 ホストのカードを見る...裏返すカードアニメーションを呼び出す(システム的にはアニメーションだけでOK)
- n = 16 二枚引く...hit()を二回呼び出す。
- n = 32 強制オールイン...chipの値を全てbetに代入し、chipを0にする。
- n = 64 ベット半分没収...betの値を1/2にして再代入
返り値:なし
- 動作
- n = 1 手札がバーストしたら一番最後に引いたカードを削除する。
- n = 2 1度カードをヒットし、もしヒットされなかったらそれを手札から削除する。
- n = 4 カードを捨てる関数discard()を呼び出す。
- n = 8 裏返すカードアニメーションを呼び出す(システム的にはアニメーションだけでOK)
- n = 16 hit()を二回呼び出す。
- n = 32 chipの値を全てbetに代入し、chipを0にする。
- n = 64 betの値を1/2にして再代入
special_judge()
-
説明
自分の引いたカードが特殊効果のもつカードかどうかを返す関数
- 引数・返り値
引数:特殊カードの配列
返り値:
- n = 0 なし
- n = 1 バースト無効
- n = 2次のカードが分かる
- n = 4カードを捨てる。
- n = 8ホストのカードを見る。
- n = 16二枚引く
- n = 32強制オールイン
- n = 64ベット半分没収
- 動作
特殊カードの配列がどの特殊効果を持つかは配列の探索を用いて計算する。
-
特殊カードの効果
-
プラス効果
- バースト無効...バースト向こうが引いたかどうかの変数s_func1に値
- 次のカードがわかる...
- ホストのカードを見る...
- マイナス効果
- 強制的に二枚引く...
- 強制的にオール・イン...
- ベット半分没収...
- 強制的にカードを一枚捨てる...
-
プラス効果
最終更新日:2020/08/06 22:51:03