- XNA 4.0 Game Development by Example Beginner's Guide(Visual Basic Edition)
- Kurt Jaegers
- 250字
- 2021-08-20 15:50:38
Time for action – GamePiece class methods – part 1 – updating
- Add the following methods to the
GamePiece
class:Public Sub SetPiece(type As String, suffix As String) _pieceType = type _pieceSuffix = suffix End Sub Public Sub SetPiece(type As String) SetPiece(type, "") End Sub Public Sub AddSuffix(suffix As String) If Not _pieceSuffix.Contains(suffix) Then _pieceSuffix &= suffix End If End Sub Public Sub RemoveSufix(suffix As String) _pieceSuffix = _pieceSuffix.Replace(suffix, "") End Sub
The first two methods are overloads with the same name, but different parameter lists. In a manner similar to the
GamePiece
constructors, code that wishes to update aGamePiece
can pass it a piece type and, optionally, a suffix.Additional methods have been added to modify suffixes without changing the
pieceType
associated with the piece. TheAddSuffix()
method first checks to see if the piece already contains the suffix. If it does, nothing happens. If it does not, the suffix value passed to the method is added to the_pieceSuffix
member variable.The
RemoveSuffix()
method uses theReplace()
method of theString
class to remove the passed suffix from the_pieceSuffix
variable.
Rotating pieces
The heart of the Flood Control play mechanic is the ability of the player to rotate pieces on the game board to form continuous pipes. In order to accomplish this, we can build a table that, given an existing piece type and a rotation direction, supplies the name of the piece type after rotation. We can then implement this code as a switch statement: