フォーダイスのスクリプト(質問掲示板)
投稿: 闇さん
投稿:2013/01/24 17:22:24(最新:2013/01/24 22:37:24)
b=0 Q=0 while b<6||Q==4 Q=0 a=0 while a<5 if getVariable("ダイス")[a]==b Q=Q+1 end a=a+1 end b=b+1 end q=getVariable("ダイス")[a-1] if Q>4 speak("フォーダイスは",q,"でそろっています") else speak("フォーダイスは0点です") end
配列getVariable("ダイス")の0~5に1~6の数がランダムで入る時
配列getVariable("ダイス")0~5のうちどれかが4つ同じなら何でそろっているかを出したいのですが
そろっていてもそろっていない時のスクリプトに行ってしまいます
エラーが出ないので何が間違っているか分かりません
コメントする
コメントするには、ログインする必要があります。
コメント一覧
退会したユーザー(投稿日:2013/01/24 21:08,
履歴)
まず、最初のwhile文では、Qが4の時に抜けるようになってます。
ここはQ==4ではなく、Q>=4では?
Q==4で合っているならそれでもいいです。
次に、最後のif文では
Q>4となっています。
while文で4つそろっても、if文では
4よりもうえとなっているので必ずelseにつながってしまうと思われます
ここはQ==4ではなく、Q>=4では?
Q==4で合っているならそれでもいいです。
次に、最後のif文では
Q>4となっています。
while文で4つそろっても、if文では
4よりもうえとなっているので必ずelseにつながってしまうと思われます
退会したユーザー(投稿日:2013/01/24 21:15,
履歴)
すいません、追加です。
一つ目のwhile文にてです。
b < 6もしくは、Q==4の場合、続けるという事になっています。
Q==4ではなく、Q<4ではないでしょうか?
もしくは、5個はダメのなら、
Q!=4だと思います
一つ目のwhile文にてです。
b < 6もしくは、Q==4の場合、続けるという事になっています。
Q==4ではなく、Q<4ではないでしょうか?
もしくは、5個はダメのなら、
Q!=4だと思います
退会したユーザー(投稿日:2013/01/24 21:26,
履歴)
また追加です。たびたびすいませんorz
b<6||Q<4だと、
bが6以上になっても、Qが4以上にならない限り、
while文から抜けられません。
よって、b<6&&Q<4にするべきだと思います
b<6||Q<4だと、
bが6以上になっても、Qが4以上にならない限り、
while文から抜けられません。
よって、b<6&&Q<4にするべきだと思います
ファイターさんのコメントを参考に作ってみましたが
まだ駄目なようです
を
にして、
を、
にしてみてください。
さらに修正しました
そろっているかどうかは判断できるようになりましたが
何で揃っているかは判断できません
必ず一番大きい数字になってしまいます
治りました
書いている途中に出てきたので・・・・