| 
                Option Strict On Option Explicit On 'VisualBasic2010_ブロック崩し 'Timer1コンポーネントを入れる Imports System.Drawing.Drawing2D
  Public Class Form1     'ブロック     Const block_suu% = 48 'ブロック総数     Dim block_life(block_suu - 1) As Boolean 'ブロック表示on_off     Dim block_x(block_suu - 1) As Integer 'ブロック左角横位置     Dim block_y(block_suu - 1) As Integer 'ブロック左角縦位置     'ブロック&ボールの色     Dim brush_1 As LinearGradientBrush = New LinearGradientBrush(New Rectangle(0, 0, 300, 150), Color.Aqua, Color.Blue, 90)     Dim brush_2 As LinearGradientBrush = New LinearGradientBrush(New Rectangle(0, 0, 300, 20), Color.Red, Color.White, 90)     'ボール     Dim boul_x% : Dim boul_y% 'ボールの位置     Dim boul_x_speed% : Dim boul_y_speed% 'ボールの速さ     Dim boul__x_muki As Boolean : Dim boul_y_muki As Boolean 'ボールの向き     '乱数     Dim my_random As Random = New Random
      Public Sub New()
          ' この呼び出しはデザイナーで必要です。         InitializeComponent()
          ' InitializeComponent() 呼び出しの後で初期化を追加します。
          Me.Size = New Size(300, 300)         Me.BackColor = Color.Black         Me.StartPosition = FormStartPosition.CenterScreen         Me.Text = "Reo.Co.Jp"         Me.MinimizeBox = False         Me.MaximizeBox = False         Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D     End Sub
      Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load         game_clear()         Timer1.Interval = 1         Timer1.Enabled = True         Me.DoubleBuffered = True     End Sub     Sub game_clear()         'ブロックの初期化         Dim a% : Dim b%         For i = 0 To block_suu - 1             block_x(i) = a * 35 + 5             block_y(i) = b * 20 + 10             block_life(i) = True             a += 1 : If a = 8 Then a = 0 : b += 1         Next         'ボールの初期化         boul_x = 140 : boul_y = 230         boul_random()         boul__x_muki = True : boul_y_muki = False     End Sub     Sub boul_random()         'ボールのスピード初期化         boul_x_speed = my_random.Next(1, 3)         boul_y_speed = my_random.Next(1, 3)     End Sub     Sub block_hyouji(ByVal g As Graphics, ByVal x%, ByVal y%)         'ブロック表示         g.FillRectangle(brush_1, x, y, 30, 15)     End Sub
      Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick         Dim map As Bitmap = New Bitmap(Width, Height)         Dim g As Graphics = Graphics.FromImage(map)         g.SmoothingMode = SmoothingMode.AntiAlias         'ブロック表示         For i = 0 To block_suu - 1             block_hyouji(g, block_x(i), block_y(i))         Next         'ボール表示         g.FillEllipse(brush_2, boul_x, boul_y, 15, 15)         'ボールの処理(外壁)         If boul__x_muki = True Then boul_x += boul_x_speed         If boul_x > 270 Then boul__x_muki = False : boul_random()         If boul__x_muki = False Then boul_x -= boul_x_speed         If boul_x < -3 Then boul__x_muki = True : boul_random()         If boul_y_muki = False Then boul_y -= boul_y_speed         If boul_y < -3 Then boul_y_muki = True : boul_random()         If boul_y_muki = True Then boul_y += boul_y_speed         If boul_y > 248 Then boul_y_muki = False : boul_random()         'ボールの処理(ブロック接触)         '         'ここが!!!知りたいですか?!!!         'ぼくは、忙しいので、明日か明後日に書きますよ。
              Me.BackgroundImage = map             g.Dispose()     End Sub
  End Class
 
  |