フラグの演算
*[val]...
変数(フラグ)を操作するコマンドです。valには通常、値を代入する変数(フラグ、アイテム、または文字列変数)を指定し、以降、自由に式を書くことが出来ます。
valの書式は以下のとおりです。
|
書式 |
解説 |
フラグ |
F(num) |
num番のフラグ(numは0〜8191) |
アイテム |
I(アイテム名) |
アイテム名で示されるアイテムの所持フラグ |
文字列変数 |
S(num) |
num番の文字列変数(numは0〜255) |
入力された文字列 |
X |
直前にプレイヤーが入力した文字列 |
*F(0)=100 |
0番目のフラグ変数「F(0)」に100を代入します。
*F(1)=3 |
F(1)に3を代入してから、F(1)に5を加算した値をF(0)に代入します(F(0)の値は3+5=8になります)。
*F(1)=3 |
F(1)の値(3)に2をかけて、1から引いた値をF(0)に代入します(F(0)の値は1-3*2=-5になります)
また、式の中にはフラグ、アイテム、文字列の他に、以下の項を指定出来ます。
|
書式 |
解説 |
数値 |
整数値 |
数値 |
文字列 |
''(シングルクォート)で囲む |
文字列 |
ランダム |
R(num) |
0〜numまでの数値 |
*S(0)='文字' |
文字列変数S(0)に「文字」という文字列を代入します。
*S(0)='文字' |
文字列に対して加算を行うと、文字列を足すことが出来ます。この例では、S(0)の「文字」に「です」が足され、S(1)は「文字です」という文字列になります。
演算子は以下のモノがあります。上に書いてあるものほど優先順位が高くなります。
優先順位 |
演算子 |
解説 |
1 |
前置++ |
インクリメント |
前置-- |
デクリメント |
|
単項- |
項を負値にする |
|
2 |
後置++ |
インクリメント |
後置-- |
デクリメント |
|
* |
乗算 |
|
/ |
除算 |
|
% |
剰余 |
|
3 |
+ |
加算 |
- |
減算 |
|
4 |
<< |
左シフト |
>> |
右シフト |
|
5(比較演算子) |
== |
等しい |
< |
小なり |
|
> |
大なり |
|
<= |
以下 |
|
>= |
以上 |
|
!=、<> |
等しくない |
|
=~ |
右側の文字列が左側の文字列に含まれている |
|
!~ |
右側の文字列が左側の文字列に含まれていない |
|
6 |
& |
論理積 |
| |
論理和 |
|
^ |
排他的論理和 |
|
7 |
&& |
条件and |
|| |
条件or |
|
8 |
?: |
三項演算子 |
9 |
= |
代入 |
+= |
加算して代入 |
|
-= |
減算して代入 |
|
*= |
乗算して代入 |
|
/= |
除算して代入 |
|
%= |
余りを求めて代入 |
|
&= |
andを求めて代入 |
|
|= |
orを求めて代入 |
|
^= |
xorを求めて代入 |
*GETITEM ノート
と
*I(ノート)=1
は、同じ意味になります。同様に、