条件指定

ある条件が満たされたときだけ、ジャンプするとかメニューを表示するとかの処理を行ないたい場合があります。そういう場合に、条件指定を命令に追加します。

どんな命令に追加できるか?

今のところ、ジャンプ命令、メニュー、クリッカブルマップで動作することが確認されています。

特定の値と比較する

まずは、ある特定の値を変数と比較する方法です。例えば変数lf[25]の中身が100であるか、という比較ですね。

書式  とある命令;(変数名[添字]『比較演算子』『数値』)
比較演算子の右側(右辺)には数字しか書けません。ご注意ください。

比較演算子 意味
== 等しい
!= 異なる
小さい
<= 以下
大きい
>= 以上

例:
変数lf[25]の中身が38と等しいかチェックします。
;(lf[25]==38)

変数lf[25]の中身が7と異なるかチェックします。

;(lf[25]!=7)

変数lf[25]の中身が0より小さいかチェックします。

;(lf[25]<0)

変数lf[25]の中身が3以下かチェックします。

;(lf[25]<=3)

変数lf[25]の中身が14より大きいかチェックします。

;(lf[25]>14)

変数lf[25]の中身が100以上かチェックします。

;(lf[25]>=100)

変数同士を比較する場合

キャラフレスクリプトの場合には、変数同士を比較するのがちょっと厄介です。条件指定の書式をもう一度見てみましょう。

書式  とある命令;(変数名[添字]『比較演算子』『数値』)

困ったことに、右辺側が『数値』しか書けないのです。ではどうすれば変数同士を比較できるでしょうか?その方法とは、『変数同士の差を、ゼロと比較する』というものです。
例えば;(lf[10]<lf[11]) と書きたければ、このようにしてください。
  lf[0]=flagSub:lf[10],lf[11]
  とある命令;(lf[0]<0)

変数lf[25]の中身が変数lf[27]の中身と等しいかチェックし、等しいときだけセグメント1200にジャンプします。

例  lf[1]=flagSub:lf[25],lf[27]
   ->Segment:1200;(lf[1]==0)

実行例

実際のコードを見てみましょう。このコードを実行すると・・・

最初は下駄箱にしか行けません
条件指定:例1

下駄箱からはどこにでも行けます。
条件指定:例2

掲示板前からは下駄箱か花壇に行けます。
条件指定:例3

花壇からは下駄箱か掲示板前に行けます。
条件指定:例4

条件指定” に対する意見

  1. ピンバック: スクリプト研究所 記事一覧(目次) | スクリプト研究所

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です