• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WSHでプログラムをやっている者です。(遊びですが))

WSHでプログラムをやっている者です。乱数と分岐を組み合わせた際にプログラムが飛んでしまいます。何が原因でしょうか?

このQ&Aのポイント
  • WSHでプログラムをやっている者ですが、乱数と分岐を組み合わせる際にプログラムが飛んでしまいます。いくつかの条件分岐を設定していますが、数回に一回、予期しない動作が発生しています。
  • 乱数と分岐を組み合わせたプログラムで、予期しない動作が発生しています。条件分岐を設定し、挑戦権の獲得やゲームの開始を判断しているのですが、数回に一回、予期せぬ分岐に進んでしまいます。
  • WSHでプログラムを組んでいる際に、乱数と分岐を活用していますが、予期しない動作が発生しています。条件分岐を設定した上で、挑戦権の獲得やゲームの開始を判断しているのですが、何らかのミスがあるようで、数回に一回、予期しない箇所に進んでしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

za=int(rnd*10) ですから、za の値は case 0,1,2,3,4 でない場合、つまり、 case else の場合には「5,6,7,8,9」になります。  ここで、za の値が「6」または「7」だった場合には、 msgbox"さようなら" end if の後で、再び if za=6 then elseif za=7 then という分岐に入ってしまいますので、 >数回に一回、(1)で「OK」をクリックすると(2)や(3)に飛 ぶようなことになるかと存じます。  従って、 if za=6 then a=msgbox("ではゲームを始めます。用意はよろしいですか?",4)⇒(2) elseif za=7 then msgbox"また次の機会に挑戦してください。"⇒(3) end if の行を za=msgbox("ゲームへの挑戦権を獲得しました。挑戦しますか?",4) と case else との間に移動してお試しください。

sqa380
質問者

お礼

ありがとうございました。後のプログラムが関係していたわけですね。 早速直してみます。

関連するQ&A