入れ子が使えない(質問掲示板

投稿: User icon mini 退会したユーザー 投稿:2012/03/03 19:54:03(最新:2012/03/04 11:06:04)
if getFlag("木製ブロック入手")
if getFlag("金づち入手")
speak("木製ブロックを台に、ガラスを金づちで叩いて割った。")
else
speak("台はあるが、窓を割る道具がない")
else
speak("窓を割って出られそうだが、台がない。")
end
end

と入れ子で作ったのですが、できなかったです。
まさかこれじゃダメですか?

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2012/03/04 11:06, 履歴)
if getFlag("木製ブロック入手")
  if getFlag("金づち入手")
    speak("木製ブロックを台に、ガラスを金づちで叩いて割った。")
  else
    speak("台はあるが、窓を割る道具がない")
  end
else
  speak("窓を割って出られそうだが、台がない。")
end

この場合は横が長いので上でもいいですが、
elseも不要だったりして短い場合は
str = "フラグ「A」はtrueですよ"
if getFlag("A") then speak(str); end

これだと、
ifと同じ行にendを持ってこれるのでend関係のミスはかなり減るかも。
Nyan mini rurun9(投稿日:2012/03/03 20:50, 履歴)
毎回書いてるけど、全てのendにコメントで何を閉じているのかを書く癖をつけましょー

今回のは、ひとつのif文に二度目のelseがきたのでアウト
User icon mini 退会したユーザー(投稿日:2012/03/03 19:55, 履歴)
あ、elsifにしたらできました。