つい先日、vbsをいじりだしたばかりの初心者です。
このプログラムなんですが・・・
msgbox("冒険はじまりー"),,("冒険")
msgbox("てくてく")
i = msgbox("分かれ道だ" & vbCrLf & "はい:左 いいえ:真ん中 キャンセル:右",3,"わかれみち")
if (i=6) then
msgbox("いきどまり")
msgbox("ゲームオーバー")
elseif (i=2) then
msgbox("いきどまり")
msgbox("ゲームオーバー")
else
msgbox("モンスターがあらわれた",48,"バトル")
myhp=10
mymp=5
youhp=20
for i=0 to 10 step 0
num=msgbox("HP(" & myhp & ")" & vbCrLf &_
"MP(" & mymp & ")" & vbCrLf &_
"モンスターHP (" & youhp & ")" & vbCrLf &_
"こうげき:はい かいふく:いいえ まほう:キャンセル",3,"バトル")
if(num=6)then
myhp = myhp-1
mymp = mymp+1
youhp = youhp-1
msgbox("こうげき!" & vbCrLf &_
"モンスターHP-1" & vbCrLf & "自分のHP-1" & vbCrLf & "自分のMP+1")
elseif (num=7) then
myhp = myhp+3
mymp = mymp-3
msgbox"HPが3回復 MPが3減った"
else
youhp = myhp-2
mymp = mymp-2
msgbox"まほうをつかった MP-2 モンスターHP-2"
end if
if(youhp=0)then
msgbox"モンスターに勝った!",64,"やったね"
msgbox"おしまい"
exit for
elseif(myhp=0)then
msgbox"負けた",16,"ざんねん"
msgbox"ゲームオーバー",16,"ざんねん"
exit for
end if
next
end if
これの、攻撃とか魔法とかのところでmsgboxにランダムで違うメッセージを出すことは
できますか?(3パターンくらいです)
調べてみても書き方がよくわかりませんでした・・・。
それと、ゲームオーバーの場合、もう一度やるかどうかの選択メッセージの出し方も
教えていただけると嬉しいです。
質問が多くてごめんなさい、どうぞよろしくお願いしますm(_ _)m
No.2ベストアンサー
- 回答日時:
MsgBox "まほうをつかった"
n = Int(Rnd * 3) + 1 '1~3の乱数発生、それぞれ1/3の確立
If n = 1 Then
MsgBox "効かなかった"
ElseIf n = 2 Then
MsgBox "○○ポイントのダメージを与えた"
ElseIf n = 3 Then
MsgBox "相手は逃げた"
End If
MsgBox "まほうをつかった"
n = Int(Rnd * 10) + 1 '1~10の乱数発生、それぞれ20%、30%、50%の確立
If n < 3 Then
'20%の確立
MsgBox "効かなかった"
ElseIf n < 6 Then
'30%の確立
MsgBox "○○ポイントのダメージを与えた"
Else
'50%の確立
MsgBox "相手は逃げた"
End If
>もう一度やるかどうかの選択メッセージの出し方も
GoTo ステートメント
http://msdn.microsoft.com/ja-jp/library/69whc95c …
No.1
- 回答日時:
vbs 使ったことないですが、
dim a as integer
randomize
a = int((3*rnd)+1)
とすると、aにランダムで1,2,3のいずれかの値が入ります。
中を(5*rnd)とすると、1~5のいずれかになります。
http://www.kanaya440.com/contents/script/vbs/fun …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) Excel VBA ユーザーフォーム 複数のユーザーフォームの閉じ方。 2 2022/04/27 11:29
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードセットにnullの場合
-
日付の重複
-
FPGAのシミュレーションに関して
-
subsequentとnextの違いってな...
-
C言語のプログラムで...
-
FORTRAN77でプログラミング
-
MATLABの質問
-
ドラゴン曲線を再帰で書く
-
他のフォームから別のフォーム...
-
エクセルVBAでテキストボッ...
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
チェックボックスを操作できな...
-
Excel ユーザーフォームで計算 ...
-
Pythonでのかんたんな物理シミ...
-
texで図と表を並べたい
-
VBAでcallで呼び出したsubを終...
-
RichTextBoxで指定行の色を自動...
-
VBでの入力値制限について
-
画像処理について。(移動)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タイムアウトする仕組みを作りたい
-
レコードセットにnullの場合
-
subsequentとnextの違いってな...
-
日付の重複
-
verilogのcase文
-
Verilog-HDLによる設計において
-
Verilogの文法
-
リスト間のアイテム移動について
-
Rubyプログラミングの課題につ...
-
EXCEL VBA 文字 アドレス 検...
-
Delphiでコンポーネント名を変...
-
delphi
-
TreeViewのTag情報取得
-
pascalでの二分探索(バイナリ...
-
エクセルVBAついて ①if•••••the...
-
「for next」文と「if then els...
-
整順リスト形式の英単語辞書(pa...
-
直線検出のハフ変換プログラム(...
-
Matlab
-
【FPGA】VHDLのprocessとevent
おすすめ情報