Example #1
0
    def is_terminal(self):
        """ Returns true if the state is a terminal state. """

        # we have a terminal state if the game board is full
        free_position_cnt = self.board.count(None)
        if free_position_cnt == 0:
            return True

        lines = board_lines()

        for line_indexes in lines:
            line_items = [self.board[i] for i in line_indexes]

            if line_items.count(None) == 0 and util.is_unique(line_items):
                return line_items[0]

        return None
Example #2
0
    def is_terminal(self):
        """ Returns true if the state is a terminal state. """

        # we have a terminal state if the game board is full
        free_position_cnt = self.board.count(None)
        if free_position_cnt == 0:
            return True

        lines = board_lines()

        for line_indexes in lines:
            line_items = [self.board[i] for i in line_indexes]

            if line_items.count(None) == 0 and util.is_unique(line_items):
                return line_items[0]

        return None
Example #3
0
    def test_is_unique_false(self):
        """ Should return false when a coll does not contain a unique element """

        coll = [1, 1, 1, 1, 2]
        assert not util.is_unique(coll)
Example #4
0
    def test_is_unique_true(self):
        """ Should return true when coll contains a unique element """

        coll = [1, 1, 1, 1]
        assert util.is_unique(coll)
        return
Example #5
0
    def test_is_unique_false(self):
        """ Should return false when a coll does not contain a unique element """

        coll = [1, 1, 1, 1, 2]
        assert not util.is_unique(coll)
Example #6
0
    def test_is_unique_true(self):
        """ Should return true when coll contains a unique element """

        coll = [1, 1, 1, 1]
        assert util.is_unique(coll)
        return