3

【UE】ブループリント解説|CPUのランダムBET選択実装

みなさんこんにちは。

NakaRyoです。

前回の記事では、ウィジェットブループリントを使って

BET数を画面に表示する方法について解説しました。

今回はその応用編として、CPUがランダムでBET数を選択し、

その結果を画面に表示する処理を実装していきます。

事前準備

本章に移る前に事前準備を行います。

準備リスト

ウィジェットブループリント(本章で使用するWBPは過去記事にて記載)

前回の記事をまだご覧になっていない方は、以下のURLから確認してみてください。

PLAYER側のBET数選択ノード設定

CPUの実装に移る前に、新たにBET数を確定するSELECTボタンの実装及び

PLAYER側のBETを選択後に再度選択できないようにする処理を追加します。

BET数を確定するSELECTボタンの実装

①デザインタブを選択し階層画面で任意のボタンを複製します。

 ボタン名をButton_SELECTに変更します。

image

②階層ボタンを選択した状態で、右上のIs Variableにチェックを入れます。

image

③詳細のOn clickedを選択後、グラフ画面に移行し、以下ノード設定を行います。

image

ノード構成手順

新規変数を作成します。

変数名:IsBetConfirmed

変数型:Boolean

image

On clickedの実行ピンとSet IsBetConfirmedのノードを繋ぎます。

IsBetConfirmedにチェックを入れます。

image

Get SelectedBetをノード上に配置し、To text(Integer)とノード接続をおこないます。

image

グラフ上の空いているスペースを右クリックでFormat Textを選択し、

Format Text欄にPLAYER BET:{Bet}を入力します。

Betピンが自動的に作成されたのを確認後、BetピンとTo text(Integer)のReturn Valueピンとノード接続します。

image

Format TextのResultピンからワイヤー展開し、Set Text(Text)とノード接続を行います。

※検索する際に、状況に合わせた表示のチェックを外すとヒットしやすいです。

Set text(text)のTargetピンとText Block67(BET SELECTの表示テキスト)をノード接続

Set IsBetConfirmedの実行ピンとSet text(text)の結果ピンをノード接続

image

PLAYER側のBET選択後 再度選択不可にする

ノード構成手順

OnClicked(Button_Select)Set_Text からワイヤーを展開し、Sequence ノードに接続します。

image

Sequence 付近に Get Button BET5 / BET10 / BET15 / BET20 を設置します。

image

Get BET5_Button からワイヤーを展開し、Set Is Enabled (変数) を選択します。

※「ウィジェット型のSet Is Enabled」ではなく、変数・動作のSet Is Enabledを選択してください。

image

Sequence の実行ピンと Set Is Enabled の結果ピンを接続します。

同様の処理を BET10 / BET15 / BET20 にも行います。

※注意:Set Is Enabled のチェックは外してください。

image

CPU側のランダム選択実装

続いて、CPUがランダムでBET数を選択する処理を実装します。

デザイナータブを開き、キャンバスパネル の配下に Text(名前:CPU SELECT) を配置します。

image

グラフタブに移動し、関数の「+ボタン」から新規関数を作成します。

 関数名:RandomCPUBet()

image

③RandomCPUBet() をダブルクリックしてグラフを開き、以下ノードを設定します。

ノード構成

RandomCPUBet の実行ピン → Switch on Int に接続

image

Switch on Int の Selection ピン → Random Integer in Range に接続

Random Integer in Range の Min=1 / Max=4 を設定

image

Switch on Int に 0/1/2/3/4 の実行ピンを追加

Set CPUSelectedBet を4つ用意(BET5 / BET10 / BET15 / BET20)し、配置

Switch on Int の実行ピン(1~4)をそれぞれの Set CPUSelectedBet に接続

image

CPU選択結果をUIへ反映

新規変数を以下の通りに作成します。

・変数名:CPUSelectedBet

・変数型:Integer

image

新規関数を作成し、関数名を FinalizeCPUBet に設定します。

image

ノード構成

Get CPUSelectedBetToText(Integer) に接続

image

Format Text を追加し、Text欄に「CPU BET:{Bet}」を入力

※Betピンが自動的に発生することを確認します。

image

ToText(Integer) の Return Value を Format Text の Bet ピンに接続

image

Set Text (Text) を配置し、Format Textの結果ピンSet TextのInText に接続

image

Set Text (Text).TargetGet TextBlock_4 に接続

FinalizeCPUBet の実行ピンと Set Text の結果ピンを接続

image

RandomCPUBet() のグラフに戻り、FinalizeCPUBet をドラッグ&ドロップ。

Set CPUSelectedBet の実行ピンを FinalizeCPUBet の結果ピンに接続。

image

最後に、イベントグラフに戻り、

Set Enabledの実行ピンから、Random CPUBet()を呼び出し、結果ピンとノード接続します。

(BET5~BE20のSet Enabledとノードを繋ぐ。)

以下の通りになっていれば成功です。

image

最後にコンパイルと保存します。

実装確認

実装が完了したら、実際に動作を確認します。

  • SELECTボタンを押す前
     CPUのBET数は未表示の状態です。
image
  • SELECTボタンを押した後
     CPUのBET数が画面に表示されます。
image

SELECTボタン押下後は PLAYER側のBETボタンが灰色に変わり、押せなくなる ことも確認できます。

まとめ

今回は、Unreal EngineにおいてCPUがランダムでBET数を選択し、画面に表示する処理を実装しました。

PLAYER側のBET選択制御とCPU側のランダム処理を組み合わせることで、より実践的な対戦機能を構築できます。

前回記事の続きとして取り組むと、UIとブループリントの理解がさらに深まるので、ぜひ挑戦してみてください。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です