ただいまメモ帳VBSで、初心者がRPGゲームを作ってます。 ランダムエンカウント、...
2014/10/1412:55:15
ただいまメモ帳VBSで、初心者がRPGゲームを作ってます。
ランダムエンカウント、モンスター毎にステータスが違う。などなど。
ところがランダムな部分だけ上手くいきません(泣)。
ググりましたが見つかりませんでした(号泣)。
音楽再生とか探したけど見つからなかった(さらに号泣)。
↓は翻訳
おねがいします。ランダムな敵をランダムな数だけ現れるっていうのはできるのでしょうか?
それと音楽再生ってメモ帳VBSではできないのでしょうか。
- 閲覧数:
- 54
- 回答数:
- 1
- お礼:
- 25枚
ベストアンサーに選ばれた回答
2014/10/1416:15:35
こんにちは。
VBSのマニュアルでは
Randomize ステートメント参 照
Rnd 関数 | Timer 関数
必要条件
バージョン 1
乱数ジェネレータを初期化 (乱数系列を再設定) します。
Randomize [number]
引数 number には、任意の有効な数式を指定します。
解説
number には、Rnd 関数の乱数ジェネレータに引き渡す新しいシード値を指定します。number を省略すると、システム タイマーから取得した値が新しいシード値として使われます。
Randomize ステートメントを使用しない場合、引数を指定しないで Rnd 関数を呼び出すと、最初に Rnd 関数を呼び出したときのシード値と同じ値が使用されます。それ以降は、直前に生成された数がシード値として使用されます。
メモ 乱数系列を繰り返すには、数値を指定して Randomize ステートメントを実行する直前に、負の引数を指定して Rnd 関数を呼び出します。引数 number に同じ値を指定して Randomize ステートメントを使用しても、前の乱数系列を繰り返すことはできません。
次のコードは、Randomize ステートメントの使用例です。
Dim MyValue, Response
Randomize ' 乱数ジェネレータを初期化します。
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1) ' 1 ~ 6 のランダムな値を生成します。
MsgBox MyValue
Response = MsgBox ("繰り返しますか ? ", vbYesNo)
Loop
となっています。
音楽の再生は、「再生するファイル」を準備しておき、再生実行ファイルのshell起動ぐらいしか、出来ないです。
vbsでは、同じスクリプトですら、多重起動が出来ます。
それぞれのスレッドとして存在することになるので、外部に「スレッドのコントロールするスクリプトを指揮者に見立てて、合図を検知して音楽の再生、というように、サインを工夫しながら、複数のVBSファイルで構成するシステムとなります。
ちょい足しを取り消しますが
よろしいですか?
- 取り消す
- キャンセル
この質問につけられたタグ
気になる人がいます
回答受付中の質問
- 連携サービス
- ブログ
- textream(掲示板)
- ペット