ごいしはまぐり

ノベルゲーム制作サークル「ごいしはまぐり」紹介の他、映画紹介やティラノスクリプト等、メンバーの記事を寄せ集めています。


ティラノスクリプト

ティラノスクリプト備忘録44
ランダムシナリオ

投稿日:2020年2月9日 更新日:

 こんにちは!今回はランダムでシナリオを表示するコードを作成しました。

 今回のテスト内容は10つのシナリオの内、ランダムで3つを表示した後にエンディングに進むという作品に使用できます。

まずは動画とコードをご覧ください。





*start
ランダムシナリオテスト開始[p]
[iscript]

//シャッフル設定
function arrShuffle(arr){
  var len = arr.length;
  while(len > 0){
    var rnd = Math.floor(Math.random() * len);
    var tmp = arr[len-1];
    arr[len-1] = arr[rnd];
    arr[rnd] = tmp;
    len-=1;
  }
}

//配列を生成
var arr = [1,2,3,4,5,6,7,8,9,10];
 
//配列をシャッフルする
arrShuffle(arr);

//配列をゲーム変数へ
f.ran1 = arr[0];
f.ran2 = arr[1];
f.ran3 = arr[2];

[endscript]

;ループカウンタ
[eval exp="f.cnt=1"]

;ループ開始位置
*loopstart

;ジャンプ先ラベル設定
[iscript]
if (f.cnt==1) {
f.label = "*"+f.ran1;
}
else if (f.cnt==2) {
f.label = "*"+f.ran2;
}
else if (f.cnt==3) {
f.label = "*"+f.ran3;
}
[endscript]

[jump target=&f.label]

;ジャンプ先ラベル
*1
1のラベルを表示[p]
[jump target=*labelend]
*2
2のラベルを表示[p]
[jump target=*labelend]
*3
3のラベルを表示[p]
[jump target=*labelend]
*4
4のラベルを表示[p]
[jump target=*labelend]
*5
5のラベルを表示[p]
[jump target=*labelend]
*6
6のラベルを表示[p]
[jump target=*labelend]
*7
7のラベルを表示[p]
[jump target=*labelend]
*8
8のラベルを表示[p]
[jump target=*labelend]
*9
9のラベルを表示[p]
[jump target=*labelend]
*10
10のラベルを表示[p]
[jump target=*labelend]

*labelend

;ループカウント3の時*loopendへジャンプ
[jump target=*loopend cond="f.cnt==3"]

;ループカウント+1する
[eval exp="f.cnt=f.cnt+1"]

;ループ最初に戻る
[jump target=*loopstart]

*loopend

ランダムシナリオテスト終了[p]
[jump target=*start]


 以前、記事にも書きましたループ処理の合わせ技です。

 コードが少し長くなりましたが、そのままコピーして使えるコードです。
 1行目と97行目はランダムの検証のために入れたので、実際に使用する際は削除して下さい。

 10つのシナリオではなく、5つのシナリオの中から…という場合は18行目の配列の数を変えて下さい。

 3つランダムではなく、5つランダムで…という場合は23行目以降、ゲーム変数に入れるのを増やして下さい。また、37行目以降のジャンプ先ラベル設定と85行目以降のループする回数を変更して下さい。

 不明点は https://twitter.com/oOPonkaOo ツイッターDM等で頂ければお答えいたします。



それではまた!



ごいしはまぐりではブラウザでプレイできるノベルゲームも制作しております。
作品一覧はこちらです。

  
皆さまの応援が励みになります。アクセスアップのためクリックして頂けると幸いですm(_ _)m

-ティラノスクリプト

執筆者:


comment

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

関連記事

ティラノスクリプト備忘録17
広告収入を得よう

2020/07/03 広告常時表示方法を追加  自身の作ったゲームで収入を得る… ゲーム開発者なら一度は考えることではないでしょうか。 今回はティラノスクリプトやティラノビルダーを使って収益化、広告収 ...

ティラノスクリプト備忘録31
タグ[l][r][p]について

 こんにちは!今回はティラノスクリプトで一番多く使うタグ[l][r][p]についてです。 まずは改行[r]とページ送り[p]の具体例です。 改行サンプル 改行テストです[p] 一行目を表示します[r] ...

ティラノスクリプト備忘録30
ティラノビルダーでティラノスクリプトを使う

 こんにちは!今回はティラノビルダーでティラノスクリプトを使用する方法についてです。 ティラノビルダーは直感でノベルゲームを作ることが出来て非常に便利なツールです。そこでティラノスクリプトを使えるよう ...

ティラノスクリプト備忘録29
正規表現でタグ[]を消す

 こんにちは!今回は正規表現と置換を使ってタグを消します。 こちらのテクニックは例えばこんな時に便利です。 スクリプトを打ち始めたが…「もう一度シナリオの見直しをしたい」「ボイスを追加したくなった。依 ...

ティラノスクリプト備忘録1 アイキャッチ

ごいしはまぐりのアドベンチャーゲームの作品は基本的にティラノスクリプトを使用しているのですが、備忘録も兼ねて「コピーしてすぐに使える一連のタグ」を記録していきます。まず第1弾は「アイキャッチ」。アニメ ...

アーカイブ