IA_semi_random.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. from random import randint
  2. from Outils.Moteur_de_jeu import Pathfinding
  3. from Outils.Moteur_de_jeu.Pathfinding import *
  4. from Outils.Moteur_de_jeu import Joueur
  5. from Outils.Moteur_de_jeu.Joueur import *
  6. class IA_semi_random(Joueur) :
  7. def __init__(self, nom) :
  8. Joueur.__init__(self, "O", nom)
  9. def calculer_coup(self, plateau, liste_coups) :
  10. indices_B = []
  11. for i in range(len(liste_coups)) :
  12. if liste_coups[i].type == "B" :
  13. indices_B.append(i)
  14. #On choisit un des deux types de mouvement, on mélange la liste qui lui correspond et on en retourne le premier élément sous forme de coup
  15. if randint(0,1) == 1 or indices_B == [] : #Si aucune barrière ne peut être placée, on est obligé de se déplacer
  16. chemin = path_finding (plateau, plateau.pions[self.num][0], plateau.pions[self.num][1],plateau.rangee_desiree(self.num))
  17. for i in range (len(liste_coups)) :
  18. if liste_coups[i].case == chemin[1] :
  19. return i
  20. return 0
  21. else :
  22. return randint(0, len(indices_B) - 1)
  23. return indices_B[i]