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