条件分岐

投稿者:Word mini mutcher2127 投稿日:2010/02/01 15:10

ちょっと条件分岐を作ってみたのでUPします。
これがあるだけでもゲームっぽくなると思いまして…。

下の『ここから~ここまで』の間をコピペしてもらえればとりあえず動きますので
内容の変更は以下の通りでお願いします。


2分岐。
==========ここから==========
if getFlag("kurara")
speak("if:2回目以降")
else
speak("else:初回のみ")
setFlag("kurara", true)
end
==========ここまで==========

イベント処理の王道でしょうか(苦笑)
初めてこのイベントが実行されるときはelseの処理が行われ、
2回目以降の処理ではifの処理が実行されます。

【イベントが終了した】という判定のときに使えると思います。

内容を変更する際は、ifおよびelseにあるspeak関数のあたりを弄ってください。
またsetFlagとgetFragは場所を変更せず、フラグ名のみを変えて流用してください。



3分岐。
==========ここから==========
if getFlag("nakama") == 1
speak("if(2回目以降)")
speak("仲間になっている!")
elsif getFlag("nakama") == -1
speak("else-if(2回目以降)")
case speakWithSelect(2,"はい","いいえ",
"やっぱり仲間にしますか?\n(2回目以降の処理)")
when 0
speak("仲間になった!")
setFlag("nakama", 1)
when 1
speak("やっぱり拒否した!")
end
else
speak("else(1回目)")
case speakWithSelect(2,"はい","いいえ",
"仲間にしますか?")
when 0
speak("仲間になった!")
setFlag("nakama", 1)
when 1
speak("拒否した!")
setFlag("nakama", -1)
end
end
==========ここまで==========

これは同じ処理を繰り返しみたいな感じですかね。

初回のみ
・elseを実行 ⇒ はい/いいえ

2回目以降
・初回のelseが『はい』なら ⇒ ifを実行
・初回のelseが『いいえ』なら ⇒ elsifを実行 ⇒ はい/いいえ
     ⇒ 『はい』ならifへ、『いいえ』なら再度elsifを実行 ⇒ はい/いいえへ(以下ループ)

まあ、ここまで回りくどいイベントは必要ないかもしれませんが、
使い方次第では何とかなると思いますので、ご使用ください。

内容の変更はspeak関数諸々と、フラグ名というところでしょうか。
setFlagでセットできる値はtrue/falseだけではなく、数字もいけるようです。
(ただし数字にするときは関数を作成後、true/falseを消して数値を手入力してください)

フラグのデフォルト値はtrue/falseならfalse、数字なら0のようなので、
ifの条件に
【if getFlag("nakama") == false】や
【if getFlag("nakama") == 0】ではこれがtrueになってしまって、
初回のみのelseには飛ばないのでご注意ください。

これを回避するために3分岐では『いいえ』に『-1』を代入してフラグ判定させました。

って、これだとフラグじゃなくて変数でよさそうな気がしますね(爆)
なんでしたら【setFlag】を【setVariable】に、
【getFlag】を【getVariable】に変更してもらってもいいかもしれません。
(↑変数バージョンは試していませんので失敗したらごめんなさい)


何かのお役にたてればと思いまして記事にしました。
コピペOKですのでぜひご使用くださいm(_ _)m

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Word mini mutcher2127(投稿日:2010/02/03 17:19, 履歴)
>akasataさん
ありがとうございますm(_ _)m

地味にプログラムの知識が問われるRmakeなようなので
テンプレート的なものができれば、できる範囲で公開したいと思います。

何かご意見やリクエストがあればよろしくお願いしますm(_ _)m
Word mini mutcher2127(投稿日:2010/02/03 17:15, 履歴)
すいません、敬称を忘れました(汗)

>wanderingdjさん
ありがとうございますm(_ _)m
Word mini mutcher2127(投稿日:2010/02/03 17:14, 履歴)
>wanderingdj
ありがとうございますm(_ _)m
Material 6858 mini akasata(投稿日:2010/02/03 13:59, 履歴)
素晴らしいです!
スクリプト講座とか書く人が出てくるとほかのユーザーさんも
作りやすくなるだろうなー、と思っていました。
User icon mini wanderingdj(投稿日:2010/02/01 18:29, 履歴)
GJ!