Skip to content
Snippets Groups Projects
Commit fbc2b636 authored by Quentin Mondon-Cancel's avatar Quentin Mondon-Cancel
Browse files

Ajout de tous les tests, avec une fonction d'ajout automatique de nouvelle...

Ajout de tous les tests, avec une fonction d'ajout automatique de nouvelle tuile aléatoire et d'une fonction d'initialisation de grille
parent bd82aba6
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -15,29 +15,34 @@ def get_value_new_tile() :
else :
return "4"
def grid_add_new_tile(game_grid,taille) :
def grid_add_new_tile(game_grid,taille, forceValue = "-1") :
#ajoute une nouvelle tuile de valeur aléatoire
if not " " in grid_get_all_tiles(game_grid) : #On vérifie qu'il y a au moins une place de libre
game_grid = normalize_grid_value(game_grid)
if not "0" in grid_get_all_tiles(game_grid) : #On vérifie qu'il y a au moins une place de libre
return game_grid
newtilex, newtiley = random.randint(0,taille-1),random.randint(0,taille-1)
while game_grid[newtilex][newtiley] != " " : #On cherche une place libre
newtilex, newtiley = random.randint(0,taille-1),random.randint(0,taille-1)
game_grid[newtilex][newtiley] = get_value_new_tile()
newtilex, newtiley = get_new_position(game_grid)
if forceValue == "-1" : #Ici forceValue permet de décider de la valeur à attribuer à la tuile, par défaut on donne une valeur aléatoire à la tuile
game_grid[newtilex][newtiley] = get_value_new_tile()
else :
game_grid[newtilex][newtiley] = forceValue
return game_grid
def grid_get_all_tiles(game_grid) :
#Renvoie une liste de toutes les tuiles, ligne par ligne, de la grille
game_grid = normalize_grid_value(game_grid)
all_tiles_list = []
for row in game_grid :
for i in range(len(row)) : #On transforme les vides en "0"
if row[i] == " " :
row[i] = "0"
all_tiles_list += row
game_grid = normalize_grid_value(game_grid)
return all_tiles_list
def addFirstTiles(game_grid,taille) :
game_grid = normalize_grid_value(game_grid)
#Prend une grille supposée vide et ajoute aléatoirement une tuile 2 et une 4
place2x, place2y = random.randint(0,taille-1),random.randint(0,taille-1)
place4x, place4y = random.randint(0,taille-1),random.randint(0,taille-1)
......@@ -80,4 +85,9 @@ def grid_get_value(game_grid,x,y) :
#on renvoie la valeur de la grille aux coordonnées données
game_grid = normalize_grid_value(game_grid)
return game_grid[x][y]
\ No newline at end of file
def init_game(taille) :
game_grid = create_grid(taille)
game_grid = grid_add_new_tile(game_grid,taille, forceValue = "2")
game_grid = grid_add_new_tile(game_grid,taille, forceValue = "4")
return game_grid
\ No newline at end of file
......@@ -40,3 +40,8 @@ def test_grid_add_new_tile():
tiles = grid_get_all_tiles(game_grid)
assert 2 or 4 in tiles
def test_init_game():
grid = init_game(4)
tiles = grid_get_all_tiles(grid)
assert 2 or 4 in tiles
assert len(get_empty_tiles_positions(grid)) == 14
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment