複数の変数の最小値と最大値

DAMEDAMOUOSIMAIDA

ユーザー
複数の変数の最大値を抽出する場合
VXACEならスクリプトコマンドで[a,b,c,d].maxでいいみたいですが
(スクリプトコマンドでa = $game_variables[n])
MVやMZでは$gameVariables._data[a]等を使って全ての変数を比較しないといけないのでしょうか?
もし[a,b,c,d].maxみたいなスクリプトコマンドがMZで使えればいいのですが・・・。
 

chronicle

ユーザー
応用ですが、こういう書き方も出来ます。
[1, 2, 3]内の数値が変数番号で、任意の数だけ追加出来ます。
コード:
//最大値
Math.max(...[1, 2, 3].map(n => $gameVariables.value(n)));

//最小値
Math.min(...[1, 2, 3].map(n => $gameVariables.value(n)));

解説追記:
1.mapメソッドで変数番号から、変数の値の新しい配列を作成。
[1, 2, 3].map(n => $gameVariables.value(n))

2.スプレッド演算子...で、作成された配列を引数として渡す。(配列の要素は数万以内が条件)
 
最後に編集:

DAMEDAMOUOSIMAIDA

ユーザー
某所で総当たり比較法で導き出すスクリプト(コモンイベントだったのかもしれない)
を見た時は真っ青になってしまいました
まさにこの方法を探していました。
ありがとうございます。
 
トップ