diff options
Diffstat (limited to 'cameltris/playfield.py')
-rw-r--r-- | cameltris/playfield.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/cameltris/playfield.py b/cameltris/playfield.py new file mode 100644 index 0000000..d1f4e9d --- /dev/null +++ b/cameltris/playfield.py @@ -0,0 +1,17 @@ +class PlayField: + def __init__(self): + self.grid = [[None for _ in range(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 for _ in range(10)]) + self.grid.remove(row) + + return len(rows_to_burn) |