Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class Form1
- Public Sub New()
- ' This call is required by the designer.
- InitializeComponent()
- ' Add any initialization after the InitializeComponent() call.
- Dim space As space
- Dim colors() As Color = {Color.White, Color.Black}
- Dim colorctr As Integer
- For i As Integer = 0 To 7
- For i1 As Integer = 0 To 7
- space = New space(i + 1, i1 + 1)
- space.Location = New Point(i * 64 + 67 - i + 1, i1 * 64 + 67 - i1 + 1)
- space.BorderStyle = BorderStyle.FixedSingle
- space.Width = 63
- space.Height = 63
- space.BackColor = color.Transparent
- space.SpaceColor = colors(colorctr)
- If colorctr = 0 Then
- colorctr += 1
- Else
- colorctr = 0
- End If
- pnlBoard.Controls.Add(space)
- AddHandler space.Click, AddressOf spacemouseover
- Dim g As Graphics
- For Each s As space In pnlBoard.Controls
- If s.y = 1 Then
- Select Case s.x
- Case 1
- s.OccupiedPiece = Pieces.Rook
- Case 2
- s.OccupiedPiece = Pieces.Knight
- Case 3
- s.OccupiedPiece = Pieces.Bishop
- Case 4
- s.OccupiedPiece = Pieces.King
- Case 5
- s.OccupiedPiece = Pieces.Queen
- Case 6
- s.OccupiedPiece = Pieces.Bishop
- Case 7
- s.OccupiedPiece = Pieces.Knight
- Case 8
- s.OccupiedPiece = Pieces.Rook
- End Select
- s.ColorOccupied = Color.White
- ElseIf s.y = 2 Then
- s.OccupiedPiece = Pieces.Pawn
- s.ColorOccupied = Color.White
- ElseIf s.y = 7 Then
- Select Case s.x
- Case 1
- s.OccupiedPiece = Pieces.Rook
- Case 2
- s.OccupiedPiece = Pieces.Knight
- Case 3
- s.OccupiedPiece = Pieces.Bishop
- Case 4
- s.OccupiedPiece = Pieces.Queen
- Case 5
- s.OccupiedPiece = Pieces.King
- Case 6
- s.OccupiedPiece = Pieces.Bishop
- Case 7
- s.OccupiedPiece = Pieces.Knight
- Case 8
- s.OccupiedPiece = Pieces.Rook
- End Select
- s.ColorOccupied = Color.Black
- ElseIf s.y = 8 Then
- s.OccupiedPiece = Pieces.Pawn
- s.ColorOccupied = Color.Black
- End If
- pnlBoard.Refresh()
- s.Refresh()
- Next
- Next
- Next
- End Sub
- Private Sub spacemouseover(sender As Object, e As EventArgs)
- MsgBox(sender.x & ", " & sender.y & vbCrLf & sender.ColorOccupied.Name.ToString & vbCrLf & sender.occupiedpiece.ToString & vbCrLf & sender.spacecolor.name.ToString)
- End Sub
- Private Sub pnlBoard_Paint(sender As Object, e As PaintEventArgs) Handles pnlBoard.Paint
- Dim s As space
- Dim g As Graphics
- For i As Integer = 0 To pnlBoard.Controls.Count - 1
- s = pnlBoard.Controls.Item(i)
- If s.OccupiedPiece <> Nothing Then
- g = s.CreateGraphics
- If s.SpaceColor = Color.Black Then
- If s.ColorOccupied = Color.White Then
- s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.Black), New SolidBrush(s.ColorOccupied))
- Else
- s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.White), New SolidBrush(s.ColorOccupied))
- End If
- Else
- s.render(g, New Rectangle(0, 0, s.Width, s.Height), New Pen(Brushes.Black), New SolidBrush(s.ColorOccupied))
- End If
- End If
- Next
- End Sub
- End Class
- 'RENDER SUB
- Public Sub render(ByVal g As Graphics, rect As Rectangle, brush As Pen, fillbrush As SolidBrush)
- g.DrawEllipse(brush, rect)
- g.FillEllipse(fillbrush, rect)
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment