whileをつかって君が「はい」と言うまで質問するのをやめない!


今回は、スクリプトの繰り返し処理をつくってみます。
NNNには繰り返しようのコマンドはwhileしかありません。for等はありませんので、whileで代用してください

スクリプトは新たに作らずに、前回作ったselect_testに追加します



今回もフィルム作成からはじめます
まずは、「姫を助けた後」という名前でフィルムを作ります

コマ数は2個にしてみましょう

1コマめには、背景だけを設定します

2コマめには、背景と立ち絵を設定します

1コマめに、めっせーじを1つ入れます

2コマめにもメッセージを1ついれておきます

つぎに、繰り返し用のフィルムをつくります。名前は「そんなひどい」にしておいてください

コマ数は1つです

さっきとは、違う背景と、立ち絵を設定してみましょう

メッセージを設定します

これでフィルムの準備はできました。次に変数をつかいます

NNNでは変数は、あらかじめ準備しておく必要があります。
変数ウィンドウを探して、
「PLAY変数」ボタンを押します。

使われてないエリアをさがします。
[0]とだけかかれているところが使われてないエリアです。

その上で右クリックメニューをひらき、「変更」を選びます

1行入力ダイアログが出ますので、そこに「王女の愛」と入力します
これで、「王女の愛」という変数が使用できるようになりました


シナリオウィンドウを選び、必要なら一番上までスクロールさせておきます
一番上には、前回作った「選択肢前」フィルムを表示するコマンドがはいっていますね
まずは、そのコマンドを選択します。

「新規」ボタンをおして、その位置に新規コマンドを挿入します
3回押して、3つ作っておいてください

新たにつくったコマンドのうち一番上を選び、「姫を助けた後」フィルムを設定します

次に2番目のコマンドを選び、右クリックめにゅーから
「計算」を選びます

テキスト入力ダイアログが出ますので、そこに

王女の愛 = 0;

と入力してください。
これで、このコマンドが実行されると、「王女の愛」という変数の値が0に設定されます



3つ目のコマンドに、右クリックメニューから
「while」を選びます。

やっと、whileがでてきました
これからが本番です


whileを設定すると、自動的に1つの子コマンドが追加されます
まずは、whileの中身(条件)を設定します

whileコマンドの上で右クリックメニューをひらき、「内容修正」を選びます

1行入力ダイアログが出ますので
ここにwhileの条件をいれます。

王女の愛 == 0

と、入れてください。
条件には
;(セミコロン)は付けないので注意してください

==
とは、比較演算子で、この場合は、「王女の愛」が0だったら
という条件になります

この条件が成立している間、子コマンド(群)が実行されます

次にwhileの子コマンドをつくります。
whileの下のNOPの上で右クリックメニューを開き、
[選択肢]-[2個]を選びます

これで、whileの子コマンドとして、選択肢が設定されました。
ちなみに、選択肢の子コマンドは、whileの孫コマンドになります

選択肢の作り方は前回行っているので、簡単にすすめます。
SELECTの上で右クリックメニューを開き、「内容修正」を選びます

テキスト入力ダイアログが出ますので、

はい
いいえ

と2行入力します

次に選択肢の中身を設定します
1つ目のNOPの上で右クリックメニューを開き、「計算」を選びます

テキスト入力ダイアログが開きますので、そこに

王女の愛 = 1;

と入力してください。
はい、を選んだら、「王女の愛」が1になるということですね

いいえ、をえらんだ場合のコマンドも設定します
こちらは、「そんなひどい」フィルムを設定します

この時点で、このようなシナリオ構成になります

whileで実行される子コマンドは、赤枠でかこまれた部分になります


では、保存してから、ビルドして実行してみましょう



こんかい作ったフィルムまできました

なんか言ってますね

だが断る!

いいえを選びます

やはりこうきたか

もういちどいいえを選びます

やっぱりだめです

どうしてもいやなんじゃよ

と、なんど「いいえ」を選んでも、しつこく繰返されます

あきらめて「はい」を選ぶことにしましょう

やっとぬけられ、前回作った部分に到着しました




つぎへ(分岐)