summaryrefslogtreecommitdiff
path: root/cameltris/playfield.py
blob: 2e432b24fd3af521392bd992d131471328a83b48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class PlayField:
    def __init__(self):
        self.grid = [[None] * 10 for _ in range(20)]

    def burn_rows(self) -> int:
        """ Burn rows that can be filled and return how many of them were burnt """
        rows_to_burn = []

        for row in self.grid:
            if all(map(lambda element: element is not None, row)):
                rows_to_burn.append(row)

        for row in rows_to_burn:
            self.grid.insert(0, [None] * 10)
            self.grid.remove(row)

        return len(rows_to_burn)