12345678910111213141516171819202122232425262728293031 |
- from random import randint
- from Outils.Moteur_de_jeu import Pathfinding
- from Outils.Moteur_de_jeu.Pathfinding import *
- from Outils.Moteur_de_jeu import Joueur
- from Outils.Moteur_de_jeu.Joueur import *
- class IA_semi_random(Joueur) :
- def __init__(self, nom) :
- Joueur.__init__(self, "O", nom)
- def calculer_coup(self, plateau, liste_coups) :
- indices_B = []
- for i in range(len(liste_coups)) :
- if liste_coups[i].type == "B" :
- indices_B.append(i)
-
-
- #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
- if randint(0,1) == 1 or indices_B == [] : #Si aucune barrière ne peut être placée, on est obligé de se déplacer
- chemin = path_finding (plateau, plateau.pions[self.num][0], plateau.pions[self.num][1],plateau.rangee_desiree(self.num))
- for i in range (len(liste_coups)) :
- if liste_coups[i].case == chemin[1] :
- return i
- return 0
-
- else :
- return randint(0, len(indices_B) - 1)
- return indices_B[i]
|