まーーーーったく意味が分からない(質問掲示板

投稿: User icon mini 退会したユーザー 投稿:2012/03/11 14:37:11(最新:2012/03/11 17:50:11)
このページを参考にしてwhile文を使ってみたんですけど何度修正しても直らないです・・・
speak("いらっしゃいませ")
loop = true 
while loop
case speakWithSelect(2,"図鑑","やめる", 
    "どの本を読もうかな")
  when 0
    case speakWithSelect(11,"草原","洞窟","火山地帯","川・湖","荒野","廃れた塔","風ヶ丘","スイーツランド","森","???","やっぱりやめる", 
    "どのエリアのモンスターを見ますか?")
  when 0
    speak("通常モンスター\n\nプニョプニョ\nチョンピー\nモフフ\n\nレアモンスター\n\nモコモン")

  when 1
    speak("通常モンスター\n\nフクロモリ\nサクラモリ\nグレイモリ")

  when 2
    speak("通常モンスター\n\nフレイン")

  when 3
    speak("通常モンスター\n\nクリムゾン\n\nレアモンスター\n\nレア★クリムゾン")

  when 4
    speak("通常モンスター\n\nスネークス\nスネイラス\n\nレアモンスター\n\nレア★スネークス")

  when 5
    speak("通常モンスター\n\nエレメティウス\nノーステア")

  when 6
    speak("通常モンスター\n\nタイフーン\nサイクロン\nハリケーン\n\nレアモンスター\n\nレア★ハリケーン")

  when 7
    speak("通常モンスター\n\nホイップ\nカスター\nメレレン\nシュークリ")

  when 8
    speak("通常モンスター\n\nマシュロウ\nチュリアクス\n\nレアモンスター\n\nレア★マシュロウ")

  when 9
    speak("通常モンスター\n\n???")

  when 10
    loop = false
end #whileのend
end #case1のend
  when 1
    
end #case2のend

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2012/03/11 17:50, 履歴)
なるほど。終わる順番が逆だったのですか。
んで、今確認したらwhileをつける場所を間違えていましたw

お騒がせしました。
Material 7186 1 mini ikosami(投稿日:2012/03/11 17:48, 履歴)
while
case#1
case#2
end #whileのend
end #case1のend
end #case2のend

と、#のコメントに書いているので、そういう順番で終わると
勘違いしていると言う可能性がとても高いですが、

while
     case#1
          case#2

          end #case2のend
     end #case1のend
end #whileのend

終わる順番が逆です。




endは「while」「case」「if」が書いた順番どおりに
終わっていくわけではありません。

endは判定中の「while」「case」「if」を終わらせます。

if 1==1
      if 2 == 2
        
      end #今は「if2」の中なので「if2」のEND
      while 3 == 3
        
      end #今は「while」の中なので「while」のEND
end #今は「if1」の中なので「if1」のEND
Cdv30200 aoi icon mini aoihikawa(投稿日:2012/03/11 16:19, 履歴)
while、case、ifを使用する場合
それぞれの動作範囲(開始からendまで)を
きちんとそろえるようにしてみましょう。

すぐに問題点が分かります。


今回の場合、
while
  case
  when
    case
    when
    when
    when
    ・
    ・
    ・
    when
    end
  end #← 1つめのcaseが終わっている
  when #← 1つめのcaseのwhenが終わった後にある
end
Material 71926 1 mini なとおとき(投稿日:2012/03/11 15:31, 履歴)
end #whileのend
end #case1のend
when 1

end #case2のend



end #case2のend
when 1

end #case1のend
end #whileのend

こうすれば多分
Material 71926 1 mini なとおとき(投稿日:2012/03/11 15:25, 履歴)
多分最初の二つのendが
caseを2つとも終わらせてるんですよ。
User icon mini 退会したユーザー(投稿日:2012/03/11 14:39, 履歴)
エラーの出ている箇所は43行目だそうです。
私にはサッパリわかりません・・・