- XNA 4.0 Game Development by Example Beginner's Guide(Visual Basic Edition)
- Kurt Jaegers
- 268字
- 2021-08-20 15:50:39
Time for action – initializing the game board
- Add a constructor to the
GameBoard
class:Public Sub New(pieceTexture As Texture2D, emptyArea As Rectangle) playingPieces = pieceTexture emptyPiece = emptyArea ClearBoard() End Sub
- Add the
ClearBoard()
helper method to theGameBoard
class:Public Sub ClearBoard() Dim x, y As Integer For x = 0 To GameBoardWidth For y = 0 To GameBoardHeight boardSquares(x, y) = New GamePiece("Empty") Next Next End Sub
What just happened?
When a new instance of the GameBoard
class is created, we store the texture and rectangle values that we will need for drawing, and the constructor calls the ClearBoard()
helper method, which simply creates 80 empty game pieces and assigns them to each element in the array.
Tip
Helper methods
Why not simply put the two for
loops that clear the board into the GameBoard
constructor? Splitting work up into methods that accomplish a single purpose greatly helps to keep your code both readable and maintainable. Additionally, by splitting ClearBoard()
out as its own method, we can call it separately from the constructor. When we add increasing difficulty levels in Chapter 3, Flood Control - Smoothing Out the Rough Edges, we will make use of this call when a new level starts.
Updating GamePieces
The boardSquares
array in the GameBoard
class is declared as a private
member, meaning that code that uses the GameBoard
will not have direct access to the pieces contained on the board.
In order for code in our Game1
class to interact with a GamePiece
, we will need to create public
methods in the GameBoard
class that expose the pieces in boardSquares
.