スクリプトで質問です。
投稿者: hightoller 投稿日:2011/04/25 19:19
拙作「StealthCodeBreaker」を移植するに当たって、
まずは簡単な数当てを作ってみようと思い、
試しにスクリプト組んでみたんですけど、if部で文法エラーがでるんですね。
何が間違ってるのか、Wikiみてもよく分からなかったんです。
どなたか御教授願えませんでしょうか。
speak("StealthCodeBreaker Start")
1st == 0
2nd == 0
hit == 0
brow == 0
case speakWithSelect(5,"1","2","3","4","5",
"Select 1st Code")
when 0
setVariable("1st", 1)
when 1
setVariable("1st", 2)
when 2
setVariable("1st", 3)
when 3
setVariable("1st", 4)
when 4
setVariable("1st", 5)
end
case speakWithSelect(5,"1","2","3","4","5",
"Select 2nd Code")
when 0
setVariable("2nd", 1)
when 1
setVariable("2nd", 2)
when 2
setVariable("2nd", 3)
when 3
setVariable("2nd", 4)
when 4
setVariable("2nd", 5)
end
if 1st == 2
hit = getVariable("hit") + 1
else
if 1st == 5
brow = getVariable("brow") + 1
if 2nd == 5
hit = getVariable("hit") + 1
else
if 2nd == 2
brow = getVariable("brow") + 1
if hit == 2
speak("Success")
else
if hit == 0
if brow == 0
speak("miss")
else
speak("brow ", getVariable("brow"))
else
if brow == 0
speak("hit ", getVariable("hit"))
else
speak("hit ", getVariable("hit"), " brow ", getVariable("brow"))
ツイート
まずは簡単な数当てを作ってみようと思い、
試しにスクリプト組んでみたんですけど、if部で文法エラーがでるんですね。
何が間違ってるのか、Wikiみてもよく分からなかったんです。
どなたか御教授願えませんでしょうか。
- ここから----
speak("StealthCodeBreaker Start")
1st == 0
2nd == 0
hit == 0
brow == 0
case speakWithSelect(5,"1","2","3","4","5",
"Select 1st Code")
when 0
setVariable("1st", 1)
when 1
setVariable("1st", 2)
when 2
setVariable("1st", 3)
when 3
setVariable("1st", 4)
when 4
setVariable("1st", 5)
end
case speakWithSelect(5,"1","2","3","4","5",
"Select 2nd Code")
when 0
setVariable("2nd", 1)
when 1
setVariable("2nd", 2)
when 2
setVariable("2nd", 3)
when 3
setVariable("2nd", 4)
when 4
setVariable("2nd", 5)
end
if 1st == 2
hit = getVariable("hit") + 1
else
if 1st == 5
brow = getVariable("brow") + 1
if 2nd == 5
hit = getVariable("hit") + 1
else
if 2nd == 2
brow = getVariable("brow") + 1
if hit == 2
speak("Success")
else
if hit == 0
if brow == 0
speak("miss")
else
speak("brow ", getVariable("brow"))
else
if brow == 0
speak("hit ", getVariable("hit"))
else
speak("hit ", getVariable("hit"), " brow ", getVariable("brow"))
- ここまで----
コメントする
コメントするには、ログインする必要があります。
コメント一覧
if 条件式壱 何らかの処理 elsif 条件式弐 また違う処理 else その他は全部こちらの処理 end
という形ですね。
必ずendで閉じないとダメです。
中カッコで括るのと違って、パッと見では何に対応したendなのかが謎なので、
個人的に長い処理後のendにはコメントで何を閉じているのかを書込してマス
他に気になるのは
始めの方の 1st==0 とか…変数名は、数字から始まる名前をつける事ができません。
また、代入するだけならイコールはひとつ、二つ書くのは比較するとき(条件式)ですね
そして後半はローカル変数と基本変数が混じっている?
同じ半角英数名でも、ローカルと基本は別扱いになるのでご注意くださ~い
wiki読んでるという事は、プログラミングに心得のある方だと思われるので、
「つくってみよう0」からリンク辿ると良いかもしれませんよぉ。
すいません、追記です。
Rmakeでのif文は、
あるいは
という形になっています。
詳しくは「スクリプトのマニュアル」をご覧ください。
Rmakeでのif文は、
if 条件式 処理 end
あるいは
if 条件式 処理内容 elsif 条件式 処理内容 end
という形になっています。
詳しくは「スクリプトのマニュアル」をご覧ください。
以降ここから拡張していくことを目論んでいます。
tdakeikaku様
迅速な回答、「スクリプトのマニュアル」の紹介、有難う御座いました。
マニュアルを参照してifよりcaseを使った方が良い部分を改良しました。
次回からRmake記法も利用して、質問掲示板を活用したいと思います。
rurun9様
的確な回答有難う御座いました。
変数名の頭に数字は使えないんですね;num1stと変数名変えました。
また、イコールの数の違い、ローカル変数と基本変数の違いを覚えました。
シーンをまたぐ予定は無いので、ローカル変数で統一しました。
プログラミングはかじってる程度なので、基本的な事が抜けてたりしますが、
追々ここで修得していきたいと思います。