feat(game): add merge

This commit is contained in:
Kristofers Solo 2024-01-03 17:43:02 +02:00
parent 032f361912
commit 8a88e5ee62

View File

@ -42,7 +42,20 @@ class Game2048:
self.add_random_tile() self.add_random_tile()
def merge(self, row: np.ndarray) -> np.ndarray: def merge(self, row: np.ndarray) -> np.ndarray:
pass row = row[row != 0]
merged_row = np.zeros_like(row)
j = 0
for i, _ in enumerate(row):
if i < len(row) - 1 and row[1] == row[i + 1]:
merged_row[j] = 2 * row[i]
j += 1
elif row[i] != 0:
merged_row[j] = row[i]
j += 1
return np.concatenate(
(merged_row, np.zeros(self.size - len(merged_row))), axis=0
)[: self.size]
def display(self) -> None: def display(self) -> None:
for row in self.board: for row in self.board: