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

Time for action – GamePiece class methods – part 1 – updating

  1. 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 a GamePiece 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. The AddSuffix() 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 the Replace() method of the String 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:

Rotating pieces
主站蜘蛛池模板: 太保市| 黔西县| 朔州市| 原阳县| 共和县| 凤冈县| 九江县| 蒙城县| 金阳县| 虞城县| 资兴市| 阳东县| 得荣县| 略阳县| 和硕县| 陵川县| 长子县| 城市| 凤凰县| 武宁县| 南投县| 宜宾市| 宿州市| 子洲县| 兴隆县| 康马县| 天柱县| 泽州县| 武陟县| 土默特左旗| 永城市| 孝昌县| 杭锦旗| 丽江市| 沧源| 洛隆县| 永济市| 民权县| 临清市| 红桥区| 渝北区|