Exemple #1
0
 def getJumpPosition(self, position, middlePosition):
     # On odd rows, the square on the right is not at position - 4
     # On even rows, the square on the right is at position - 4
     isSkippingRight = Engine.isOnOddRow(position) != (position - middlePosition == 4)
     distanceToNextPosition = 7 if isSkippingRight else 9
     finalPosition = position - distanceToNextPosition
     return finalPosition
Exemple #2
0
    def validMoves(self, position):
        """returns positions of valid moves for a regular red gamepiece on an empty board"""

        moves = []
        if Engine.isOnTopRow(position):
            moves = []
        elif Engine.isOnRightEdge(position) or Engine.isOnLeftEdge(position):
            # Edges only have one valid move
            moves = [position - 4]
        elif Engine.isOnOddRow(position):
            # diagonals above pieces on odd rows are always 4 and 5 pieces after
            moves = [position - 4, position - 3]
        elif Engine.isOnEvenRow(position):
            # diagonals below pieces on even rows are always 3 and 4 piececs after
            moves = [position - 5, position - 4]
        return moves
Exemple #3
0
 def test_isOnOddRow_returnsFalse_forEvenRows(self, value):
     self.assertFalse(Engine.isOnOddRow(value))
Exemple #4
0
 def test_isOnOddRow_returnsTrue_forOddRows(self, value):
     self.assertTrue(Engine.isOnOddRow(value))