RPGツクール2000/スイッチ・変数【サイトトップへ戻る】
■「剰余」って何?
(更新:2020/06/28)


イベントコマンド:変数の操作の中に剰余(じょうよ)と言う設定があります。



これは割り算の計算で出た余りの値を変数へ設定するものです。



◆変数の操作:[0001]代入,15
◆変数の操作:[0001]剰余,5
この場合は「15÷5=3…余り0」なので、
変数0001番には「0」が設定されます。

◆変数の操作:[0001]代入,16
◆変数の操作:[0001]剰余,5
この場合は「16÷5=3…余り1」なので、
変数0001番には「1」が設定されます。

このように割り算の「余り」を出したい時に使います。



剰余4」を実行した場合は…

と言ったように値が変化します。

処理のイメージとしては、
4未満(0〜3)になるまで「減算4」を実行し続けるような感じになります。



剰余はかなりマニアックな設定なので、使わない人は多分永遠に使わないと思います。

ただ自作メニューや自作戦闘、RPG以外の作品を作る時には剰余を使う事があるので、
使い方は覚えておいた方が良いでしょう。


▲トップへ戻る▲


  
■使用例

いくつかの使用例を紹介します。



▼3桁のHPを1桁ずつ変数に分ける

ピクチャーやマップイベントを使って主人公のHPを表示する場合、
通常は1桁ずつ分けて表示します。

@ ◆変数の操作:[0001〜0003]代入,主人公01のHP
A ◆変数の操作:[0003:百の位]除算,100
B ◆変数の操作:[0002:十の位]除算,10
C ◆変数の操作:[0001〜0002]剰余,10

▼主人公のHPが「753」の場合の変数の値の変わり方
@:変数[0001][0002][0003]のそれぞれに「753」を代入。
A:変数[0003]を除算100にして「753」を「7」にする。
B:変数[0002]を除算10にして「753」を「75」にする。
C:変数[0001][0002]を剰余10にして、
  変数[0002](十の位)は「75」を「5」、
  変数[0001](一の位)は「753」を「3」とする。

これで…
変数[0003:百の位]=7
変数[0002:十の位]=5
変数[0001:一の位]=3
になります。



▼タイマーの残り時間を「分」と「秒」に分ける

イベントコマンド:タイマーの操作を使ってタイマーを動かしている時には、
イベントコマンド:変数の操作を使って、
タイマーの残り時間を変数の値として代入する事ができます。

この時にタイマーの残り時間は「秒単位」で代入されるので、
もしも「〜分〜秒」と文章で表示したい時には、
「分」と「秒」を別々の変数に分ける必要があります。

このような処理の時に「剰余」を使うと便利です。

◆変数の操作:[0001〜0002]代入,タイマーの残り秒数
◆変数の操作:[0001:分]除算,60
◆変数の操作:[0002:秒]剰余,60
◆文章:残り時間は、\V[1]分\V[2]秒です。

タイマーの残り時間が「912秒」の場合は、
残り時間は、15分12秒です。」と表示されます。



▼加算し続けた値をゼロに戻す

変数の値を加算し続けて、値が「10」になったら、
変数の値を「0」へ戻したい時には、以下のような設定ができます。

◆変数の操作:[0001:カーソル位置]加算,1
◆変数の操作:[0001:カーソル位置]剰余,10



▼乱数の幅を変える

乱数の設定では「乱数[0〜99]」などと乱数の幅を決めておく必要があります。

しかし自作エンカウントなどで、
歩いていると徐々に敵の出現率を上げていきたい時には、
歩く度に[0〜99][0〜98][0〜97]と乱数の幅を小さくする必要があり、
大量の乱数の設定が必要になります。

このような場合は、予め[0〜999999]の乱数を実行しておき、
剰余を使って決められた乱数の範囲に変わるようにすると良いでしょう。

◆変数の操作:[0001:乱数]代入,乱数[0〜999999]
◆変数の操作:[0001:乱数]剰余,変数[0002]の値

この設定では変数0002番の値を「86」にすると、乱数の範囲が「0〜85」になります。

そして変数0002番の値を「85」「84」「83」と徐々に小さくすると、
乱数の範囲も「0〜84」「0〜83」「0〜82」と徐々に小さくなります。


▲トップへ戻る▲



◎関連ページ

●「変数」って何?
●「乱数」って何?
●イベントコマンド:変数の操作

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