みなさんこんにちは。
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が構築できますので、ぜひ挑戦してみてください。
