条件分岐
投稿者: 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
ツイート
これがあるだけでもゲームっぽくなると思いまして…。
下の『ここから~ここまで』の間をコピペしてもらえればとりあえず動きますので
内容の変更は以下の通りでお願いします。
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
コメントする
コメントするには、ログインする必要があります。
コメント一覧
mutcher2127(投稿日:2010/02/03 17:15,
履歴)
すいません、敬称を忘れました(汗)
>wanderingdjさん
ありがとうございますm(_ _)m
>wanderingdjさん
ありがとうございますm(_ _)m
mutcher2127(投稿日:2010/02/03 17:14,
履歴)
>wanderingdj
ありがとうございますm(_ _)m
ありがとうございますm(_ _)m
wanderingdj(投稿日:2010/02/01 18:29,
履歴)
GJ!
ありがとうございますm(_ _)m
地味にプログラムの知識が問われるRmakeなようなので
テンプレート的なものができれば、できる範囲で公開したいと思います。
何かご意見やリクエストがあればよろしくお願いしますm(_ _)m