Guest User

Chess thing

a guest
Apr 3rd, 2015
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Public Class Form1
  2.  
  3.     Public Sub New()
  4.  
  5.         ' This call is required by the designer.
  6.        InitializeComponent()
  7.  
  8.         ' Add any initialization after the InitializeComponent() call.
  9.        Dim space As space
  10.         Dim colors() As Color = {Color.White, Color.Black}
  11.         Dim colorctr As Integer
  12.         For i As Integer = 0 To 7
  13.             For i1 As Integer = 0 To 7
  14.                 space = New space(i + 1, i1 + 1)
  15.                 space.Location = New Point(i * 64 + 67 - i + 1, i1 * 64 + 67 - i1 + 1)
  16.                 space.BorderStyle = BorderStyle.FixedSingle
  17.                 space.Width = 63
  18.                 space.Height = 63
  19.                 space.BackColor = color.Transparent
  20.                 space.SpaceColor = colors(colorctr)
  21.                 If colorctr = 0 Then
  22.                     colorctr += 1
  23.                 Else
  24.                     colorctr = 0
  25.                 End If
  26.                 pnlBoard.Controls.Add(space)
  27.                 AddHandler space.Click, AddressOf spacemouseover
  28.                 Dim g As Graphics
  29.                 For Each s As space In pnlBoard.Controls
  30.                     If s.y = 1 Then
  31.                         Select Case s.x
  32.                             Case 1
  33.                                 s.OccupiedPiece = Pieces.Rook
  34.                             Case 2
  35.                                 s.OccupiedPiece = Pieces.Knight
  36.                             Case 3
  37.                                 s.OccupiedPiece = Pieces.Bishop
  38.                             Case 4
  39.                                 s.OccupiedPiece = Pieces.King
  40.                             Case 5
  41.                                 s.OccupiedPiece = Pieces.Queen
  42.                             Case 6
  43.                                 s.OccupiedPiece = Pieces.Bishop
  44.                             Case 7
  45.                                 s.OccupiedPiece = Pieces.Knight
  46.                             Case 8
  47.                                 s.OccupiedPiece = Pieces.Rook
  48.                         End Select
  49.                         s.ColorOccupied = Color.White
  50.                     ElseIf s.y = 2 Then
  51.                         s.OccupiedPiece = Pieces.Pawn
  52.                         s.ColorOccupied = Color.White
  53.                     ElseIf s.y = 7 Then
  54.                         Select Case s.x
  55.                             Case 1
  56.                                 s.OccupiedPiece = Pieces.Rook
  57.                             Case 2
  58.                                 s.OccupiedPiece = Pieces.Knight
  59.                             Case 3
  60.                                 s.OccupiedPiece = Pieces.Bishop
  61.                             Case 4
  62.                                 s.OccupiedPiece = Pieces.Queen
  63.                             Case 5
  64.                                 s.OccupiedPiece = Pieces.King
  65.                             Case 6
  66.                                 s.OccupiedPiece = Pieces.Bishop
  67.                             Case 7
  68.                                 s.OccupiedPiece = Pieces.Knight
  69.                             Case 8
  70.                                 s.OccupiedPiece = Pieces.Rook
  71.                         End Select
  72.                         s.ColorOccupied = Color.Black
  73.                     ElseIf s.y = 8 Then
  74.                         s.OccupiedPiece = Pieces.Pawn
  75.                         s.ColorOccupied = Color.Black
  76.                     End If
  77.                     pnlBoard.Refresh()
  78.                     s.Refresh()
  79.                 Next
  80.             Next
  81.         Next
  82.     End Sub
  83.  
  84.     Private Sub spacemouseover(sender As Object, e As EventArgs)
  85.         MsgBox(sender.x & ", " & sender.y & vbCrLf & sender.ColorOccupied.Name.ToString & vbCrLf & sender.occupiedpiece.ToString & vbCrLf & sender.spacecolor.name.ToString)
  86.     End Sub
  87.  
  88.     Private Sub pnlBoard_Paint(sender As Object, e As PaintEventArgs) Handles pnlBoard.Paint
  89.         Dim s As space
  90.         Dim g As Graphics
  91.         For i As Integer = 0 To pnlBoard.Controls.Count - 1
  92.             s = pnlBoard.Controls.Item(i)
  93.             If s.OccupiedPiece <> Nothing Then
  94.                 g = s.CreateGraphics
  95.                 If s.SpaceColor = Color.Black Then
  96.                     If s.ColorOccupied = Color.White Then
  97.                         s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.Black), New SolidBrush(s.ColorOccupied))
  98.                     Else
  99.                         s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.White), New SolidBrush(s.ColorOccupied))
  100.                     End If
  101.                 Else
  102.                     s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.Black), New SolidBrush(s.ColorOccupied))
  103.                 End If
  104.             End If
  105.         Next
  106.     End Sub
  107. End Class
  108.  
  109.  
  110. 'RENDER SUB
  111. Public Sub render(ByVal g As Graphics, rect As Rectangle, brush As Pen, fillbrush As SolidBrush)
  112.         g.DrawEllipse(brush, rect)
  113.         g.FillEllipse(fillbrush, rect)
  114. End Sub
Advertisement
Add Comment
Please, Sign In to add comment