官术网_书友最值得收藏!

Time for action – updating Game1 to update animated pieces

  1. Modify the Update() method of the Game1 class by replacing the current case statement for the GameState.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.

Drawing animated pieces

Our animated pieces are almost completed. In fact, they all function right now, but you cannot see them because we have not yet updated Draw() to take them into account.

主站蜘蛛池模板: 滁州市| 资中县| 阆中市| 浙江省| 股票| 保靖县| 重庆市| 嘉峪关市| 尉氏县| 元氏县| 铜川市| 二连浩特市| 泸定县| 祁阳县| 广丰县| 正阳县| 金山区| 额敏县| 栾川县| 宜黄县| 安岳县| 泌阳县| 五家渠市| 龙山县| 会东县| 西盟| 莱州市| 平乡县| 怀化市| 贵州省| 铜川市| 镇原县| 宁海县| 雷州市| 建水县| 灌云县| 武城县| 黄浦区| 乐亭县| 柏乡县| 武乡县|