diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py index 7fb93fdfee8fc38391309da466adce2fced45036..76cdfe03f8216af751d4ab7da4520e95e6727f72 100644 --- a/game2048/grid_2048.py +++ b/game2048/grid_2048.py @@ -117,6 +117,43 @@ def move_row_left(row): def move_row_right(row): return move_row_left(row[::-1])[::-1] +def move_grid(grid,d): + taille=len(grid) + if d=="left": + new_grid=[] + for ligne in range (taille): + row=grid[ligne] + new_grid.append(move_row_left(row)) + elif d=="right": + new_grid=[] + for ligne in range (taille): + row=grid[ligne] + new_grid.append(move_row_right(row)) + else: + grid_t=transpose_grid(grid) + new_grid_t=[] + if d=="up": + for ligne in range (taille): + row=grid_t[ligne] + new_grid_t.append(move_row_left(row)) + else : + for ligne in range (taille): + row=grid_t[ligne] + new_grid_t.append(move_row_right(row)) + new_grid=transpose_grid(new_grid_t) + return(new_grid) + +def transpose_grid (liste): + n=len(liste) + transpo_liste=[] + for colonne in range (n) : + ligne_transpo=[] + for ligne in range (n) : + ligne_transpo.append(liste[ligne][colonne]) + transpo_liste.append(ligne_transpo) + return(transpo_liste) + + # FONCTIONNALITE 5 def is_grid_full(grid):