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

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
主站蜘蛛池模板: 北辰区| 南开区| 霞浦县| 微山县| 淳安县| 正蓝旗| 宣武区| 石阡县| 凭祥市| 吴桥县| 江北区| 沙河市| 平乐县| 大兴区| 桃园县| 中牟县| 顺义区| 磐安县| 丰都县| 英吉沙县| 濮阳县| 琼中| 介休市| 洞口县| 普宁市| 五家渠市| 高安市| 高州市| 平江县| 中西区| 平原县| 五大连池市| 平果县| 泉州市| 北安市| 香河县| 乐业县| 龙岩市| 体育| 顺昌县| 潼关县|