• 締切済み

VBでテトリスを作りたいのですが、、、

VBでテトリスを作りたいのですが、うまくいきません。 どうすればよいでしょうか? アイディアがほしいです。 写真のように試行錯誤しているのですが、、、

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

ここはご覧になりましたか?ご存じでしたらスルーして下さい。 http://www.geocities.jp/nchikada/pzl.htm

  • gcqd75ce
  • ベストアンサー率8% (6/67)
回答No.2

今、テトリスをプレイしてみたけど あんまりクリックイベント関係ないみたいだねぇ。 すまん!!色連結ゲームには使えそうです(マテ 1個のピクチャーBoxで作るほうがいいですよ。 どこが出来ないか、シボッタほうが良いです。 ショートプログラムなら文字制限範囲でコードを書けますんで。 BY ゲーム好きのレオ。

  • gcqd75ce
  • ベストアンサー率8% (6/67)
回答No.1

やぁ、どもども♪聖帝レオと言います(笑) そもそも、どの程度の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

関連するQ&A