#from __future__ import unicode_literals # -*- coding: utf-8 -*- class Action(): """action effectuee par un combattant sur le plateau de jeu""" def __init__(self): self._num = None #no du pion actif self._coordCible = None #coord de la case ciblee par le curseur self._cible = None #cible (case ou pion) def activer(self, plateau): self.plateau = plateau def majCoordCible(self, coord): """met a jour les coordonnees de la cible, cad la case actuellement survolee par la souris""" if self.plateau.estCoordonneeValide(coord): self._coordCible = coord self.maj() def desactiver(self): pass def valider(self): #envoyer signal self.desactiver() def estValide(self): return True def maj(self): pass def acteur(self): return self.plateau.combattants[self._num] def coordActeur(self): return self.acteur().position #manipulation des items graphiques def creerItemsGraphiques(self): pass def majItemsGraphiques(self): pass def detruireItemsGraphiques(self): pass #affichage des cibles def afficherCibles(self, actif): pass class Deplacement(Action): def __init__(self): super(Deplacement, self).__init__(self) self._chemin = [] #liste des coord des cases a traverser self._cout = 0 #cout en points de dep def activer(self, plateau): super(Deplacement, self).activer(self, plateau) def majCoordCible(self, coord): if coord != self.coordActeur(): super(Deplacement, self).majCoordCible(self, coord) def maj(self): self.afficherCibles(False) self._chemin = [] self._cout = 0 coordInit = self.coordActeur() ki = 0 fil = [] self.afficherCibles(True)