ラジオボタンを押すと、サイコロの写真をランダムに変えたい

このQ&Aのポイント
  • VisualBasic.Net英語版を使用している大学のプロジェクトで、Yahtzeeというサイコロゲームを作っています。
  • 5つのサイコロ画像つきラジオボタンがあります。
  • 「サイコロを振る」ボタンを押すと、5つのサイコロの画像がランダムに変わります。サイコロが良い目を出した場合、対応するラジオボタンを押すことで画像を固定できます。また、3回「サイコロを振る」ボタンを押すと、ボタンは機能しなくなります。
回答を見る
  • ベストアンサー

ラジオボタンを押すと、ランダムでサイコロの写真を変えたい

VisualBasic.Net英語版を使用しています。 現在大学でYahtzeeというサイコロゲームを作るプロジェクトをグループでやっていますが、チーム全員が行き詰っていまして、こちらに質問させていただきます。 '------------ 5つのサイコロ画像つきラジオボタン(デフォルトは1の目から5の目と上から順に)と、「サイコロを振る」ボタン、そして「サイコロリセット」ボタンがあります。 「サイコロを振る」ボタンを押して5つのサイコロの画像をランダムで変えます。良い目が出たらそのラジオボタンを押し、画像を固定。そうすると「サイコロを振る」ボタンを押しても画像が変わりません。3回「サイコロを振る」ボタンを押すともう「サイコロを振る」ボタンは機能しません。 「サイコロリセット」ボタンを押すと上から順にラジオボタンの絵が1,2,3,4,5の目の絵に変わります。 '------------ 説明が下手で申し訳ありません。Yahtzeeというゲームを遊んだことが有る方ならすぐわかっていただけると思いますが…。 ご質問には補足しますので、どうかよろしくお願いしますm(_ _)m

  • new-b
  • お礼率47% (410/866)

質問者が選んだベストアンサー

  • ベストアンサー
  • potedora
  • ベストアンサー率47% (66/140)
回答No.1

Yahtzeeで遊んだことがないので、 (1) ボタン押下でラジオボタンの画像がランダムに切り替る (2) ラジオボタン押下で画像切り替えが止まる (3) 再度ボタン押下でも画像は止まったまま のソースを以下に示します。 因みにラジオボタンは一つで、画像を切り替えるために フォームに別途イメージリスト(ImageList)を追加しました。 Public Class Form1 Inherits System.Windows.Forms.Form 'ラジオボタンのスレッド Private RadioThread1 As System.Threading.Thread 'ラジオボタンの画像切り替えクラスのインスタンス Private Radio1 As RadioImage '(1)ボタン押下でラジオボタンの画像がランダムに切り替る Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'ラジオボタン画像切り替えクラスのインスタンス作成 Radio1 = New RadioImage(Me.RadioButton1) '画像切り替え処理のスレッド作成 RadioThread1 = New System.Threading.Thread(AddressOf Radio1.Rndom) '画像切り替え処理のスレッド起動 RadioThread1.Start() RadioThread1.Name = "Radio1" End Sub '(2) ラジオボタン押下で画像切り替えが止まる Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged '画像切り替え処理のスレッド終了 RadioThread1.Abort() RadioThread1.Join() 'ラジオボタン画像固定 Radio1.Fix() End Sub 'ラジオボタン画像切り替えクラス Class RadioImage Dim objRadio As RadioButton 'コンストラクタ Public Sub New(ByVal pRadio As RadioButton) MyBase.New() objRadio = pRadio End Sub '画像切り替えメソッド Public Sub Rndom() If objRadio.Tag = "FIX" Then Exit Sub End If Randomize() While True objRadio.ImageIndex = CInt(Int((4 - 0 + 1) * Rnd() + 0)) objRadio.Refresh() End While End Sub '画像固定メソッド Public Sub Fix() objRadio.Tag = "FIX" End Sub End Class End Class お役にたてば幸いです。

new-b
質問者

お礼

ご苦労様でした。ありがとうございます。 これから試してみます。 数日かかると思いますが、またアドバイスいただけると幸いです。

new-b
質問者

補足

遅くながら補足させていただきます。 だんだんと完成に近づいて参りました。 あなたのコードも参考になりました。 どうも有り難うございました。

関連するQ&A

  • VBでボタンを押すと画像をランダム表示させる

    VisualBasic2005ExpressEditionで「ボタンを押すとピクチャーボックスに画像をランダムで表示」させたいんですが、どうやるかわかりません教えてください。何件か探しては見たんですが見つかりませんでした。もしかしてVBでは、そういったプログラムはできないんでしょうか?

  • ラジオボタンをランダムに表示させるには?

    小テストのプログラミングを作っています。 質問の答えの選択肢がラジオボタンで4つ表示されるのですが、毎回同じ位置に答えがあると何度も問題を解いているうちに、回答者は答えの場所を覚えてしまいます。 なので質問の答をランダムに表示させたいのですが、どうしてもやり方がわかりません。 どうぞよろしくお願いいたします。 問1:小説「吾輩は猫である」の作者は誰ですか?<br> <INPUT type="radio" name="sentakushi1" value="1">夏目漱石<br> <INPUT type="radio" name="sentakushi1" value="2">内田百閒<br> <INPUT type="radio" name="sentakushi1" value="3">太宰治<br> <INPUT type="radio" name="sentakushi1" value="4">芥川龍之介<br>

    • ベストアンサー
    • PHP
  • ラジオボタンについて

    どうも、初めまして。 グーグルで色々調べたのですが、いまいち理解できるサイトを見つけることができず、 手持ちの本にも載ってないので質問させてもらいました。 使用ソフト:VC++2008       DXライブラリ 使用言語 :C++ 今ゲーム作成を勉強を兼ねてしているのですが、起動時のウインドウ表示前に ウインドウサイズをラジオボタンで選んで、その後に選ばれたサイズでウインドウを開きたいと思っています。 例:---------------------------   ●ウインドウ(640x480)   ○ウインドウ(960x720)   ○フルスクリーン   ゲームを開始する←ボタン -------------------------------- 上記のような感じです。 if文とSetGraphMode関数を組み合わせようかと考えたのですが、 どうもラジオボタンがわからなくて・・・・・・ もしよかったら簡単なソースや、わかりやすくまとめてあるサイト等を教えてもらえたら幸いです。 後、質問が多いのですが、ゲームやソフトウェア作成する上で参考になったり便利な技術等が載っている本を紹介してもらいたいです。 現在持っている本は プログラミング講義C++ シューティングゲームプログラミング です。

  • ボタンをクリックする度にランダムな画像を表示には

    FLASHで簡単なゲームを作っています。ボタンをクリックするとランダムな画像(もしくはシーン)を表示させるにはどうすればよいでしょうか。よろしくお願いします。

    • ベストアンサー
    • Flash
  • ラジオボタンについて

    こんにちは。ラジオボタンについて質問させてください。 <input type="radio" name="area" value="all" onClick="area.value = 'all'" checked>ALL<br> <input type="radio" name="area" value="a" onClick="area.value = 'a'">A<br> <input type="radio" name="area" value="b" onClick="area.value = 'b'">B<br> というHTMLを記述しました。 画面が表示された後にラジオボタンをチェックして実行(別個作成)すると うまく動作するのですが、チェックボタンをチェックしずに (デフォルトの'ALL'選択のまま)実行するとうまくいきません。 どのようにすればうまく動作するのでしょうか?

    • ベストアンサー
    • HTML
  • 画像のランダム配置からボタンクリックでまとまる

    「ロールオーバーで下画像を表示させる」という質問の回答がありました。 同じような設定で、ステージを400x400、mc0~mc15をランダムに並べておき 別に置いたボタンをクリックすると正しい座標位置へゆっくり移動し、ひとつの 写真にできあがるというのを作りたく思います。 mc0~mc15は写真をスライスした画像100x100です。 ご教授願います。

    • ベストアンサー
    • Flash
  • GUIについての質問です。

    swingを使って、guiの勉強をしています。 サイコロを作りたいのですが、ボタンを押すと1から6のサイコロの画像をランダムに表示させるプログラムが、うまくいきません。 僕ができるのはボタンを押すと画像を表示させることくらいです。 どのようなコードを書けばよいのでしょうか? どなたか知恵を貸していただくとありがたいです。

  • randomメゾットについて

    (int)(Math.random() * 10)で0~9の乱数が得られます。 この意味が全く理解できません。 乱数をキーワードに検索を続けていくと下記のような投稿を見つけました。 さいころの目を題にしたものがあると思うのですが、 その場合、Math.random() * 6 + 1 と回答されていると思います。 それは、 0~5までの乱数を作成し、作成された乱数に1を加算していて、 乱数:Math.random() * (max - min + 1) + min という計算式を元に考えられているのですよね? ますます意味が分かりません。 どなたか私のような者でも分かるように噛み砕いて説明して頂けないでしょうか? 疑似乱数が何かとか、乱数の種類には何があってとか説明されても分からないと思います。 まずは上記の内容について説明頂きたいです。くだらない質問ですみませんが宜しくお願い申し上げます。

    • ベストアンサー
    • Java
  • 理論的に「ランダム」は存在するのか

    この世に、単一の入力からランダムに複数の結果を出力しうるシステムというのは存在するのでしょうか。自然的人工的には存在しなくても、理論的(または論理的)に存在したりはしないものでしょうか。 あるならば、それは具体的にはどういうものでしょうか。 それとも、悪魔の証明になってくるのでしょうか。 (「電子の運動はランダムである」と聞きかじったことがありますが、このランダム性は証明されているのでしょうか。電子の運動は確認されるまで決定できないがランダムであると証明されてはいない、というのであれば、なんらかの(ランダムでない)電子なりの規則が存在する可能性があるが、現状は悪魔の証明ということになると思います。) サイコロはランダムのシステムでないと考えている理由は、サイコロの振り方という“入力”が、毎回単一である状況が有り得ないからです。(仮にそういう状況(つまり手の形から地面の形状からそのときの重力まで)があれば同じであれば、出る目も同じであるはずです。サイコロはむしろカオスです。) 工学的にはプログラム言語のrandom()関数でも使えばランダムの値は得られますが、実際はこれは単一入力ではなく、暗に引数として時間のミリ秒・マイクロ秒を利用していると聞いています。 もしランダムが存在しない場合は、人間の思考も物理現象に帰結され、またアニミズムを否定するという立場をとれば、今の世の中がこうであるのは必然なんだなと思います。つまりそれは、ある時間、たとえばビッグバンが起きたその時における全宇宙(あるいは宇宙外を含めて)の空間次元の全ての運動を初期状態ととりそれを再現できるとすれば、何度その初期状態から繰り返しても、それから137億年経てば、私は今現在このように"教えてgoo"というサイトで質問を書き込んでいるのではないか、ということです。 (哲学というか電波じみて感じる方もおられるかもしれませんが、そういうつもりはないのです。こうならねばおかしいと思います。) また昔のゲーム機などではどのように乱数を出力しているか、とかにも興味があります。余談のような形でランダムについて知ることがあれば教えていただければ幸いです。 投稿があっちゃこっちゃしてすいません。 あくまで主題は1行目ですが、この投稿の中で何か引っかかる知識があれば、多様なお話をしていただきたく思います。 投稿者は、難しそうに書きながら浅学であることは見て取れると思いますので、どうぞ易しくお願いしたいと思います。(笑)

  • javascript ランダム表示

    2回目になります。前回はお世話になりました。 忙しなく、気は引けるのですが、是非教えてもらいたいことがあり質問させていただきます。 やりたいことは、画像が6枚、6枚とあって 上下に2組ずつ表示させます。ただしランダムとはいえ、画像の組み合わせは決まっており、A+B C+D というのは固定という前提で。 画面のイメージとしては 上 画像A + 画像B 下 画像C + 画像D これを、一定時間ごとに  上 画像E + 画像F → 画像A + 画像B(ランダム) 下 画像G + 画像H → 画像I + 画像J (ランダム) E+FとかC+Dは固定ですが、上下で時間ごとに切り替わった時に表示される画像はランダムにしたいのです。A+BやL+Mなどどちらかでるかはランダムといった感じ。 順番どおり、表示させるのは成功したのですが、こちらも是非表現したく、質問させてもらいました。どうか宜しくお願いします。

専門家に質問してみよう