コメント

このコメントは、協力して岩を壊せ!長期メンテナンス開始 ...へのコメントです。

コメントの内容

Aa mini #いお(投稿日:2012/08/30 11:08/30/12)
1通り見たところ、NaNと出る条件がまったく見当たりません。
どこが間違っていたのでしょう
あと、少し指摘されたところを直しました
直したやり方も正しくないかもしれませんが
#編集時のヒント
#waitTimei(1000)
#value=loadGameData("k")#データを読み込み、変数に置き換える。
#value=toNumber(value)#文字列を数値へ変換
#value=value+1#値を足す
#value=toString(value)#数値を文字列へ変換
#waitTime(1000)
#saveGameData("k", value)#データをセーブ
#speak("あなたは")
#speak(value,"回たたきました!")#結果を表示
case speakWithSelect(2,"はい","いいえ", 
    "岩をたたきますか?")
  when 0
    value=loadGameData("k")#データを読み込み、変数に置き換える。
    value=toNumber(value)#文字列を数値へ変換
    value=value+1#値を足す
    value=toString(value)#数値を文字列へ変換
    #---- 文字列に直す必要があるのはセーブする前 ----
    
    #----------
    
    #変数「r」に「0」~「9」の中からランダムに1つの数(乱数)を取得して入れる
    r = rand(10)
    
    #変数「r」の内容を元に分岐する
    if r < 1
      #変数「r」が「1」より小さい場合
      playSound(86371)
      speak("クリティカル!!")
      speak("ダメージが5倍になるぞ!")
     
      #----------
      
      value=value+4#値を足す
    end
    
    speak("ちょっと待ってね")
    waitTime(998)
    
    #---- ロードしたデータをどこにも確保していない ----
#saveGameData("k", value)#データをセーブ
    #----------
    
    #---- 「value」が文字列になっているのに数値で比較している ----
    if value>=7
    #----------
      setEventTarget("playerCharacterEvent", 7, 10)
      runEventMove()
      setEventTarget("event0", 7, 8)
      runEventMove()
      setEventTarget("event0", 8, 8)
      runEventMove()
      
      saveGameData("k", value)#データをセーブ
      
      speak("岩が崩れていく・・・。%Wait%うごきました・・・。")
      speak(value ,"回目です!(ちなみに)")
      speak("岩を崩したのは、")
      playSound(138400)
      waitTime(2000)
      
      #---- ここまでの間で、"h"がセーブされていない ----
      setVariable("s", loadGameData("gohito"))
      #----------
      #---- "s"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ----
      speak(getVariable("s") + "さんです!") 
      #----------
      openActivityFeedWindow("他の石が叩けるようになったみたい!・・・。")

      setFlag("1700回突破", true)
    else

      playSound(63622)
      playSound(138400)
      waitTime(2000)

      
      
      speak("あなたは")
      playSound(16423)
      speak(value,"回目にたたきました!")#結果を表示
      openActivityFeedWindow(value ,"回目にたたきました!")
      speak("少しお待ちください")
      waitTime(1000)
      speak("ロードが終わりました。")
      

      
      #---- 「value」が文字列になっているのに数値で比較している ----
      if value==6
      #----------
        #---- 丁度の値になったときしか判定に入らないため、クリティカルで超えた場合実行されない ----
        
        setEventTarget("playerCharacterEvent", 7, 10)
        runEventMove()
        setEventTarget("event0", 7, 8)
        runEventMove()
        setEventTarget("event0", 8, 8)
        runEventMove()
        
        speak("1700回に達したので岩・・・?が壊れました%Wait%動きました・・・。")
        openActivityFeedWindow("他の石がたたけるようになったみたい!")
        speak("少しお待ちください")
        setVariable("gohito", getValueFromCharacterParam(getPlayerParam(),getCharacterNameIndex()))
        #---- "gohito"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ----
        saveGameData("h", getVariable("gohito")) 
        #----------

        speak("セーブが完了しました。\nなお、ゲームのセーブではないです。")
        setFlag("1700回突破", true)
        
        #----------
      end
    end
  when 1
    speak("たたこう!")
end

と、わかりやすいようにヒントも過去に投稿した質問掲示板から持ってきました

コメントの内容(一番最初の投稿)

Aa mini #いお(投稿日:2012/08/30 11:08/30/12)
1通り見たところ、NaNと出る条件がまったく見当たりません。
どこが間違っていたのでしょう
あと、少し指摘されたところを直しました
直したやり方も正しくないかもしれませんが
#編集時のヒント
#waitTimei(1000)
#value=loadGameData("k")#データを読み込み、変数に置き換える。
#value=toNumber(value)#文字列を数値へ変換
#value=value+1#値を足す
#value=toString(value)#数値を文字列へ変換
#waitTime(1000)
#saveGameData("k", value)#データをセーブ
#speak("あなたは")
#speak(value,"回たたきました!")#結果を表示
case speakWithSelect(2,"はい","いいえ", 
    "岩をたたきますか?")
  when 0
    value=loadGameData("k")#データを読み込み、変数に置き換える。
    value=toNumber(value)#文字列を数値へ変換
    value=value+1#値を足す
    value=toString(value)#数値を文字列へ変換
    #---- 文字列に直す必要があるのはセーブする前 ----
    
    #----------
    
    #変数「r」に「0」~「9」の中からランダムに1つの数(乱数)を取得して入れる
    r = rand(10)
    
    #変数「r」の内容を元に分岐する
    if r < 1
      #変数「r」が「1」より小さい場合
      playSound(86371)
      speak("クリティカル!!")
      speak("ダメージが5倍になるぞ!")
     
      #----------
      
      value=value+4#値を足す
    end
    
    speak("ちょっと待ってね")
    waitTime(998)
    
    #---- ロードしたデータをどこにも確保していない ----
#saveGameData("k", value)#データをセーブ
    #----------
    
    #---- 「value」が文字列になっているのに数値で比較している ----
    if value>=7
    #----------
      setEventTarget("playerCharacterEvent", 7, 10)
      runEventMove()
      setEventTarget("event0", 7, 8)
      runEventMove()
      setEventTarget("event0", 8, 8)
      runEventMove()
      
      saveGameData("k", value)#データをセーブ
      
      speak("岩が崩れていく・・・。%Wait%うごきました・・・。")
      speak(value ,"回目です!(ちなみに)")
      speak("岩を崩したのは、")
      playSound(138400)
      waitTime(2000)
      
      #---- ここまでの間で、"h"がセーブされていない ----
      setVariable("s", loadGameData("gohito"))
      #----------
      #---- "s"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ----
      speak(getVariable("s") + "さんです!") 
      #----------
      openActivityFeedWindow("他の石が叩けるようになったみたい!・・・。")

      setFlag("1700回突破", true)
    else

      playSound(63622)
      playSound(138400)
      waitTime(2000)

      
      
      speak("あなたは")
      playSound(16423)
      speak(value,"回目にたたきました!")#結果を表示
      openActivityFeedWindow(value ,"回目にたたきました!")
      speak("少しお待ちください")
      waitTime(1000)
      speak("ロードが終わりました。")
      

      
      #---- 「value」が文字列になっているのに数値で比較している ----
      if value==6
      #----------
        #---- 丁度の値になったときしか判定に入らないため、クリティカルで超えた場合実行されない ----
        
        setEventTarget("playerCharacterEvent", 7, 10)
        runEventMove()
        setEventTarget("event0", 7, 8)
        runEventMove()
        setEventTarget("event0", 8, 8)
        runEventMove()
        
        speak("1700回に達したので岩・・・?が壊れました%Wait%動きました・・・。")
        openActivityFeedWindow("他の石がたたけるようになったみたい!")
        speak("少しお待ちください")
        setVariable("gohito", getValueFromCharacterParam(getPlayerParam(),getCharacterNameIndex()))
        #---- "gohito"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ----
        saveGameData("h", getVariable("gohito")) 
        #----------

        speak("セーブが完了しました。\nなお、ゲームのセーブではないです。")
        setFlag("1700回突破", true)
        
        #----------
      end
    end
  when 1
    speak("たたこう!")
end

と、わかりやすいようにヒントも過去に投稿した質問掲示板から持ってきました