Time for action – falling pieces
Add a new class to the Flood Control project called
FallingPiece
.Add the
Inherits
line after the class declaration as follows:Inherits GamePiece
Add the following declarations to the
FallingPiece
class:Public VerticalOffset As Integer Public Shared FallRate As Integer = 5
Add a constructor for the
FallingPiece
class:Public Sub New(type As String, verticalOffset As Integer) MyBase.New(type) Me.VerticalOffset = verticalOffset End Sub
Add a method to update the piece:
Public Sub UpdatePiece() VerticalOffset = CInt(MathHelper.Max(0, VerticalOffset - FallRate)) End Sub
What just happened?
Simpler than a RotatingPiece
, a FallingPiece
is also a child of the GamePiece
class. A FallingPiece
has an offset (how high above its final destination it is currently located) and a falling speed (the number of pixels it will move per update).
As with a RotatingPiece
, the constructor passes the type parameter to its base class constructor, and uses the verticalOffset...