diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py index c93da5bd4aac8c2a51cd02d6717048870966faa3..e6f8bd00d561e6d42229ed8b15133ac07e33705e 100644 --- a/game2048/grid_2048.py +++ b/game2048/grid_2048.py @@ -8,7 +8,7 @@ def create_grid(n): game_grid = [] for i in range(n): #crée le bon nombre de ligne - game_grid.append([' ']*n) #crée le bon nombre de colonnes + game_grid.append([0]*n) #crée le bon nombre de colonnes return (game_grid) @@ -125,7 +125,7 @@ def del_zeros(row): def move_left_bis(row,i=0): n = len(row) - if i == n-1: + if i >= n-1: return row if row[i] == row[i+1]: row[i] = row[i]*2 @@ -195,3 +195,40 @@ def is_game_over(grid): def get_grid_tile_max(grid): return max(get_all_tiles(grid)) +def did_you_win (grid): + return (get_grid_tile_max(grid)>=2048) + + +#Fonctinnalité 6 + +def list_moove_possible (grid): + list_bool=move_possible(grid) + list_final=[] + if list_bool[0]: + list_final.append("left") + if list_bool[1]: + list_final.append("right") + if list_bool[2]: + list_final.append("up") + if list_bool[3]: + list_final.append("down") + return(list_final) + + +def random_play(): + #on suppose que le jeu par defaut comprend une grille de 4x4 + grid_game=init_game(4) + print(grid_to_string_with_size_and_theme(grid_game,THEMES["0"],4)) + while not is_game_over(grid_game): + d=rd.choice(list_moove_possible(grid_game)) + grid_game=move_grid(grid_game,d) + grid_game=grid_add_new_tile(grid_game) + print(grid_to_string_with_size_and_theme(grid_game,THEMES["0"],4)) + print("\n***********************************\n") + if did_you_win(grid_game): + print("CONGRATS ! YOU WON !!!") + else : + print ("YOU FAIL, TRY AGAIN") + return() + +random_play()