WOLF RPGエディター(ウディタ)[3.333]/イベントコマンド【サイトトップへ戻る】
■演算子について
(更新:2024/05/03)


イベントコマンド【変数操作】【DB操作】【変数操作+】にある、
「=」「引上げ」「絶対値」などの演算子について解説します。



ショートカット
■[=][+][−][×][÷]
■[%]
■[引上げ][引下げ]
■[絶対値]
■[角度x10←傾き]
■[sin[x1000]角度][cos[x1000]角度]
■[ビット積]
■[〜]

【変数操作】【DB操作】【変数操作+】の設定方法は、各ページにある説明をご覧ください。
【変数操作のページを開く】
【DB操作のページを開く】
【変数操作+のページを開く】

設定によっては「÷」が「÷=」の表記になっていますが、「÷」も「÷=」も同じ意味です。
また「引き上げ」と「引上げ」も同じ意味です。


  
■[=][+][−][×][÷]

設定画面の表記 イベントコマンドの表記 説明
= 代入(だいにゅう)
変数の値を設定値を同じにします。
+ 加算(かさん)
変数の値に設定値を足します。
- 減算(げんさん)
変数の値から設定値を引きます。
× * 乗算(じょうさん)
変数の値に設定値を掛けます。
÷ / 除算(じょさん)
変数の値を設定値で割ります。

▲トップへ戻る▲


  
■[%]

設定画面の表記 イベントコマンドの表記 説明
% 余剰(よじょう)
変数の値を設定値で割って、その余り値を変数に設定します。

例えば…
■変数操作: このEvのSelf0 = 10 + 0
■変数操作: このEvのSelf0 %= 3 + 0
と言った場合は「10÷3=3・・・余り1」となり、セルフ変数[0]の値は「1」になります。

処理のイメージとしては、「10」に対して「3」の引き算を何度も行い、
「3未満(0〜2)」になった時点の値を変数に設定する形になります。



余剰の使い方としては、例えば変数の値を位ごとに分けるような処理を設定する時に使います。

以下はコモンイベントのセルフ変数[10]に保存された3桁の値(456)を、
セルフ変数[11〜13]へ位ごとに分ける場合の設定例です。

01
02
03
04
05
■変数操作: CSelf10[3桁の数値] = 456 + 0
■変数操作: CSelf11[百の位] = CSelf10[3桁の数値] / 100
■変数操作: CSelf12[十の位] = CSelf10[3桁の数値] / 10
■変数操作: CSelf13[一の位] = CSelf10[3桁の数値] + 0
■変数操作: CSelf12[十の位]〜CSelf13[一の位] %= 10 + 0

01 セルフ変数[10:3桁の数値]に「456」を設定しています。
02 セルフ変数[11:百の位]セルフ変数[10:3桁の数値](456)の値を「100」で割って、
セルフ変数[11:百の位]には「4」が設定されます。
03 セルフ変数[12:十の位]セルフ変数[10:3桁の数値](456)の値を「10」で割って、
セルフ変数[12:十の位]には「45」が設定されます。
04 セルフ変数[13:一の位]セルフ変数[10:3桁の数値](456)の値をそのまま設定しています。
05 セルフ変数[12:十の位]、[13:一の位]に「余剰10」を設定しています。
これにより「10」で割った余りの値が変数に設定されます。
セルフ変数[12:十の位]は「45」なので「45÷10=4・・・余り5」なので「5」が設定され、
セルフ変数[13:一の位]は「456」なので「456÷10=45・・・余り6」なので「6」が設定されます。

これで…
セルフ変数[11:百の位]=4
セルフ変数[12:十の位]=5
セルフ変数[13:一の位]=6
となり、セルフ変数[10:3桁の数値]の値が位ごとに別々の変数に設定されました。



上記の応用で6桁の数値を位ごとに変数に分けるような設定もできます。

■変数操作: CSelf11[十万の位] = CSelf10[6桁の数値] / 100000
■変数操作: CSelf12[万の位] = CSelf10[6桁の数値] / 10000
■変数操作: CSelf13[千の位] = CSelf10[6桁の数値] / 1000
■変数操作: CSelf14[百の位] = CSelf10[6桁の数値] / 100
■変数操作: CSelf15[十の位] = CSelf10[6桁の数値] / 10
■変数操作: CSelf16[一の位] = CSelf10[6桁の数値] + 0
■変数操作: CSelf12[万の位]〜CSelf16[一の位] %= 10 + 0



「-123」のようなマイナス値の場合で「余剰10」を設定した場合は「-3」になります。



なお、余剰の設定値はプラス値の「余剰10」でもマイナス値の「余剰-10」でも処理結果は変わりません。


▲トップへ戻る▲


  
■[引上げ][引下げ]

設定画面の表記 イベントコマンドの表記 説明
引上げ 下限 引上げ(ひきあげ)、下限(かげん)
最低値を設定し、それ以下の値を最低値に修正します。
「引上げ(下限)=10」にした場合は、
変数の値が「9以下」になると「10」に修正されます。
引下げ 上限 引下げ(ひきさげ)、上限(じょうげん)
最高値を設定し、それ以上の値を最高値に修正します。
「引下げ(上限)=10」にした場合は、
変数の値が「11以上」になると「10」に修正されます。


▲トップへ戻る▲


  
■[絶対値]

設定画面の表記 イベントコマンドの表記 説明
絶対値 絶対値 絶対値(ぜったいち)
マイナス値をプラス値に変え、
プラス値はプラス値のままになります。
変数の値が「-10」ならば「10」に変更。
変数の値が「-123」ならば「123」に変更。
変数の値がプラス値の「10」ならば「10」のままです。
なお、プラス値とマイナス値を逆転させたい時には、
「乗算-1」を実行してください。


▲トップへ戻る▲


  
■[角度[x10]←傾き]

設定画面の表記 イベントコマンドの表記 説明
角度[x10]←傾き 角度[x10]←傾き 【変数操作】の右辺に設定した
横と縦の長さから角度を算出します。
角度は10倍の値で設定されます。
例えば角度が「22.5度」だった場合は、
変数には「225」が設定されます。

角度は右を「0度」として、時計回りに数値が増えます。





角度の設定では【変数操作】の設定画面で、
右辺の左側に「中心からの横の距離」、
右辺の右側に「中心からの縦の距離」を設定します。



▼マップイベント[2]から見た主人公がいる角度
■変数操作+: このEvのSelf0 = 主人公 の 画面X座標
■変数操作+: このEvのSelf1 = 主人公 の 画面Y座標
■変数操作+: このEvのSelf0 -= このマップイベント の 画面X座標
■変数操作+: このEvのSelf1 -= このマップイベント の 画面Y座標
■変数操作: このEvのSelf2 = 角度[x10]←傾き X: このEvのSelf0 Y: このEvのSelf1

下図の右にいるマップイベントから見て、主人公までの距離(ピクセル値)が「X-64」「Y-32」だった場合、
マップイベントから見た主人公がいる角度は「2066」になります。



▲トップへ戻る▲


  
■[sin[x1000]←角度[x10]][cos[x1000]←角度[x10]]

設定画面の表記 イベントコマンドの表記 説明
sin[x1000]←角度[x10] sin[x1000]←角度[x10] 【変数操作】の右辺に設定した角度から
サイン値を算出します。 
角度(10倍値)が「200」だった場合は、
sin値(1000倍値)は「342」になります。
cos[x1000]←角度[x10] cos[x1000]←角度[x10] 【変数操作】の右辺に設定した角度から
コサイン値の算出します。
角度(10倍値)が「200」だった場合は、
cos値(1000倍値)は「939」になります。

「cos」と「sin」は、指定した角度で直線「1000」の距離を進む時の縦横の増減値を算出します。

「cos」は横の増減量であり、中心から右側がプラス値、左側がマイナス値になります。
「sin」は縦の増減量であり、中心から下側がプラス値、上側がマイナス値になります。

▼角度(水色の数字)と「cos」「sin」の値




角度「200」の場合は「cos=939、sin=342」になります。



仮に角度「200」で直線に1000ピクセル移動させた場合は、
「X+939ピクセル」「Y+342ピクセル」移動させる事になります。




▲トップへ戻る▲


  
■[ビット積]

設定画面の表記 イベントコマンドの表記 説明
ビット積 論理積 ビット積(せき)、論理積(ろんりせき)
【変数操作】の右辺の左右に設定した数値をそれぞれビット値にした上で、
両者のビット値で一致する値を呼び出します。

「ビット」はコンピュータ上の情報を保存する最小単位であり、「0」と「1」(二進法)で構成されます。
このビットの「0」と「1」を複数組み合わせて、変数の値などの大きな数値(十進法)を保存しています。

+8 +4 +2 +1 計算 10進法の数値
0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 0 2 2
0 0 1 1 2+1 3
0 1 0 0 4 4
0 1 0 1 4+1 5
0 1 1 0 4+2 6
0 1 1 1 4+2+1 7
1 0 0 0 8 8
1 0 0 1 8+1 9
1 0 1 0 8+2 10



この「ビット積」を使用すると【変数操作】の右辺の左右に設定した数値をビット値にし、
両者が一致するビット値のみを取り出します。



水色=右辺の左側の数値
黄色=右辺の右側の数値
ピンク=代入先の変数に保存される値

  1 2 3 4 5 6 7 8 9 10
1
0001
0001
0001=
1
0001
0010
0000=
0
0001
0011
0001=
1
0001
0100
0000=
0
0001
0101
0001=
1
0001
0110
0000=
0
0001
0111
0001=
1
0001
1000
0000=
0
0001
1001
0001=
1
0001
1010
0000=
0
2
0010
0001
0000=
0
0010
0010
0010=
2
0010
0011
0010=
2
0010
0100
0000=
0
0010
0101
0000=
0
0010
0110
0010=
2
0010
0111
0010=
2
0010
1000
0000=
0
0010
1001
0000=
0
0010
1010
0010=
2
3
0011
0001
0001=
1
0011
0010
0010=
2
0011
0011
0011=
3
0011
0100
0000=
0
0011
0101
0001=
1
0011
0110
0010=
2
0011
0111
0011=
3
0011
1000
0000=
0
0011
1001
0001=
1
0011
1010
0010=
2
4
0100
0001
0000=
0
0100
0010
0000=
0
0100
0011
0000=
0
0100
0100
0100=
4
0100
0101
0100=
4
0100
0110
0100=
4
0100
0111
0100=
4
0100
1000
0000=
0
0100
1001
0000=
0
0100
1010
0000=
0
5
0101
0001
0001=
1
0101
0010
0000=
0
0101
0011
0001=
1
0101
0100
0100=
4
0101
0101
0101=
5
0101
0110
0100=
4
0101
0111
0101=
5
0101
1000
0000=
0
0101
1001
0001=
1
0101
1010
0000=
0
6
0110
0001
0000=
0
0110
0010
0010=
2
0110
0011
0010=
2
0110
0100
0100=
4
0110
0101
0100=
4
0110
0110
0110=
6
0110
0111
0110=
6
0110
1000
0000=
0
0110
1001
0000=
0
0110
1010
0010=
2
7
0111
0001
0001=
1
0111
0010
0010=
2
0111
0011
0011=
3
0111
0100
0100=
4
0111
0101
0101=
5
0111
0110
0110=
6
0111
0111
0111=
7
0111
1000
0000=
0
0111
1001
0001=
1
0111
1010
0010=
2
8
1000
0001
0000=
0
1000
0010
0000=
0
1000
0011
0000=
0
1000
0100
0000=
0
1000
0101
0000=
0
1000
0110
0000=
0
1000
0111
0000=
0
1000
1000
1000=
8
1000
1001
1000=
8
1000
1010
1000=
8
9
1001
0001
0001=
1
1001
0010
0000=
0
1001
0011
0001=
1
1001
0100
0000=
0
1001
0101
0001=
1
1001
0110
0000=
0
1001
0111
0001=
1
1001
1000
1000=
8
1001
1001
1001=
9
1001
1010
1000=
8
10
1010
0001
0000=
0
1010
0010
0010=
2
1010
0011
0010=
2
1010
0100
0000=
0
1010
0101
0000=
0
1010
0110
0010=
2
1010
0111
0010=
2
1010
1000
1000=
8
1010
1001
1000=
8
1010
1010
1010=
10
  1 2 3 4 5 6 7 8 9 10



ビット値は基本的に「0=ない」「1=ある」と言った使い方をします。

ウディタの基本システムにはこの「ビット積」は使われていませんが、
ビット値と似たような使い方として、コモンイベント[004:○回復・ダメージ処理]の呼び出し設定にて…
1=HP回復
2=SP回復
4=ステータス異常の回復
と言った使い方をしています。

この場合、上記3つの数値を組み合わせる事で以下のように処理します。

+4
状態回復
+2
SP回復
+1
HP回復
計算 設定値 処理内容
0 0 1 1 1 HP回復
0 1 0 2 2 SP回復
0 1 1 2+1 3 HP回復+SP回復
1 0 0 4 4 ステータス異常の回復
1 0 1 4+1 5 HP回復+ステータス異常の回復
1 1 0 4+2 6 SP回復+ステータス異常の回復
1 1 1 4+2+1 7 HP回復+SP回復+ステータス異常の回復


▲トップへ戻る▲


  
■[〜]

設定画面の表記 イベントコマンドの表記 説明
乱数(らんすう)を実行します。
右辺の左右に設定した数値の範囲で、
コンピュータが1つの値を作成します。

例えば…
■変数操作: このEvのSelf0 = 1 〜 100
と言った設定の場合、コンピュータが「1〜100」の中から1つの値をランダムで設定します。

ランダムなので上記設定を実行する度に、
変数の値が「12」になったり「58」になったり、同じ値が2回続いたりします。

【乱数の説明を見る】


▲トップへ戻る▲



◎関連ページ

◆「イベントコマンド」って何?
┣◆文章の表示
┃┗◆特殊文字
┣◆選択肢
┃┗◆【使用例】選択肢
┣◆変数操作
┃┗◆演算子について
┣◆DB操作
┣◆文字列操作
┃┗◆【使用例】文字列操作
┣◆変数操作+
┃┣◆「X座標・Y座標」と「画面X座標・画面Y座標」の違い
┃┣◆【使用例】変数操作+の「キャラ」と「位置」
┃┗◆【使用例】変数操作+の「ピクチャ」と「その他」
┣◆条件(変数)
┣◆条件(文字列)
┣◆キー入力
┃┗◆【使用例】キー入力
┣◆ピクチャ
┃┗◆表示形式(通常・加算・減算・乗算)について
┣◆エフェクト
┃┣◆「Zオーダー」について
┃┗◆【使用例】エフェクト
┣◆サウンド
┣◆セーブ・ロード操作
┣◆パーティ画像
┣◆チップ処理
┃┗◆【使用例】チップ処理
┣◆場所移動
┣◆イベント制御
┃┣◆キャラクターの動作指定
┃┗◆【使用例】イベント制御
┣◆コモンイベント
┣◆ダウンロード
┗◆プロ版機能
 ┗◆起動時の引数について

YADOT-WOLFトップ  気紛れな空間へ戻る  メール