- 締切済み
VBでテトリスを作りたいのですが、、、
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- mitarashi
- ベストアンサー率59% (574/965)
ここはご覧になりましたか?ご存じでしたらスルーして下さい。 http://www.geocities.jp/nchikada/pzl.htm
- gcqd75ce
- ベストアンサー率8% (6/67)
今、テトリスをプレイしてみたけど あんまりクリックイベント関係ないみたいだねぇ。 すまん!!色連結ゲームには使えそうです(マテ 1個のピクチャーBoxで作るほうがいいですよ。 どこが出来ないか、シボッタほうが良いです。 ショートプログラムなら文字制限範囲でコードを書けますんで。 BY ゲーム好きのレオ。
- gcqd75ce
- ベストアンサー率8% (6/67)
やぁ、どもども♪聖帝レオと言います(笑) そもそも、どの程度のVBレベルですかね? それに、どこで、なにが、とか、わからない部分が書いてない。 クリックイベント? ダンダン~っとブロックが消えて落ちるトコ? ブロックの回転? あるいは、全部ですかね? 全部は解説不可ですよ。 クリックイベントは、たくさんの方法がありんす。(笑) コントロールを使わない方法の1つをあげます。 Option Strict On 'VisualBasic2008無料製品 'Picturebox1をフォームに入れる Public Class Form1 Dim font_1 As Font = New Font("Microsoft YaHei", 15, FontStyle.Bold) Public Sub New() ' この呼び出しは、Windows フォーム デザイナで必要です。 InitializeComponent() ' InitializeComponent() 呼び出しの後で初期化を追加します。 Me.Size = New Size(500, 500) Me.BackColor = Color.Gray Me.StartPosition = FormStartPosition.CenterScreen End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load With PictureBox1 .Size = New Size(300, 300) .Location = New Point(20, 20) .BackColor = Color.Black End With End Sub Private Sub PictureBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseClick Dim x, y, b As Integer x = e.X : y = e.Y b = CInt(Math.Truncate(x / 30)) + CInt(Math.Truncate(y / 30) * 10) MsgBox(b) End Sub Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint Dim g As Graphics = e.Graphics g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias g.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias For b = 0 To 9 For a = 0 To 9 g.DrawString(CStr(a + (b * 10)), font_1, Brushes.Blue, a * 30, b * 30) Next Next End Sub End Class