AIRNovel テクニック wiki (非公式) menu_button

If、Elseif、Else

作成日:2017.03.26、最終更新日:

if

1つの条件で行う操作が1つだけの場合

例えば、iが10未満の場合はiに1を足すだけのような場合。
VBA:If i < 10 Then i = i + 1
AS:if(i < 10) i += 1;
というような1行で済ませてしまう場合は、cond=で条件を満たした場合のみタグを実行するようにするのが楽です。 anスクリプト:[let name=i text="&i + 1" cond="i < 10"]

1つの条件で複数の操作を行う場合

もちろん、全てのタグにcond=を記載しても良いのですが、少々面倒です。
[if][endif]で条件満たした場合のみ実行する、もしくは条件を満たさない場合に[jump]してしまうという方法があります。

iが10未満の場合にiに1を足し、jから2を引き、kにiとjの積を入れる場合。

If i < 10 Then
	i = i + 1
	j = j - 2
	k = i * j
End If
if(i < 10) {
	i += 1
	j -= 2
	k = i * j
}
[if exp="i < 10"]
	&i = i + 1
	&j = j - 2
	&k = i * j
[endif]
[jump label=**after cond="i >= 10"]
	&i = i + 1
	&j = j - 2
	&k = i * j
**

if 〜 else 〜

基本

[if][else][endif]もしくは[jump]で行います。
iが10未満なら1を足し、そうでなければ1を引く場合。

If i < 10 Then
	i = i + 1
Else
	i = i - 1
End If
if(i < 10) {
	i += 1
} else {
	i -= 1
}
[if exp="i < 10"]
	&i = i + 1
[else]
	&i = i - 1
[endif]
[jump label=**after cond="i >= 10"]
	&i = i + 1
[jump label=***after]
**
	&i = i - 1
***

要注意

cond=をタグに記載して実現しようとする場合、値が変化していることを念頭に置く必要があります。
iのtruefalseを入れ替える場合。

[let name=i text=false cond="i"]	;ここで必ずfalseに
[let name=i text=true cond="! i"]	;元がtrueでも戻る
[jump label=**after cond="i"]
	&i = true
[jump label=***after]
**
	&i = false
***

if 〜 elseif 〜

[if][elsif][endif]もしくは[jump]で行います。
iが10未満なら1を足し、10以上20未満なら2を足す場合。

If i < 10 Then
	i = i + 1
ElseIf i < 20 Then
	i = i + 2
End If
if(i < 10) {
	i += 1
} else if(i < 20) {
	i += 2
}
[if exp="i < 10"]
	&i = i + 1
[elsif exp="i < 20"]
	&i = i + 2
[endif]
[jump label=**after cond="i >= 10"]
	&i = i + 1
[jump label=***after]
**
[jump label=***after cond="i >= 20"]
	&i = i + 2
***

 
up_button