FC2ブログ

何かに使えるかもしれないScript②

これはスクリプトを自作する人向けです。
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 は現在所持しているアイテムの配列

何かできそうな気がしませんか?(・ω・)できる気がするのは私だけでしょうか。

テーマ : RPGツクール
ジャンル : ゲーム

コメントの投稿

非公開コメント

No title

生のままでも、イベントの条件分岐で使えそうですね。
あとは、プレイヤー側が習得しているスキルが、一時的にグチャグチャにされてしまう敵スキルとか!?

No title

>スキルがグチャグチャ
その発想はできませんでしたΣ
ポケモンの「ゆびをふる」のような、ランダムに技が発生するスキルとかは思いついたのですけど。
プロフィール

ぶちょー

Author:ぶちょー
現在、ばにくら継章をRPGツクールVXAceで製作しています。

最新記事
最新コメント
カテゴリ
検索フォーム
リンク
RSSリンクの表示