みなさんこんにちは。
NakaRyoです。
今回は、Unreal Engineで実装したBET UIを応用し、勝敗判定機能を追加する方法について解説します。
本記事をご覧いただくことで、プレイヤーとCPUのBET数を比較し、勝敗を自動で表示できる仕組みを理解できるようになります。
なお、本記事は過去2つの記事と連動しています。前回記事をご覧いただくと、よりスムーズに理解いただけると思います。
STEP1:表示用テキストの作成
前回作成した ウィジェットブループリント を開き、デザイン画面で勝敗表示用のテキストを追加します。
- ブロックタイプ:Text Block
- ブロック名:TextBlock_WIN
- Font Size:150
- TEXT名:WIN
- 配置位置:画面右側
- Is Variable:チェックを有効化

このテキストが最終的に勝敗を表示するUI要素となります。
STEP2:新規関数の設定
次に、勝敗判定を行うための関数を作成します。
1.ウィジェットブループリントのグラフ画面を開き、新規関数を作成します。
関数名:CompareAndAnnounceWinner

2.以下の手順でノードを構築します。
ノード構成手順
Get SelectedBet
と Get CPUSelectedBet
をノードに配置します。

Greater (Int > Int)
ノードを配置し、
- A →
Get SelectedBet
- B →
Get CPUSelectedBet
を接続します。

Branch
ノードを配置し、Condition
ピンに Greater.ReturnValue
を接続します。
CompareAndAnnounceWinner
の実行ピンを Branch
の入力ピンに接続します。

プレイヤーが勝った場合のノード設定
Format Text
を追加し、テキストに「PLAYER WIN!」と入力
Format Text.Result
→ Set Text (Text)
のIn Textに接続
Set Text.Target
に Get TextBlock_WIN
を接続
Branch.True
→ Set Text (Text)
の実行ピンを接続

CPU勝利と引き分けの処理
新たに Greater (Int > Int)
を配置し、
- A →
Get CPUSelectedBet
- B →
Get SelectedBet
を接続します。

GreaterのconditionピンからBranch②のconditionピンとノード接続します。
Branch①のFaluseピンとBranch②の結果ピンをノード接続します。

Format Text
に「CPU WIN!」を入力

Format Text.Result
→ Set Text (Text)
に接続
Set Text.Target
に Get TextBlock_WIN
を接続
Branch②.True
→ Set Text (Text)
実行ピンを接続

Format Text
に「DRAW!」を入力
Format Text.Result
→ Set Text (Text)
に接続
Set Text.Target
に Get TextBlock_WIN
を接続
Branch②.False
→ Set Text (Text)
実行ピンを接続

最後にコンパイルと保存を行います。
STEP3:ゲーム画面への反映
作成した CompareAndAnnounceWinner
関数を、前回記事で実装した FinalizeCPUBet
関数に組み込みます。
FinalizeCPUBet
の編集画面を開きます。Set Text (Text)
の実行ピン →CompareAndAnnounceWinner
の入力ピンを接続します。

コンパイル・保存を行います。
STEP4:動作確認
最後に実際の動作を確認します。
SELECTボタンを押す前

SELECTボタンを押した後

CPUのBET数が反映され、自動で勝敗が表示されました。
まとめ
本記事では、Unreal EngineのBET UIに勝敗判定機能を追加し、結果を画面に表示する方法を解説しました。
プレイヤーとCPUのBET数を比較して即座に勝敗を表示できるため、ゲーム性が大きく向上します。
前回までの記事と合わせて実装すれば、より完成度の高いUIが構築できますので、ぜひ挑戦してみてください。