栞代わりの制作メモ

・ツクールやMMF2などで作ったモノや できるまで

ツクールVX:複数の変数の最大値、最小値

RPGステがめん
ブログを書かない日々が続いていました。
気づけば、blog2周年ですね。

現在は、ちょっとした短編を作ろうかと
こそっと作業しています。

さて、今回はRPGツクールVX ACEで
複数の変数を比較して
最大、最小で分岐する方法を
メモっておきたいと思います。
サムライ衰退記の頃から使ってるテクニックですが
今まで書いてなかったのでいい機会だと思ったので。
続きを読むに続く。
とりあえず、変数1~4から1番大きな変数を
変数6に代入するイベントはこんな感じです。
max seeker event


やっていることは
①変数1~4の値のうち、最大のものを変数5に代入。
②変数5(つまり、最大値)と等しい変数を探し
その変数の番号を変数6に代入。

スクリプトコマンド
a = $game_variables[n]
※aに変数nを代入する。

ポイントはスクリプトコマンドの
[a,b,c,d].max
これは、a,b,c,d の値から最大のものを出すというコマンドです。

例えば、[10,-3,4,21].max
だったら 21 になります。

また、カンマの数で多くの数を扱うことができるので
20個の変数から 最大のものはどれかを探すこともできます。

あとは、最大の値と等しい変数を探せばいいだけなので
(変数1が最大値と等しい、変数6に1に代入して
変数6の条件で後で分岐させる)
条件分岐も変数の数だけあればいい点もけっこうスマートです。

似たようなコマンドで
[a,b,c].min
でa~cのなかから最小値を求めるということも可能です。

ちなみに 条件分岐が変数4と等しいかどうか
からチェックしているのは
変数の中で、最大値が2つ以上あった場合に
変数の番号が小さいものから優先するようにするためです。
(例 変数2と変数4 が共に最大値だったら
まず、変数4=変数5 で変数6に4代入、
次に 変数2=変数5 で変数6に2が代入されるので
最終的に後の分岐のほうが優先されるため)

使い方としては
・4人のキャラから好感度の最も高いキャラとイベントが発生。
・HPの一番低いキャラを狙ってくる敵キャラ。
・攻撃力の一番高いキャラが50以上なら逃げ出してしまう臆病な敵。
などなどあります。

また、こんな使い方もありますね。
damage max

戦闘計算式にもこのmax,minは使えます。
これは見ろ! 金が山(ごみ)のようだ!!の通常攻撃の戦闘式です。
この場合は、攻撃力×4-防御力×2 か 20 のうちの
大きい方が戦闘式に使用されます。
少なくとも20ダメージを与えるスキルといった使い方もできます。
関連記事
スポンサーサイト

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

コメント

製作者様初めまして。

J-tr様、初コメ失礼致します。
私は現在、Youtubeの方で実況動画を投稿している者です。
先日、ふりーむで見つけた製作者様の「見ろ! 金が山(ゴミ)のようだ!!」に興味を持ち、実況させていただきたいと思いコメントをさせていただきました。そのため、よろしければ実況動画投稿の許可を頂きたいと思っております。
もし許可を頂けるのであれば、実況動画投稿の際の規則などもあれば教えていただきたいです(EDは投稿禁止だとか、収益化はNGだとか・・・)。

お忙しいとは思いますが、何卒よろしくお願いいたします。

  • 2014/09/15(月) 22:34:22 |
  • URL |
  • takigyousou #-
  • [ 編集 ]

takigyousou 様。
どうも、コメントありがとうございます。
実況動画に関しては 基本的にご自由にどうぞ、という
スタンスをとっています。
常識の範囲内であれば どんな実況であっても、許可しますし
許可自体も基本的にはなくても 実況やって頂いてもOKです。
個人で作ったものですので、ゆるゆるにしてます。

そのため、細かいルールもありませんし
EDまでとって頂いても全く問題ありません。

  • 2014/09/17(水) 00:13:44 |
  • URL |
  • J-tr #yh3wl5gY
  • [ 編集 ]

J-tr様、返信および実況許可を下さりありがとうございます。
これからもゲーム制作を頑張ってください。

  • 2014/09/17(水) 08:02:01 |
  • URL |
  • takigyousou #-
  • [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://jtrshiogawa.blog.fc2.com/tb.php/163-9cf48dca
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad