diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py
index 99d881de27a8a302796bc96177e47099dd48cdb0..2f0cc12506233400395a80e49c588e06c2a3baf5 100644
--- a/game2048/grid_2048.py
+++ b/game2048/grid_2048.py
@@ -91,6 +91,7 @@ def long_value_with_theme(grid,theme):
 #FONCTIONNALITE 4
 
 def del_zeros(row):
+    #fonction permettant de supprimer les zeros d'une ligne, qui sont inutiles lors du processus de fusion des cases
     n = len(row)
     new_row = []
     for i in range(n):
@@ -99,6 +100,7 @@ def del_zeros(row):
     return new_row, n
 
 def move_left_bis(row,i=0):
+    #fonction aide pour la fonction recursive finale
     n = len(row)
     if i >= n-1:
         return row
@@ -115,10 +117,13 @@ def move_row_left(row):
     return new_row + [0]*(n - len(new_row))
 
 def move_row_right(row):
+    #bouger à droite revient à bouger à gauche la liste lue dans le sens inverse
     return move_row_left(row[::-1])[::-1]
 
 def move_grid(grid,d):
     taille=len(grid)
+
+    #cas droite et gauche plus simple car utilisation directe des fonctions codées ci dessus
     if d=="left":
         new_grid=[]
         for ligne in range (taille):
@@ -129,28 +134,34 @@ def move_grid(grid,d):
         for ligne in range (taille):
             row=grid[ligne]
             new_grid.append(move_row_right(row))
+
+    #si on doit bouger en haut ou en bas celà revient à bouger la transposer à gauche ou à droite
     else:
-        grid_t=transpose_grid(grid)
+        grid_t=transpose_grid(grid) #on s'interresse donc à la transposée
         new_grid_t=[]
         if d=="up":
             for ligne in range (taille):
                 row=grid_t[ligne]
                 new_grid_t.append(move_row_left(row))
-        else :
+        else : #on ne peut bouger que en haut,bas,droite,gauche, pas besoin de elif donc par deduction
             for ligne in range (taille):
                 row=grid_t[ligne]
                 new_grid_t.append(move_row_right(row))
-        new_grid=transpose_grid(new_grid_t)
+        #on obtient la transposée de la grille finale
+        new_grid=transpose_grid(new_grid_t)  #permet de retoruver la grille "dans le bon sens"
     return(new_grid)
 
 def transpose_grid (liste):
+    #fonction permettant de transposer une liste de liste que l'on identifie à sa matrice
+    #cette fonction ne marche que sur des matrice carrée
    n=len(liste)
    transpo_liste=[]
    for colonne in range (n) :
-       ligne_transpo=[]
+       ligne_transpo=[] #création des lignes de la transposée
        for ligne in range (n) :
           ligne_transpo.append(liste[ligne][colonne])
        transpo_liste.append(ligne_transpo)
+    #renvoie une liste
    return(transpo_liste)
 
 
@@ -160,12 +171,14 @@ def is_grid_full(grid):
     return get_empty_tiles_positions(grid) == []
 
 def move_possible(grid):
+    #renvoie une liste de 4 booléens indiquant si le déplacement à gauche,droite,haut,bas est possible.
     possibles = []
     for d in ["left","right","up","down"]:
-        possibles.append(move_grid(grid,d) != grid)
+        possibles.append(move_grid(grid,d) != grid) #si le deplacement n'est pas possible, la grille reste inchangée apres avoir effectué ce déplacement
     return possibles
 
 def is_game_over(grid):
+    #on a perdu si la grille est pleine et que aucun mouvement n'est possible
     return is_grid_full(grid) and True not in move_possible(grid)
 
 def get_grid_tile_max(grid):
@@ -177,6 +190,7 @@ def did_you_win (grid):
 #Fonctinnalité 6
 
 def list_moove_possible (grid):
+    #renvoie la liste des deplacements possibles
     list_bool=move_possible(grid)
     list_final=[]
     if list_bool[0]:
@@ -192,18 +206,26 @@ def list_moove_possible (grid):
 
 def random_play():
     #on suppose que le jeu par defaut comprend une grille de 4x4
+
+    #phase d'initialisation du jeu
     grid_game=init_game(4)
     print(grid_to_string_with_size_and_theme(grid_game,THEMES["0"],4))
+
+    #phase de jeu
     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")
+
+        #pour chaque tour
+        d=rd.choice(list_moove_possible(grid_game)) #on choisi un mouvement
+        grid_game=move_grid(grid_game,d) #on le fait
+        grid_game=grid_add_new_tile(grid_game) #une tuile se crée
+        print(grid_to_string_with_size_and_theme(grid_game,THEMES["0"],4)) #on affuche le résulat
+        print("\n***********************************\n") #permet aux différentes grilles d'être plus lisible
+
+    #vérification si le jeu est gagnant ou perdant
     if did_you_win(grid_game):
         print("CONGRATS ! YOU WON !!!")
     else :
         print ("YOU FAIL, TRY AGAIN")
     return()
 
-random_play()
+#TEST : random_play()