Example #1
0
    def test_validSteps(self):
        self.assertEquals({
            'n': 'c2',
            'e': 'd1',
            'w': 'b1'
        }, terratri.validSteps('r', terratri.startGrid(), ''))

        # after an inital move of n, red changed the board, so can return south
        self.assertEquals(
            {
                'n': 'c3',
                'e': 'd2',
                'w': 'b2',
                's': 'c1',
                'x': 'end'
            }, terratri.validSteps('r', terratri.after('n'), 'n'))

        # after 1. ns:
        self.assertEquals({
            'S': 'c4',
            'E': 'd5',
            'W': 'b5'
        }, terratri.validSteps('b', terratri.after('ns'), 'ns'))

        # after 1. ns .. SN, red's choices are the same as on the first move
        self.assertEquals({
            'n': 'c2',
            'e': 'd1',
            'w': 'b1'
        }, terratri.validSteps('r', terratri.after('nsSN'), 'nsSN'))

        # but if 2. n, red cannot return south as it leaves the board unchanged
        self.assertEquals({
            'n': 'c3',
            'e': 'd2',
            'w': 'b2',
            'x': 'end'
        }, terratri.validSteps('r', terratri.after('nsSNn'), 'nsSNn'))
Example #2
0
    def test_validSteps(self):
        self.assertEquals(
            {'n':'c2', 'e':'d1', 'w':'b1'},
            terratri.validSteps('r', terratri.startGrid(), ''))

        # after an inital move of n, red changed the board, so can return south
        self.assertEquals(
            {'n':'c3', 'e':'d2', 'w':'b2', 's':'c1', 'x':'end'},
            terratri.validSteps('r', terratri.after('n'), 'n'))

        # after 1. ns:
        self.assertEquals(
            {'S':'c4', 'E':'d5', 'W':'b5'},
            terratri.validSteps('b', terratri.after('ns'), 'ns'))

        # after 1. ns .. SN, red's choices are the same as on the first move
        self.assertEquals(
            {'n':'c2', 'e':'d1', 'w':'b1'},
            terratri.validSteps('r', terratri.after('nsSN'), 'nsSN'))

        # but if 2. n, red cannot return south as it leaves the board unchanged
        self.assertEquals(
            {'n':'c3', 'e':'d2', 'w':'b2', 'x':'end'},
            terratri.validSteps('r', terratri.after('nsSNn'), 'nsSNn'))
Example #3
0
 def validSteps(self):
     if self.game.whoseTurn:
         grid = terratri.boardToGrid(self.game.board)
         return terratri.validSteps(self.game.whoseTurn, grid, self.game.steps)
     else:
         return {}