summaryrefslogtreecommitdiff
path: root/cameltris/playfield.py
diff options
context:
space:
mode:
Diffstat (limited to 'cameltris/playfield.py')
-rw-r--r--cameltris/playfield.py17
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)