やっぱりわかりません。(一定時間経過→収穫のスプリクト(質問掲示板)
投稿: 茹で小豆
投稿:2013/09/17 19:23:17(最新:2013/09/23 16:11:23)
setVariable("m", createArray()) setVariable("t", createArray()) setVariable("k", createArray()) setVariable("ko", createArray()) setVariable("ky", createArray()) setVariable("n", createArray()) setVariable("j", createArray()) if getFlag("sebu") speak("作物が枯れてしまいました。") setVariable("s",false) setVariable("sebu",false) end if getFlag("s") t = getTime() / 1000 t = floor(t) if t>59 speak("作物にみがなりました!!") if getFlag("m") getVariable("m")[0
speak("豆を20コ収穫しました!!")
elsif getFlag("t")
getVariable("t")[0]=20
speak("トマトを20コ収穫しました!!")
elsif getFlag("k")
getVariable("k")[0]=20
speak("キャベツを20コ収穫しました!!")
elsif getFlag("ko")
getVariable("ko")[0]=20
speak("小麦を20コ収穫しました!!")
elsif getFlag("ky")
getVariable("ky")[0]=20
speak("きゅうりを20コ収穫しました!!")
elsif getFlag("n")
getVariable("n")[0]=20
speak("なすを20コ収穫しました!!")
elsif getFlag("j")
getVariable("j")[0]=20
speak("を20コ収穫しました!!")
end
speak(toString(t) + "秒しかたっていません。\nまだ成長中です")
end
case speakWithSelect(7,"豆","トマト","きゅうり","小麦","キャベツ","ナス","じゃがいも",
"何を植えますか?")
when 0
speak("豆を植えました。")
setBaseTime()
setVariable("m", true)
setVariable("s", true)
when 1
speak("トマトを植えました。")
setBaseTime()
setVariable("t", true)
setVariable("s", true)
when 2
speak("きゅうりを植えました。")
setBaseTime()
setVariable("k", true)
setVariable("s", true)
when 3
speak("小麦を植えました。")
setBaseTime()
setVariable("ko", true)
setVariable("s", true)
when 4
speak("キャベツを植えました。")
setBaseTime()
setVariable("ky", true)
setVariable("s", true)
when 5
speak("ナスを植えました。")
setBaseTime()
setVariable("n", true)
setVariable("s", true)
when 6
speak("じゃがいもを植えました。")
setBaseTime()
setVariable("j", true)
setVariable("s", true)
end
setVariable("m", createArray())
setVariable("t", createArray())
setVariable("k", createArray())
setVariable("ko", createArray())
setVariable("ky", createArray())
setVariable("n", createArray())
setVariable("j", createArray())]
先日質問したスプリクトを、配列などを使って変えてみたんですが、やっぱりダメでした・・・・なんか、最後の行にエラーがあるらしいんですが、エラーがどこでおきているのかわかりません。
全体的な流れで言うと、
作物を育てる→60秒経っていなければ収穫できず、60秒たっていれば収穫できて、選択した作物を20こ収穫できる。しかし、変数sebu(セーブした時にtrueになる)がtrueだと、枯れてしまうっていうものです。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
池ちゃん(翡翠ヶ池)(投稿日:2013/09/17 21:10,
履歴)
{{{code (内容)}}}
で、 []のあるスクリプトも問題なく表示することができますよ。
池ちゃん(翡翠ヶ池)(投稿日:2013/09/17 21:12,
履歴)
という訳で見やすく。
setVariable("m", createArray()) setVariable("t", createArray()) setVariable("k", createArray()) setVariable("ko", createArray()) setVariable("ky", createArray()) setVariable("n", createArray()) setVariable("j", createArray()) if getFlag("sebu") speak("作物が枯れてしまいました。") setVariable("s",false) setVariable("sebu",false) end if getFlag("s") t = getTime() / 1000 t = floor(t) if t>59 speak("作物にみがなりました!!") if getFlag("m") getVariable("m")[0 =20 speak("豆を20コ収穫しました!!") elsif getFlag("t") getVariable("t")[0]=20 speak("トマトを20コ収穫しました!!") elsif getFlag("k") getVariable("k")[0]=20 speak("キャベツを20コ収穫しました!!") elsif getFlag("ko") getVariable("ko")[0]=20 speak("小麦を20コ収穫しました!!") elsif getFlag("ky") getVariable("ky")[0]=20 speak("きゅうりを20コ収穫しました!!") elsif getFlag("n") getVariable("n")[0]=20 speak("なすを20コ収穫しました!!") elsif getFlag("j") getVariable("j")[0]=20 speak("を20コ収穫しました!!") end speak(toString(t) + "秒しかたっていません。\nまだ成長中です") end case speakWithSelect(7,"豆","トマト","きゅうり","小麦","キャベツ","ナス","じゃがいも", "何を植えますか?") when 0 speak("豆を植えました。") setBaseTime() setVariable("m", true) setVariable("s", true) when 1 speak("トマトを植えました。") setBaseTime() setVariable("t", true) setVariable("s", true) when 2 speak("きゅうりを植えました。") setBaseTime() setVariable("k", true) setVariable("s", true) when 3 speak("小麦を植えました。") setBaseTime() setVariable("ko", true) setVariable("s", true) when 4 speak("キャベツを植えました。") setBaseTime() setVariable("ky", true) setVariable("s", true) when 5 speak("ナスを植えました。") setBaseTime() setVariable("n", true) setVariable("s", true) when 6 speak("じゃがいもを植えました。") setBaseTime() setVariable("j", true) setVariable("s", true) end setVariable("m", createArray()) setVariable("t", createArray()) setVariable("k", createArray()) setVariable("ko", createArray()) setVariable("ky", createArray()) setVariable("n", createArray()) setVariable("j", createArray())]
池ちゃん(翡翠ヶ池)(投稿日:2013/09/17 21:21,
履歴)
さらに見やすく。
これで大丈夫かな?
setVariable("m", createArray()) setVariable("t", createArray()) setVariable("k", createArray()) setVariable("ko", createArray()) setVariable("ky", createArray()) setVariable("n", createArray()) setVariable("j", createArray()) if getFlag("sebu") speak("作物が枯れてしまいました。") setVariable("s",false) setVariable("sebu",false) end if getFlag("s") t = getTime() / 1000 t = floor(t) if t>59 speak("作物にみがなりました!!") if getFlag("m") getVariable("m")[0]=20 speak("豆を20コ収穫しました!!") elsif getFlag("t") getVariable("t")[0]=20 speak("トマトを20コ収穫しました!!") elsif getFlag("k") getVariable("k")[0]=20 speak("キャベツを20コ収穫しました!!") elsif getFlag("ko") getVariable("ko")[0]=20 speak("小麦を20コ収穫しました!!") elsif getFlag("ky") getVariable("ky")[0]=20 speak("きゅうりを20コ収穫しました!!") elsif getFlag("n") getVariable("n")[0]=20 speak("なすを20コ収穫しました!!") elsif getFlag("j") getVariable("j")[0]=20 speak("を20コ収穫しました!!") end speak(toString(t) + "秒しかたっていません。\nまだ成長中です") end case speakWithSelect(7,"豆","トマト","きゅうり","小麦","キャベツ","ナス","じゃがいも", "何を植えますか?") when 0 speak("豆を植えました。") setBaseTime() setVariable("m", true) setVariable("s", true) when 1 speak("トマトを植えました。") setBaseTime() setVariable("t", true) setVariable("s", true) when 2 speak("きゅうりを植えました。") setBaseTime() setVariable("k", true) setVariable("s", true) when 3 speak("小麦を植えました。") setBaseTime() setVariable("ko", true) setVariable("s", true) when 4 speak("キャベツを植えました。") setBaseTime() setVariable("ky", true) setVariable("s", true) when 5 speak("ナスを植えました。") setBaseTime() setVariable("n", true) setVariable("s", true) when 6 speak("じゃがいもを植えました。") setBaseTime() setVariable("j", true) setVariable("s", true) end setVariable("m", createArray()) setVariable("t", createArray()) setVariable("k", createArray()) setVariable("ko", createArray()) setVariable("ky", createArray()) setVariable("n", createArray()) setVariable("j", createArray())
これで大丈夫かな?
池ちゃん(翡翠ヶ池)(投稿日:2013/09/18 21:55,
履歴)
ごめんなさい、僕のはバグがあると思われます。
rurunn9さんはベテランなのでそっちを信じたほうがいいと思います。
rurunn9さんはベテランなのでそっちを信じたほうがいいと思います。
それから、配列変数の扱い方に慣れてないのだと思いますが
setVariable("m", createArray())
で変数mを配列にはしたけど中身を入れないまま
setVariable("m", true)
とすると変数mにはtrueが入ってるだけで、配列ではなくなります
もしや配列はひとつ、二次元で作れば充分なのでは?
少なくとも、コピペしただけでは一度枯れると(フラグsebuをどこかでtrueにしたら)この畑では二度と育てる事ができません
setVariable("畑", -1)
でリセットしてませんからねぇ
何秒で育つかは、実際にゲームをテストプレイしながら調整すると良いかと。
毎回必ず20個ずつ収穫できるけど、
r=rand(16)+5
とかでランダム個数収穫の方がゲームっぽいですよね
配列の良い所は、開始スクリプトに追加するだけで新しい作物を好きなだけ追加できちゃう点ですね
間違っても、まじたいなんか栽培しちゃダメですw
いろいろ改良して、たくさんの機能をつけました!
もちろん間違っても期待しちゃダメですよ(笑)