
何かに使えるかもしれないScript②
これはスクリプトを自作する人向けです。
配列(Array)に新しい関数を追加します。
※ 12/06/08 平均値(ave)を追加
①総和
たとえば
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
という配列があったとして、
array.sum
とすると、配列内の数値をすべて足して、55を返します。
ちなみにこの関数、
array = ["1", "2", ...]
と、配列の中が文字でも、整数に変換可能なら、問題なく計算します。
②総和(フロート)
①とほぼ同じだけど、
array.sum_f
とすると、配列内の要素をフロート(浮動小数点数)で計算して返します。
上のarrayであった場合、55.0を返します。
③平均値
array.ave
とすると、要素内の数値の平均値をフロートで返します。
④ランダム取得
配列内の要素をランダムに取得します。
array.sel
とすると、array内の1~10のどれかを取得します。
このランダム取得のいいところは、配列ならなんでも可能である点です。
ツクールVXで、
パーティメンバーの情報を取得できる、 $game_party.members は、各アクターデータが格納された配列です。
なので、
$game_party.members.sel
とすると、パーティ内のアクターをランダムに取得することができます。何かできそう!(`・ω・´)
ツクールVX上にある配列データといえば、例えば、
$data_items はデータベース上のアイテムの配列
$data_skills はデータベース上のスキルの配列
actor.skills はそのアクターが覚えているスキルの配列
actor.equips はそのアクターが装備しているアイテムの配列
$game_party.items は現在所持しているアイテムの配列
何かできそうな気がしませんか?(・ω・)できる気がするのは私だけでしょうか。
class Array
def sum
num = 0
for i in self do num += i.to_i end
return num
end
def sum_f
num = 0
for i in self do num += i.to_f end
return num
end
def ave
return 0 if self.empty?
return sum_f / self.size
end
def sel
return nil if self.empty?
return self[rand(self.size)]
end
end
配列(Array)に新しい関数を追加します。
※ 12/06/08 平均値(ave)を追加
①総和
たとえば
array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
という配列があったとして、
array.sum
とすると、配列内の数値をすべて足して、55を返します。
ちなみにこの関数、
array = ["1", "2", ...]
と、配列の中が文字でも、整数に変換可能なら、問題なく計算します。
②総和(フロート)
①とほぼ同じだけど、
array.sum_f
とすると、配列内の要素をフロート(浮動小数点数)で計算して返します。
上のarrayであった場合、55.0を返します。
③平均値
array.ave
とすると、要素内の数値の平均値をフロートで返します。
④ランダム取得
配列内の要素をランダムに取得します。
array.sel
とすると、array内の1~10のどれかを取得します。
このランダム取得のいいところは、配列ならなんでも可能である点です。
ツクールVXで、
パーティメンバーの情報を取得できる、 $game_party.members は、各アクターデータが格納された配列です。
なので、
$game_party.members.sel
とすると、パーティ内のアクターをランダムに取得することができます。何かできそう!(`・ω・´)
ツクールVX上にある配列データといえば、例えば、
$data_items はデータベース上のアイテムの配列
$data_skills はデータベース上のスキルの配列
actor.skills はそのアクターが覚えているスキルの配列
actor.equips はそのアクターが装備しているアイテムの配列
$game_party.items は現在所持しているアイテムの配列
何かできそうな気がしませんか?(・ω・)できる気がするのは私だけでしょうか。
スポンサーサイト