上QQ阅读APP看书,第一时间看更新
Time for action – updating Game1 to update animated pieces
- Modify the
Update()
method of theGame1
class by replacing the current case statement for theGameState.Playing
state with the following:Case GameStates.Playing timeSinceLastInput += (CSng(gameTime.ElapsedGameTime.TotalSeconds)) If _gameBoard.ArePiecesAnimating() Then _gameBoard.UpdateAnimatedPieces() Else _gameBoard.ResetWater() Dim y As Integer For y = 0 To GameBoard.GameBoardHeight CheckScoringChain(_gameBoard.GetWaterChain(y)) Next _gameBoard.GenerateNewPieces(True) If (timeSinceLastInput >= MinTimeSinceLastInput) Then HandleMouseInput(Mouse.GetState()) End If End If
What just happened?
This method is very similar to its previous incarnation. In this instance, we check to see if there are outstanding animated pieces to process. If there are, then UpdateAnimatedPieces()
will run. If no animated pieces currently exist, the previous behavior of the GameStates.Playing
case is executed.