ターンバトル終了時判定(質問掲示板

投稿:    001 mini noes 投稿:2010/02/28 14:58:28(最新:2010/02/28 21:09:28)
質問です。
ターンバトル終了時判定の
スクリプトを試したのですが、(下のように)
戦闘に勝ったときと、負けたときは普通に
「勝利しました」と「敗北しました」のように個別に出てくるのですが、
逃げたときだけ
「勝利しました」「敗北しました」「逃げました」
とすべて出てきます。
「逃げました」だけを逃げたときに出るようにするには
どうすればできるのでしょうか?
よければ教えてください。 
 
 
if getTurnBattleResult(speak("勝利しました")) ==
getTurnBattleWin()
#勝ったとき


elsif getTurnBattleResult(speak("敗北しました")) ==
getTurnBattleLose()
#負けたとき


elsif getTurnBattleResult(speak("逃げました")) ==
getTurnBattleRunAway()
#逃げたとき


end

コメントする

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

コメント一覧

   001 mini noes(投稿日:2010/02/28 21:09, 履歴)
できました!
ありがとうございます!
Zararu128x128 mini dycoon(投稿日:2010/02/28 18:02, 履歴)
Rmakeのご利用ありがとうございます。

getTurnBattleResultの引数に処理を書いてしまうと
条件式の処理をおこなうたびに処理が実行されてしまいます。
"#勝ったとき"などの次の行に処理を書く必要があります。

基本的にif文は次のように書く必要があります。

if 条件式1
  条件式1を満たしている場合の処理内容
elsif 条件式2
  条件式2を満たしている場合の処理内容
elsif 条件式3
  条件式3を満たしている場合の処理内容
else
  それ以外の場合の処理内容
end

"else"と"それ以外の場合の処理内容"などは、
必要なければ書く必要はありません。

よろしくお願いします。
Nyan mini rurun9(投稿日:2010/02/28 15:48, 履歴)
たぶん、逃げたときの elsif → else にすると良いのでは?

スクリプト言語のマニュアル
より if 文の書き方あたりですよん