Elagage.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from Outils.Moteur_de_jeu.Pathfinding import *
  2. from Outils.Moteur_de_jeu.Plateau import *
  3. def elagage(plateau, coup) : # Elric
  4. """
  5. On élague un coup si il s'agit d'un mouvement qui n'est pas dans le pathfinding, ou
  6. s'il s'aghit d'une barrière ne touchant ni bord, ni joueur, ni barrière
  7. on retourne True si on garde le coup, false sinon
  8. """
  9. return True
  10. if coup.type == "M" :
  11. chemin = path_finding (plateau, plateau.pions[plateau.tour][0],
  12. plateau.pions[plateau.tour][1],plateau.rangee_desiree(plateau.tour))
  13. return (coup.case in chemin or coup.case[1] == plateau.rangee_desiree(plateau.tour))
  14. else :
  15. bar = coup.barriere
  16. a = plateau.barrieres_adjacentes (bar)
  17. b = plateau.pions_voisins (bar)
  18. c = plateau.bord_adjacent (bar)
  19. return (a != [] or b)#ajouter or c
  20. #Pour prendre moins de temps
  21. def elagage_prudent(plateau, coup) : # Quentin 02/12/2012
  22. """
  23. Même fonction sans condition sur les mouvements
  24. """
  25. if coup.type == "B" :
  26. bar = coup.barriere
  27. a = plateau.barrieres_adjacentes(bar)
  28. b = plateau.pions_voisins(bar)
  29. return a != [] or b
  30. else :
  31. return True