![見出し画像](https://assets.st-note.com/production/uploads/images/86293620/rectangle_large_type_2_ff74f81dd0c65d9792295eb8c8a66253.png?width=1200)
プレイヤー自身が自由にダイスロールの数値を設定し、選択肢に応じてダイスロールの数値を変更する方法
プレイヤー自身が自由にダイスロールの数値を設定し、選択肢に応じてダイスロールの数値を変更する方法について解説します。
今回は、下記の手順で作成します。
プレイヤーがダイスロールの数値を設定
選択肢①(指定した数値のダイスロールを行う) 、
選択肢②(初期値25のダイスロールを行う)に分岐50以上で成功、49以下で失敗と判定
①変数の追加
![](https://assets.st-note.com/img/1662426657986-etquDyQ6a9.png?width=1200)
「プロジェクト」→「変数管理」をクリックし、変数管理画面を開きます。
![](https://assets.st-note.com/img/1662426846736-Xamqk89NY1.png?width=1200)
変数diceを追加します。初期値は空欄のままでOKです。
これで変数の追加は完了です。
②ラベルの作成
![](https://assets.st-note.com/img/1662428607161-t6sHaixk4L.png?width=1200)
start
select1
select2
check
上記の4つのラベルを作成します。
これでラベルの作成は完了です。
③入力画面の作成
(1) テキスト入力コンポーネントの配置
![](https://assets.st-note.com/img/1662431131912-lbqKeulJ1e.png?width=1200)
テキスト入力コンポーネントを配置します。
代入変数の項目は、先程追加した変数diceを指定します。
(2) 画像ボタンコンポーネントの配置
![](https://assets.st-note.com/img/1662431443571-kHOxiP02KQ.png?width=1200)
画像ボタンコンポーネントを配置します。
ターゲットをラベルstartを指定します。
(3) 停止コンポーネントの配置
![](https://assets.st-note.com/img/1662431544632-fC283rEK84.png?width=1200)
停止コンポーネントを配置します。
(4) 入力コミットコンポーネントの配置
![](https://assets.st-note.com/img/1662431710274-DGcQnkgwTa.png?width=1200)
入力コミットコンポーネントを配置します。
(5) 改ページコンポーネントの配置
![](https://assets.st-note.com/img/1662431790197-yOZJTUEkFU.png?width=1200)
改ページコンポーネントを配置します。
これで入力画面の作成は完了です。
④選択肢の作成
![](https://assets.st-note.com/img/1662432186465-SDOWBMpVL9.png?width=1200)
分岐ボタンコンポーネントを2つ配置します。
1つ目の分岐ボタンのターゲットはラベルselect1、2つ目の分岐ボタンのターゲットはラベルselect2を指定します。
停止コンポーネントを配置します。
これで選択肢の作成は完了です。
⑤ラベルselect1の編集
(1) テキスト配置コンポーネントの配置
![](https://assets.st-note.com/img/1662432813084-7fsyO6ITp2.png?width=1200)
テキスト配置コンポーネントを配置します。
(2) iscriptコンポーネントの配置
![](https://assets.st-note.com/img/1662433073767-96PfFUbmwu.png?width=1200)
iscriptコンポーネントを配置します。
![](https://assets.st-note.com/img/1662433158477-qJ6qK5EFt9.png?width=1200)
下記のコードを貼り付けます。
$(function(){
tf.num;
const max = Number(f.dice);
const speed = 60; //シャッフルするスピード
const time = 1500; //シャッフルし続ける時間
let shuffle = function(){
tf.num = Math.floor(Math.random() * (max + 1));
$('.2_fore p').text(tf.num);
}
let dice = setInterval(shuffle, speed);
setTimeout(function() {
clearInterval(dice);
}, time);
});
(3) ジャンプコンポーネントの配置
![](https://assets.st-note.com/img/1662434141704-eOR6SEg27D.png?width=1200)
ジャンプコンポーネントを配置します。
ターゲットはラベルcheckを指定します。
これでラベルselect1の編集は完了です。
⑥ラベルselect2の編集
(1) テキスト配置コンポーネントの配置
![](https://assets.st-note.com/img/1662433718872-H860Qd5EVl.png?width=1200)
テキスト配置コンポーネントを配置します。
(2) iscriptコンポーネントの配置
![](https://assets.st-note.com/img/1662433811272-I8ABtus36B.png?width=1200)
iscriptコンポーネントを配置します。
![](https://assets.st-note.com/img/1662433926388-CQeEMpvbIm.png?width=1200)
下記のコードを貼り付けます。
$(function(){
tf.num;
const max = 25; //シャッフルする数字の最大値
const speed = 60; //シャッフルするスピード
const time = 1500; //シャッフルし続ける時間
let shuffle = function(){
tf.num = Math.floor(Math.random() * (max + 1));
$('.2_fore p').text(tf.num);
}
let dice = setInterval(shuffle, speed);
setTimeout(function() {
clearInterval(dice);
}, time);
});
(3) ジャンプコンポーネントの配置
![](https://assets.st-note.com/img/1662434172748-gao2IG0Wah.png?width=1200)
ジャンプコンポーネントを配置します。
ターゲットはラベルcheckを指定します。
これでラベルselect2の編集は完了です。
⑦ラベルcheckの編集
(1) ウェイトコンポーネントの配置
![](https://assets.st-note.com/img/1662434414744-xgyBhcLSIM.png?width=1200)
ウェイトコンポーネントを配置します。
(2) テキストコンポーネントの配置
![](https://assets.st-note.com/img/1662434657410-p28JD8i3c8.png?width=1200)
テキストコンポーネントを配置します。
(3) ティラノスクリプトコンポーネントの配置
![](https://assets.st-note.com/img/1662434866459-s6FsPyGErE.png?width=1200)
ティラノスクリプトコンポーネントを配置します。
![](https://assets.st-note.com/img/1662435005979-DOqmkfyO2Y.png?width=1200)
下記のコードを貼り付けます。
[if exp="tf.num >= 50"]
[elsif exp="tf.num <= 49"]
[endif]
これでラベルcheckの編集は完了です。
以上で解説を終わります。おつかれさまでした。
この記事が気に入ったらサポートをしてみませんか?