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

Switch

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

ifに書き換える

AIRNovelにはSwitchに対応するタグがありませんが、SwitchはIfに書き換え可能ですので、そちらで表現することは可能です。
点数(point)によって、評価(assess)に「優・良・可・不可」を入れる場合。

Select Case point
	Case Is >= 80
		assess = "優"
	Case Is >= 70
		assess = "良"
	Case Is >= 60
		assess = "可"
	Case Else
		assess = "不可"
End Select
switch (true) {
	case (point >= 80): assess = "優";
			break;
	case (point >= 70): assess = "良";
			break;
	case (point >= 60): assess = "可";
			break;
	default: assess = "不可"
}
[if exp="point >= 80"]
	&assess = '優'
[elsif exp="point >= 70"]
	&assess = '良'
[elsif exp="point >= 60"]
	&assess = '可'
[else]
	&assess = '不可'
[endif]

選択値をラベルにして[jump]

分岐に比較を使用する場合は使えませんが、分岐条件をラベルにすることで表現することができます。
asssesに「S・A・B・C・F」が入っており、それを「優(S・A)・良(B)・可(C)・不可(F)」に入れ替える場合。

Select Case assess
	Case 'S'
		assess = "優"
	Case 'A'
		assess = "優"
	Case 'B'
		assess = "良"
	Case 'C'
		assess = "可"
	Case Else
		assess = "不可"
End Select
switch (assess) {
	case ('S'):
	case ('A'): assess = "優";
			break;
	case ('B'): assess = "良";
			break;
	case ('C'): assess = "可";
			break;
	default: assess = "不可"
}
[jump label="&'*'+assess"]
*S
*A
	&assess = '優'
	[jump label=**after]
*B
	&assess = '良'
	[jump label=**after]
*C
	&assess = '可'
	[jump label=**after]
*F
	&assess = '不可'
**

ラベルとcond=の複合[jump]

デフォルトになる場合が多い時には、先にデフォルト分をcond=[jump]させてしまったり。
monthに入っているのが1なら「新年です。3学期です。」、2か3なら「3学期です。」、その他の場合「3学期ではありません。」の表示をする場合。

[jump label=*default cond="month >= 4"]
[jump label="&'*'+assess"]
*1
	新年です。
*2
*3
	3学期です。
	[jump label=**after]
*default
	3学期ではありません。
**
[jump label="&'*'+assess"]
*1
	新年です。
*2
*3
	3学期です。
	[jump label=**after]
*4
*5
*6
*7
*8
*9
*10
*11
*12
	3学期ではありません。
**
[if exp="month == 1"]
	新年です。3学期です。
[elsif exp="month == 2 || month == 3"]
	3学期です。
[else]
	3学期ではありません。
[endif]

 
up_button