• 締切済み

乱数を使う

お世話になっております。 乱数についての質問なんですが、 なんと説明して良いのかわからないので例を挙げます。 コマンドボタンを三つ用意する。 コマンドボタン1をクリックすると、1~3までのランダムな値を表示する。 続けてコマンドボタン2をクリックすると、 先ほど表示した数字以外の1~3までの値を返す。 同様にコマンドボタン3をクリックすると最後に残った数字を表示する。 ってなことがやりたいんですが、 アドバイスお願いします。 あ、あとコマンドボタンを1回クリックすると もう2度とクリックできないようにするなんて事は出来るんですか?

みんなの回答

  • kou2000
  • ベストアンサー率29% (14/48)
回答No.1

Visual Basicではランダム関数があるのでそれを使います。 rsndomize i = int(rnd() * 3) '乱数を0,1,2に指定 二回目からはiをif文で比較していっしょならもう一度とってくるという感じでやってみてください。 最後にボタンを使えなくするのはボタンのEnabledプロパティをfalseに設定するとボタンが使えなくなります。

kogashiman
質問者

お礼

回答ありがとうございました。 基本的な質問で、すいませんでした。 またよろしくお願いしますね。

関連するQ&A

  • 乱数を扱いたい

    Active Basicでプログラムの練習をしています。 今回、乱数を扱いたいのですが、どうしても分かりません。 例えば、1~100までの整数を用意して、その中から数字をランダムで1つ取り出すっと言ったことをしたいのですが・・・・ ((例:58 など)) Rnd( )と言う関数があるようなのですが、いまいち使い方がよく分かりません。 他の関数を使用するのかも分かりません。 すみませんが、どなたか知っていましたら、ご教授願います。

  • ActionScript3で乱数を取得しなおかつ隣とかぶらない

    ActionScript3で乱数を取得しなおかつ隣とかぶらない 質問ですActionScript3で乱数を取得しなおかつ隣とかぶらないソースをコーディングしているのですが、うまいやり方が見つからず困っています。 いまサンプルとして以下の画像のように2つのテキストエリアとボタンを置いてあります。 それぞれボタンを押すとボタン1ならテキスト1に1~10の数字がランダムにしかも前回と同じ数字がでないように表示されます。ここまでならできるのですが問題は例えばテキスト1に3がでていたらテキスト2には3以外でなおかつ前回と同じ数字がでないようにしたいのです。 何か良い方法はないでようか? ■制作環境:ActionScript3 Flash CS4

    • ベストアンサー
    • Flash
  • VBで作った乱数を一度も重複させずに表示する方法を教えてください!

    VB2005で乱数を作り、ボタンを押すごとに一つづつその数字がひょうじされるようにしたいのですが、その数字が一度も重複されないようにするにはどうしたらいいのでしょうか? 例えばボタンを百回押すと、1から100までの数字がランダムに、一度も重複されずに表示されるようにするにはどのようなコードを書けばよいのでしょうか?

  • C++の乱数に関して

    C++の乱数に関する質問です。 最初に1~100の乱数を1ことり、 二番目に、最初に得られた値以外の1~100の乱数を1ことり、 三番目に、最初と二番目に得られた値以外の1~100の乱数を1ことり、 ・・・・・・・ 100番目に最後に残った乱数で選ばれていない値は1個となるので 1番目から99番目で得られた乱数を見れば、 100番目の乱数が予想できる。 この様な乱数はどの様にすれば得られるでしょうか。

  • 乱数がうまくランダムされない

    コマンドボタンを押すごとに画像をランダムに表示したいのですが 決まった順番で表示されてしまいます。 (画像はMy Picturesに440個入っています。) Sub ボタン_Click() Dim i As Long '画像をランダムに表示 i = Int((440 - 1 + 1) * Rnd + 1) Forms("フォーム1").ボタン.Picture = "D:\My Documents\My Pictures\画像" & i & ".ico" Debug.Print i End Sub コマンドボタンを何回かクリックし 上記のコート゛を実行してイミディエイトウインドウで確認すると 311 235 255 128 133 341 7 335 359 となります。 何回やってもこの順番です。 なんの規則かわかりません。 確かにランダムなのですが 本当にランダムにするのはどうすればいいでしょうか? 「i = Int((440 - 1 + 1) * Rnd + 1)」 ここに原因があると思うのですが どうすればいいでしょう? よろしくお願いします。

  • fortran77で乱数を発生させたい

    fortran77で乱数を発生させたい こんばんわ。fortran77で乱数を発生させるにはどうすればいいのでしょうか? 調べてみるとfortran90ならば乱数の組み込み関数が用意されているようなのですが、fortran70にはないそうです。   real function random(i)    i=843314861*i+453816693    random=real(i)/2**31   end function   do 10 k=1,n    ransu(k)=random(i) 10 continue これを用いることで乱数が発生できると書いてあったのですが、オーバーフローしてしまったせいか、値がマイナスのものが出てきてしまい、うまくできませんでした。 これ以外にも方法はないでしょうか? 私の環境はsalford FTN77です。 回答よろしくお願いします。

  • 乱数に対して条件に合った値を返すには?

    エクセル2010で 図のようにしたいです。 B列は乱数です。 C列はB列の乱数に応じて値を入力。 図のように セルB5が2の時は、3か4の値、 セルB6が4の時は、1~4の値を入れたいです。 この図例以外にも乱数に対して返したい値がたくさんあるため どのようにしたらいいのかわかりません。 IF関数を使うと思うのですがやり方がわかりません。 また、IF関数以外で「もっとシンプルにできるよ」という やり方があれば教えてください。 ご回答宜しくお願いします。

  • エクセル 任意の数字から始まる重複しない乱数

    お世話になります。 エクセル2003/XP 使用です。 RANK関数またはそれに似た利用方法でご教授願いします。 下記ページを参考に、"重複しない乱数”を作成しました。 http://www.relief.jp/itnote/archives/001798.php (ページ中程、▼操作手順:重複しない乱数を作成する 以下の部分) 乱数の最初の数字が1から始まる分には問題なくできるのですが、 乱数の数字を、「任意の数字から始めて」、 「任意の数字で終わる」ようにすることは可能でしょうか? 例えば、下記の例でいうと、 6から始まり10で終わる乱数です。        A列     B列 1行目 / =RAND() / 1-5の範囲でランダムな重複しない乱数 2行目 / =RAND() / 同上 3行目 / =RAND() / 同上 4行目 / =RAND() / 同上 5行目 / =RAND() / 同上 ------------------------------------------------------------ 6行目 / =RAND() / 6-10の範囲でランダムな重複しない乱数 7行目 / =RAND() / 同上 8行目 / =RAND() / 同上 9行目 / =RAND() / 同上 10行目 / =RAND() /同上 (11以下、繰り返し 略) よろしくお願いします。

  • Excel2007で乱数をつくりコピペしたいのです

    Excel2007で乱数をつくりコピペしたいです (1)、マクロボタンを押します。 (2)、1~10の数字を乱数で(U6:U15000)に表示(同じ数字が連なっても大丈夫)したらAA3に数値ができあがります。 (3)、(U6:U15000)に出来た乱数をsheet5のC6から下にコピペして、 (4)、(2)でAA3に数値ができあがるのでそれをsheet5のC4にコピペします。 (5)、(1)に戻ってマクロボタンを押すと(2)(3)(4)と行くのですがコピペする場所はCから一つ右隣のDと、マクロボタンを押す度に右隣にコピペしたいです。 ご協力お願いいたします。

  • Excel2007で乱数を利用して

    乱数を利用して抜き出したいです 0~9の数字記号がありまして、その内のいずれかがセルA~AJの各セルに入ってます。 セルA~AJは1~36番目と言うことなんで数字1~36を乱数で被ることなく6個をとり その6個を利用してセルA~AJの数字記号を抜き出してセルQ6~V6に表したいです。 マクロボタンを押す度に別の乱数でまた抜き出しては次のQ7~V7へと、違う乱数を使っては下へ下へと表示したいです。 よろしくお願いいたします。