ページ 11

≪解決!≫【RGSS3】乱数を用いて下限を整数、上限を『変数』で指定可能か?

Posted: 2020年6月08日(月) 22:08
by デビルバスター
デビルバスターです。
乱数を用いてアイテムを入手するという手段を作っているのですが、
スプリクト指示、
『$game_variables[14] = rand(1..$game_variables[22])』で上限を変数で作っているのですが、
これだとエラーが出てしまいます。(ちなみに1行で納められるます。
上限を変数で用いることは不可能でしょうか?

Re: 【RGSS3】乱数を用いて下限を整数、上限を『変数』で指定可能か?

Posted: 2020年6月09日(火) 07:35
by faida
rand(n)には整数のみ指定できます。
nは乱数の幅で、得られる結果は「0~n-1までの乱数」ですね。

下限を設定するのには、rand(n)に整数を足すといった手法が用いられています。
そして、下限の分、上限から値を差し引くことで、乱数の幅を調整します。
(スクリプトエディタで「rand」を全体検索すると、そのような方法を用いていることがあります。)

コード: 全て選択

$game_variables[14] = 1 + rand($game_variables[22] - 1)
こんな感じでどうでしょう。

Re: 【RGSS3】乱数を用いて下限を整数、上限を『変数』で指定可能か?

Posted: 2020年6月09日(火) 18:44
by デビルバスター
動作確認いたしました。
私の想像通りの出来です!
ありがとうございました!