ページ 11

変数について

Posted: 2019年2月27日(水) 13:14
by hogehoge
変数についての質問です。

変数に乱数を代入する場合、「1〜5」など範囲で指定しますが、「1もしくは5」といった、範囲指定ではない方法で乱数を指定することは出来ますでしょうか。

Re: 変数について

Posted: 2019年2月27日(水) 18:21
by 剣崎 宗二
仰る通り(1か5のどちらになるように)であれば、変数に入れる際に以下のスクリプト

コード: 全て選択

[1,5][Math.floor(Math.random() * 2)];


となります。


尚、これを一般化すると

[,で区切った要素リスト][Math.floor(Math.random() * 要素の数)];

となります。

Re: 変数について

Posted: 2019年3月01日(金) 11:09
by hogehoge
返信ありがとうございます!助かりました!

ついでといっては不躾なのですが、「1〜5」の範囲指定から「3」を除外して乱数を代入する場合、どのような形になりますでしょうか。
教えていただければ幸いです。

Re: 変数について

Posted: 2019年3月01日(金) 21:17
by 剣崎 宗二
上記の応用で1,2,4,5をリストに入れれば良いのではないでしょうか。

Re: 変数について

Posted: 2019年3月01日(金) 22:48
by hogehoge
剣崎 宗二 さんが書きました:上記の応用で1,2,4,5をリストに入れれば良いのではないでしょうか。

すみません、質問の仕方が良くありませんでした…

「3」にあたる部分に変数を代入したいと思っております。
範囲が「1、2、4、5」除外する数字が「3」と、最初からわかっているのではなく、◯〜△までの範囲から数字をランダムに選ぶ時、変数に格納された特定の数字のみを除外する、という動きをさせたいと思い質問させていただきました。
何度も申し訳ありません。お答えいただけたら幸いです。

Re: 変数について

Posted: 2019年3月02日(土) 00:20
by 剣崎 宗二
であれば、ランダムで生成した数に対して分岐判定し、若しも除外すべき数だったのであれば、違う数になるまでラベルジャンプを使って「もう一度生成」をやり続ける、と言うのが宜しいでしょう。

正しく一発で生成する方法もございますが、上の式のように簡単にできる事ではなく、自分でやや長めのスクリプトを書く事に成るので割に合わないと考えます。

Re: 変数について

Posted: 2019年3月05日(火) 11:19
by hogehoge
ご返信ありがとうございます!
スクリプトのみでやるよりデフォルトの機能を使った方が得策という事ですね。
ラベルジャンプでイベントを組んでみようと思います。ありがとうございました!