#9 スクリプト〜III
前回のスクリプトで、家に入るコマンドがありましたね。
となると、シーンも家の中に移動しなくてはなりません。
そのための命令を前回のスクリプトの中に付け加えてみましょう。
(1)*KEYWAIT
これはキーの入力を待つという命令です。
プレイヤーがスペースキー又はエンターキーを押すことで次に進みます。
省略形で「**」とも書けます。
(2)*GOTO HOUSE
この命令はシーンなどの飛び先を指定します。
これで「HOUSE」というシーンに移動することになります。
それでは次のシーンを入力してみましょう。
(1)*F(1)=1
これはF(1)という変数(*1)に1を代入しているという意味で、ここで言えば引き出しを開けたらF(1)=1になりますよ〜ということです。
つまり、F(1)=1で引き出しは開けた後という状態を示しているのです。
F(1)=0ならまだ開けていないことになります。
(2)*IF F(1)==1
これはもしF(1)が1だったらという条件式です。
F(1)が引き出しを開けたかどうかの変数ですから、もし引き出しを開けたあとならそのあとの反応が返ってきます。
条件式の場合は必ず「==」を使います。
(3)*ELSE
条件が成り立っていなかった場合は、この命令以降の反応が返ります。
(4)*ENDIF
条件分岐の場合は必ずこの命令で締めくくります。
IFなどの条件分岐に関してはコチラのオンラインマニュアルも参考にしてください。
次回はアイテムの入手などについてご説明いたします。
*1:変数は、それぞれ条件をつけたい項目に一つずつ割り当てます。
たとえばこのスクリプトでは、引き出しをあけたかどうかにF(1)を、引き出しを調べたかどうかにF(2)を割り当てています。
ダブって割り当ててしまうと、正常な動作をしませんので注意しましょう。
変数に関してはコチラのオンラインマニュアルも参考にしてください。
今回までのスクリプトはコチラからダウンロードできます。
となると、シーンも家の中に移動しなくてはなりません。
そのための命令を前回のスクリプトの中に付け加えてみましょう。
>enter/入る/はいる house/家/いえ
他にすることもないので家に入ってみました
*KEYWAIT (1)
*GOTO HOUSE (2)
(1)*KEYWAIT
これはキーの入力を待つという命令です。
プレイヤーがスペースキー又はエンターキーを押すことで次に進みます。
省略形で「**」とも書けます。
(2)*GOTO HOUSE
この命令はシーンなどの飛び先を指定します。
これで「HOUSE」というシーンに移動することになります。
それでは次のシーンを入力してみましょう。
*SCENE HOUSE
*PICTURE ie
>look/見る/みる
机があります
>search/調べる/しらべる
引き出しがあります
>open/開ける/あける drawer/引き出し/ひきだし
*F(1)=1 (1)
引き出しを開けてみました
>search/調べる/しらべる drawer/引き出し/ひきだし
*IF F(1)==1 (2)
*F(2)=1
引き出しの中にモノサシとテープが入っています
見るからに怪しい、鍵のかかった箱も入っています
*ELSE (3)
開けなきゃ調べられないじゃん!
*ENDIF (4)
*SCENEEND
(1)*F(1)=1
これはF(1)という変数(*1)に1を代入しているという意味で、ここで言えば引き出しを開けたらF(1)=1になりますよ〜ということです。
つまり、F(1)=1で引き出しは開けた後という状態を示しているのです。
F(1)=0ならまだ開けていないことになります。
(2)*IF F(1)==1
これはもしF(1)が1だったらという条件式です。
F(1)が引き出しを開けたかどうかの変数ですから、もし引き出しを開けたあとならそのあとの反応が返ってきます。
条件式の場合は必ず「==」を使います。
(3)*ELSE
条件が成り立っていなかった場合は、この命令以降の反応が返ります。
(4)*ENDIF
条件分岐の場合は必ずこの命令で締めくくります。
IFなどの条件分岐に関してはコチラのオンラインマニュアルも参考にしてください。
次回はアイテムの入手などについてご説明いたします。
*1:変数は、それぞれ条件をつけたい項目に一つずつ割り当てます。
たとえばこのスクリプトでは、引き出しをあけたかどうかにF(1)を、引き出しを調べたかどうかにF(2)を割り当てています。
ダブって割り当ててしまうと、正常な動作をしませんので注意しましょう。
変数に関してはコチラのオンラインマニュアルも参考にしてください。
今回までのスクリプトはコチラからダウンロードできます。
Comments