- ベストアンサー
vb2008でもぐらたたきを作りたいのですが
vb2008でもぐらたたきを作っているのですが、まだまだ初心者なので分からないことだらけです。 フォーム上のスタートボタンを押すことでゲームを開始させ、Timerを用いてPictureBoxを作成し、PictureBoxにもぐらの画像を対応させて、それを指定された数箇所にランダムに表示させたいのですが、どのようにすれば良いのでしょうか。 表示させるもぐらの座標位置は (50,50),(240,50),(430,50) (50,290),(240,290),(430,50) の6つなのですが。 答えていただければ幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、初心者ということで、ちょっとだけヒントみたいなものを。 私ならとりあえずPictureboxにモグラの絵を表示して、Visibleで非表示にします。 その上で、 *タイマーを使って同じ場所に点滅 *その位置がランダムになるように改造 という感じで進めると思います。
その他の回答 (1)
- tohru999
- ベストアンサー率49% (76/154)
もし、NinsinさんがVBの勉強中であれば、ご自分である程度考えた方が良いですよ。 また、何かの課題でしたら、上記と同じですね。 多少なりとも作成してみて、不明点のみ聞くようにした方がイイですよ。 いずれにしても、プログラム丸投げはどうかと...
補足
すみませんでした。 ソースを載せなければどこが不明なのかよく分かりませんでしたね。 とりあえず、ソースはこのような感じです。 Dim Mole As System.Windows.Forms.PictureBox'表示されるモグラ Dim X, Y As Integer '座標指定 For Each Mole In Me.Controls Mole.Tag -= 1 'もぐらの出現している時間のカウント If Mole.Tag = 0 Then Me.Controls.Remove(Mole) 'カウントが0になったらもぐらが消える End If Next If Rnd() * 4 < 1 Then'1/4の確率でもぐらを表示 Mole = New System.Windows.Forms.PictureBox Mole.Size = New Size(100, 100) 'もぐらのサイズは100*100 X = '←この部分の指定の仕方がよく分かりません Y = '←この部分の指定の仕方がよく分かりません Mole.Location = New Point(X, Y) 'もぐらはX,Yの場所に表示される Mole.Image = My.Resources.Mole Mole.Tag = Int(Rnd() * 2) + 1 'もぐらの停滞している時間のカウント AddHandler Mole.Click, AddressOf PictureBox_Click Me.Controls.Add(Mole) End If 不明なのは座標の部分だけです(他にも間違っている部分がありそうですが…)。 色々考えてはみましたが、もぐらを表示させるためのTimerを6つ用意する以外に思いつきませんでした。
お礼
なるほど、そのような手もあるのですね。 参考にさせていただきます。 ありがとうございました。