◂ 17 décembre 2022 ▸
Pyroclastic Flow : Tetris: calculer la hauteur finale d'une chute de pierres
>>><<>>><<<>>>><<>>><<<<>>>><<<>>>><<<>>><<<<>><<><>><<<>>>><<< …
- codePartie1.py
- code.py
- amelioration_estLibre.diffy
- visualisation.txt
- visualisationTerminalCouleurs.png
- couleurs.diffy
Amélioration de la fonction estLibre:
· Pas besoin de tester chaque morceau de la pièce pour voir
si elle tape dans les murs latéraux
· Utilisation de all() au lieu d'une boucle pour tester
chaque morceau
> LARGEURS_PIECES = {'-':4, '+':3, 'L':3, 'I':1, 'O':2}
def estLibre(typePierre, px, py, mur): def estLibre(typePierre, px, py, mur):
for (dx,dy) in PIECES[typePierre]: | if px < 0 or px + LARGEURS_PIECES[typePierre] > NB_COLONN
nx = px+dx | return False
ny = py+dy | return all( mur[py+dy][px+dx] == VIDE for (dx,dy) in PIE
if nx < 0 or nx >= NB_COLONNES or mur[ny][nx] != V |
return False |
return True |