RPGツクール2000/スイッチ・変数
■パーセントの計算
(更新:2016/08/23)


パーセントの計算は、通常は「A÷B×100」と言った計算式ですが、
整数しか扱えないRPGツクール2000で計算しますと、
25%」や「70%」などの計算結果が全て「0%」になってしまいます。

そこで「A×100÷B」と先に100倍してから割るようにしますと、
「25%」や「70%」などの結果を出す事ができます。

▼主人公のHPが何パーセント残っているのかを調べる時の設定例
◆変数の操作:[0001:パーセント]代入,主人公01のHP
◆変数の操作:[0001:パーセント]乗算,100
◆変数の操作:[0001:パーセント]除算,主人公01の最大HP




☆5桁以上のパーセント計算
上記のパーセントの計算では「乗算100」を実行しますので、
5桁以上の数値を計算しますと、変数の値の上限である999999を超えてしまい、
正確なパーセントの計算を行う事ができません。

5桁以上になる場合は、以下のように設定にしてください。
▼5桁以上のパーセント計算の設定例
◆変数の操作:[0001:パーセント]代入,〜現在値〜
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆変数の操作:[0002:最大値計算]除算,100
◆変数の操作:[0001:パーセント]除算,変数[0002]の値




最大値が4桁以下も5桁以上もある時には、
両方に対応できるようにした方が良いでしょう。
▼4桁以下と5桁以上の両方を設定した設定例
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆条件分岐:変数[0002:最大値計算]が10000以上(オプション:ON)<最大値が5桁以上の時
 ◆変数の操作:[0001:パーセント]代入,〜現在値〜
 ◆変数の操作:[0002:最大値計算]除算,100
 ◆変数の操作:[0001:パーセント]除算,変数[0002]の値
 ◆
:それ以外の場合<最大値が4桁以下の時
 ◆変数の操作:[0003:パーセント]代入,〜現在値〜
 ◆変数の操作:[0003:パーセント]乗算,100
 ◆変数の操作:[0003:パーセント]除算,〜最大値〜
 ◆
:分岐終了




☆計算結果を文章ウィンドウに表示
制御文字\V[半角変数番号]を利用する事で、
文章ウィンドウに変数の値を表示する事ができます。

▼設定例
◆変数の操作:[0001:パーセント]代入,主人公01のHP
◆変数の操作:[0001:パーセント]乗算,100
◆変数の操作:[0001:パーセント]除算,主人公01の最大HP
◆文書:残りHP:\V[1]%


▼表示結果(現在HP:38/最大HP:48)




さらに現在のHPなどを変数に代入すれば、
パーセントの表示と一緒に表示する事もできます。
▼設定例
◆変数の操作:[0001:HP]代入,主人公01のHP
◆変数の操作:[0002:最大HP]代入,主人公01の最大HP
◆変数の操作:[0003:パーセント]代入,主人公01のHP
◆変数の操作:[0003:パーセント]乗算,100
◆変数の操作:[0003:パーセント]除算,主人公01の最大HP
◆文書:  HP:\V[1]
:  :最大HP:\V[2]
:  :残りHP:\V[3]%


▼表示結果




☆小数点以下の表示
小数点以下(0.1単位)まで表示したい時には、以下のように設定してください。

▼3桁以下の設定例
◆変数の操作:[0001〜0002]代入,主人公01のHP
◆変数の操作:[0001〜0002]乗算,1000
◆変数の操作:[0001〜0002]除算,主人公01の最大HP
◆変数の操作:[0001:パーセント]除算,10
◆変数の操作:[0002:パーセント0.1]剰余,10
◆文書:残りHP:\V[1].\V[2]%


▼表示結果(現在HP:38/最大HP:48)




4桁以上になる場合は、以下のように設定してください。

▼4桁の設定例
◆変数の操作:[0001〜0002]代入,〜現在値〜
◆変数の操作:[0001〜0002]乗算,100
◆変数の操作:[0003:最大値計算]代入,〜最大値〜
◆変数の操作:[0003:最大値計算]除算,10
◆変数の操作:[0001〜0002]除算,変数[0003]の値
◆変数の操作:[0001:パーセント]除算,10
◆変数の操作:[0002:パーセント0.1]剰余,10
◆文書:残りHP:\V[1].\V[2]%


▼5桁の設定例
◆変数の操作:[0001〜0002]代入,〜現在値〜
◆変数の操作:[0001〜0002]乗算,10
◆変数の操作:[0003:最大値計算]代入,〜最大値〜
◆変数の操作:[0003:最大値計算]除算,100
◆変数の操作:[0001〜0002]除算,変数[0003]の値
◆変数の操作:[0001:パーセント]除算,10
◆変数の操作:[0002:パーセント0.1]剰余,10
◆文書:残りHP:\V[1].\V[2]%


▼6桁の設定例
◆変数の操作:[0001〜0002]代入,〜現在値〜
◆変数の操作:[0003:最大値計算]代入,〜最大値〜
◆変数の操作:[0003:最大値計算]除算,1000
◆変数の操作:[0001〜0002]除算,変数[0003]の値
◆変数の操作:[0001:パーセント]除算,10
◆変数の操作:[0002:パーセント0.1]剰余,10
◆文書:残りHP:\V[1].\V[2]%


▼1〜6桁に対応した設定例
◆変数の操作:[0001〜0002]代入,〜現在値〜
◆変数の操作:[0003:最大値計算]代入,〜最大値〜
◆条件分岐:変数[0003:最大値計算]が100000以上(オプション:ON)<最大値が6桁の時
 ◆変数の操作:[0003:最大値計算]除算,1000
 ◆
:それ以外の場合<最大値が5桁以下の時
 ◆条件分岐:変数[0003:最大値計算]が10000以上(オプション:ON)<最大値が5桁の時
  ◆変数の操作:[0001〜0002]乗算,10
  ◆変数の操作:[0003:最大値計算]除算,100
  ◆
 :それ以外の場合<最大値が4桁以下の時
  ◆条件分岐:変数[0003:最大値計算]が1000以上(オプション:ON)<最大値が4桁の時
   ◆変数の操作:[0001〜0002]乗算,100
   ◆変数の操作:[0003:最大値計算]除算,10
   ◆
  :それ以外の場合<最大値が3桁以下の時
   ◆変数の操作:[0001〜0002]乗算,1000
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0001〜0002]除算,変数[0003]の値
◆変数の操作:[0001:パーセント]除算,10
◆変数の操作:[0002:パーセント0.1]剰余,10
◆文書:残りHP:\V[1].\V[2]%




☆小数点以下を四捨五入
0.5%の時に「1」に繰り上げてパーセントを出す設定例です。

▼3桁の設定例
◆変数の操作:[0001:パーセント]代入,主人公01のHP
◆変数の操作:[0001:パーセント]乗算,1000
◆変数の操作:[0001:パーセント]除算,主人公01の最大HP
◆変数の操作:[0001:パーセント]加算,5
◆変数の操作:[0001:パーセント]除算,10
◆文書:残りHP:\V[1]%


▼表示結果(HP:35/最大HP:48/パーセント:72.8%)




4桁以上になる場合は、以下のように設定してください。

▼4桁の設定例
◆変数の操作:[0001:パーセント]代入,〜現在値〜
◆変数の操作:[0001:パーセント]乗算,100
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆変数の操作:[0002:最大値計算]除算,10
◆変数の操作:[0001:パーセント]除算,変数[0002]の値
◆変数の操作:[0001:パーセント]加算,5
◆変数の操作:[0001:パーセント]除算,10
◆文書:残りHP:\V[1]%

▼5桁の設定例
◆変数の操作:[0001:パーセント]代入,〜現在値〜
◆変数の操作:[0001:パーセント]乗算,10
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆変数の操作:[0002:最大値計算]除算,100
◆変数の操作:[0001:パーセント]除算,変数[0002]の値
◆変数の操作:[0001:パーセント]加算,5
◆変数の操作:[0001:パーセント]除算,10
◆文書:残りHP:\V[1]%

▼6桁の設定例
◆変数の操作:[0001:パーセント]代入,〜現在値〜
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆変数の操作:[0002:最大値計算]除算,1000
◆変数の操作:[0001:パーセント]除算,変数[0002]の値
◆変数の操作:[0001:パーセント]加算,5
◆変数の操作:[0001:パーセント]除算,10
◆文書:残りHP:\V[1]%

▼1〜6桁に対応した設定例
◆変数の操作:[0001:パーセント]代入,〜現在値〜
◆変数の操作:[0002:最大値計算]代入,〜最大値〜
◆条件分岐:変数[0002:最大値計算]が100000以上(オプション:ON)
 ◆変数の操作:[0002:最大値計算]除算,1000
 ◆
:それ以外の場合
 ◆条件分岐:変数[0002:最大値計算]が10000以上(オプション:ON)
  ◆変数の操作:[0001:パーセント]乗算,10
  ◆変数の操作:[0002:最大値計算]除算,100
  ◆
 :それ以外の場合
  ◆条件分岐:変数[0002:最大値計算]が1000以上(オプション:ON)
   ◆変数の操作:[0001:パーセント]乗算,100
   ◆変数の操作:[0002:最大値計算]除算,10
   ◆
  :それ以外の場合
   ◆変数の操作:[0001:パーセント]乗算,1000
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了
◆変数の操作:[0001:パーセント]除算,変数[0002]の値
◆変数の操作:[0001:パーセント]加算,5
◆変数の操作:[0001:パーセント]除算,10
◆文書:残りHP:\V[1]%




◎関連ページ
 ●制御文字と外字
 ●イベントコマンド:変数の操作


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール