Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.76 KB | None | 0 0
  1. Public Class ChessBoard
  2.     Public Enum ChessPieces
  3.         WHITE_PAWN = 1
  4.         BLACK_PAWN = -1
  5.         WHITE_KNIGHT = 3
  6.         BLACK_KNIGHT = -3
  7.         WHITE_BISHOP = 3
  8.         BLACK_BISHOP = -3
  9.         WHITE_ROOK = 5
  10.         BLACK_ROOK = -5
  11.         WHITE_QUEEN = 9
  12.         BLACK_QUEEN = -9
  13.         WHITE_KING = 200
  14.         BLACK_KING = -200
  15.     End Enum
  16.  
  17.     Private board As String
  18.     Private arr As Array = New Char(8, 8) {}
  19.     Public Sub New()
  20.         board = "RKBQDBKR/PPPPPPPP/8/8/8/8/pppppppp/rkbqdbkr"
  21.         parseFromString()
  22.     End Sub
  23.     Public Sub New(ByVal initial_board As String)
  24.         board = initial_board
  25.         parseFromString()
  26.     End Sub
  27.     Private Sub parseFromString()
  28.         Dim tmp As String = board.Replace("8"c, "NNNNNNNN")
  29.         Dim rows As Array = tmp.Split(New String() {"/"c}, StringSplitOptions.RemoveEmptyEntries)
  30.         For i As Integer = 0 To 7
  31.             For j As Integer = 0 To 7
  32.                 arr(i, j) = rows(i)(j)
  33.             Next
  34.         Next
  35.     End Sub
  36.     Private Sub parseToString(Optional ByVal boardrep As Boolean = False)
  37.         Dim tmp As String = ""
  38.         For i As Integer = 7 To 0 Step -1
  39.             For j As Integer = 7 To 0 Step -1
  40.                 tmp += arr(i, j)
  41.             Next
  42.             If i <> 7 Then
  43.                 If Not boardrep Then tmp += "/" Else tmp += Environment.NewLine
  44.             End If
  45.         Next
  46.         board = tmp
  47.     End Sub
  48.  
  49.     Public ReadOnly Property StringRepresentation
  50.         Get
  51.             parseToString()
  52.             Return board
  53.         End Get
  54.     End Property
  55.  
  56.     Public ReadOnly Property BoardRepresentation
  57.         Get
  58.             parseToString(True)
  59.             Return board
  60.         End Get
  61.     End Property
  62.  
  63. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement