UWSCでランダム処理


UWSCで下記のような処理をしたいのですがコードをご教授頂いてもよろしいでしょうか?

・『a』というキーをランダムで『1回』または『2回』または『6回』押す

$a=1;
$b=2;
$c=6;
という風にして、ランダムにa~cを選び、

for文の$iをこれにして『a』を繰り返し押せばいいのだと思いますが、

UWSCというものに詳しくないため非常に困っております。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/08/23 14:35:25
  • 終了:2012/08/23 16:05:47

ベストアンサー

id:Silvanus No.2

Silvanus回答回数174ベストアンサー獲得回数672012/08/23 15:26:34

ポイント100pt

Windowsアクセサリの"メモ帳"を起動した状態で
下記のUWSスクリプトを実行してみて下さい。

CTRLWIN(GETID("メモ帳"), ACTIVATE)
DIM nClick[] = 1, 2, 6
  FOR count = 1 TO nClick[INT(RANDOM(3))]
    KBD(VK_A)
  NEXT
KBD(VK_RETURN)

実行する度に、メモ帳の行に
"a"が1文字か2文字か6文字記入されると思います。
スクリプトの意味が解らなければその旨仰って下さい。
解説いたします。

id:Silvanus

ありゃ、リロードし忘れていて
回答かぶっちゃいましたね…済みません…orz。

2012/08/23 15:29:25
id:ty2016

この度はご回答ありがとう御座います。
希望通りの動作をしてくれましたので、ベストアンサーにさせていただきます。
本当に素晴らしいです。

2012/08/23 16:07:11

その他の回答(2件)

id:gong1971 No.1

gong1971回答回数443ベストアンサー獲得回数682012/08/23 15:23:38

ポイント50pt

この質問でUWSCを知りました。便利そうですね。
ご要望の内容ですが、3通り均等の確率でよければ下記の通りとなります。


I = RANDOM(3)
IF I < 1 THEN
J = 1
ELSEIF I < 2 THEN
J = 2
ELSE
J = 6
ENDIF

FOR I = 1 TO J
KBD(VK_A)
NEXT

id:ty2016

この度はご回答ありがとう御座います。
実行してみたのですが、THEN: SyntaxError 2行目:IF < 1 THEN
というエラーになってしまったようです。
(ですが、既にこの質問は解決したのでご心配なく)

2012/08/23 16:11:27
id:gong1971

SyntaxErrorとの事なのでスペルミスかと思うのですが、
こちらでは正常に動作しています。コピー、ペーストされたでしょうか?


解決済みとの事なので参考までに。

2012/08/23 17:11:35
id:Silvanus No.2

Silvanus回答回数174ベストアンサー獲得回数672012/08/23 15:26:34ここでベストアンサー

ポイント100pt

Windowsアクセサリの"メモ帳"を起動した状態で
下記のUWSスクリプトを実行してみて下さい。

CTRLWIN(GETID("メモ帳"), ACTIVATE)
DIM nClick[] = 1, 2, 6
  FOR count = 1 TO nClick[INT(RANDOM(3))]
    KBD(VK_A)
  NEXT
KBD(VK_RETURN)

実行する度に、メモ帳の行に
"a"が1文字か2文字か6文字記入されると思います。
スクリプトの意味が解らなければその旨仰って下さい。
解説いたします。

id:Silvanus

ありゃ、リロードし忘れていて
回答かぶっちゃいましたね…済みません…orz。

2012/08/23 15:29:25
id:ty2016

この度はご回答ありがとう御座います。
希望通りの動作をしてくれましたので、ベストアンサーにさせていただきます。
本当に素晴らしいです。

2012/08/23 16:07:11
id:a-kuma3 No.3

a-kuma3回答回数4363ベストアンサー獲得回数18002012/08/23 15:35:28

ポイント50pt

こんな感じで、どうでしょうね。

// 送るキー(文字列)を定義
DIM str[] = "a", "aa", "aaaaaa"

// キーを送るウィンドウのIDを取得
id = GETID(...)

// ランダムに選ぶ
i = RANDOM(Length(str))

// 文字列を送信する
SENDSTR(id, str[i])


以下のページを見ながら、想像で書いてます m(_ _)m
http://papuu.jp/wiki/index.php?%A5%BD%A5%D5%A5%C8%2FUWSC
http://www.uwsc.info/sample.html

id:ty2016

この度はご回答ありがとう御座います。
文字列を送信するやり方もあるのですね。参考にさせて頂きます。

2012/08/23 16:12:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません