REM *** 数当てげーむ ***
randomize
Dim a '今回はメッセージボックスに表示する内容が長いので一旦変数に格納し、プログラムを見やすくします。
a = "*** 数当てげーむ ***" & Chr(13) & "数当てげーむへようこそ。" & Chr(13) & "1~100の数の中から数をあててね。" & Chr(13) & _
"その数に応じて手掛かりが出るよ。" & Chr(13) & "制限回数:5回" & Chr(13) & "始める?"
if msgbox(a,4,"数当てげーむ") = 6 then
Dim i
Dim num 'インプットボックスの値を格納するもの。
Dim ans '答え。
Dim msg '手がかりを格納するためのもの。
msg = ""
ans = int(rnd() * 100) '1-100の値を作ります。
for i = 1 to 5
num = int(inputbox("1-100の数を入力してね。" & Chr(13) & msg,"数あてげーむ " & i & "回目"))
if num = ans then '正解のときforから抜ける。
exit for
end if
msg = msg & num & ":"
if int(num / 10) = int(ans / 10) then '十の位が等しいとき
msg = msg & "十の位正。"
end if
if (ans - num = 90) or (ans - num = 80) or (ans - num = 70) or (ans - num = 60) or (ans - num = 50) or _
(ans - num = 40) or (ans - num = 30) or (ans - num = 20) or (ans - num = 10) or (ans - num = -10) or _
(ans - num = -20) or (ans - num = -30) or (ans - num = -40) or (ans - num = -50) or (ans - num = -60) or _
(ans - num = -70) or (ans - num = -80) or (ans - num = -90) then '一の位が等しいとき
msg = msg & "一の位正。"
end if
if num < ans then '小さいとき。
msg = msg & "ちいさい。"
else '大きいとき。
msg = msg & "おおきい。"
end if
msg = msg & Chr(13)
next
if num = ans then '正解の場合の言葉
msgbox "あたり!!" & Chr(13) & "おめでとう。" & Chr(13) & i & "回で正解しました。"
else 'はずれの場合の言葉
msgbox "5回以内に当てられなかったので残念。" & Chr(13) & "答えは" & ans & "でした。"
end if
else
msgbox "終了します。",0,"数当てげーむ"
end if
卒業制作へ戻る