- 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
.
- 數(shù)據(jù)庫原理及應用教程(第4版)(微課版)
- Test-Driven Development with Mockito
- 云計算環(huán)境下的信息資源集成與服務
- Spark快速大數(shù)據(jù)分析(第2版)
- Python金融大數(shù)據(jù)分析(第2版)
- 大數(shù)據(jù):從概念到運營
- 數(shù)據(jù)架構與商業(yè)智能
- 淘寶、天貓電商數(shù)據(jù)分析與挖掘實戰(zhàn)(第2版)
- 大數(shù)據(jù)數(shù)學基礎(Python語言描述)
- 數(shù)據(jù)挖掘算法實踐與案例詳解
- 大數(shù)據(jù)隱私保護技術與治理機制研究
- SOLIDWORKS 2018中文版機械設計基礎與實例教程
- Learn Selenium
- Flume日志收集與MapReduce模式
- 工業(yè)大數(shù)據(jù)分析實踐