Combattant.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #from __future__ import unicode_literals
  2. # -*- coding: utf-8 -*-
  3. from Pion import Pion
  4. import regles
  5. class Combattant(Pion):
  6. """combattant sur un plateau de combat"""
  7. def __init__(self, parent=None):
  8. super(Combattant, self).__init__()
  9. #caracs
  10. self.id = None
  11. self.taille = 2
  12. self.depMarche = regles.valeurDefaut("depMarche")
  13. self.depNage = regles.valeurDefaut("depNage")
  14. self.depEscalade = regles.valeurDefaut("depEscalade")
  15. self.depVol = regles.valeurDefaut("depVol")
  16. self.saut = regles.valeurDefaut("saut")
  17. self.attaques = [] #liste des attaques pre-parametrees du pion
  18. self.listeAttributs = regles.listeAttributs()
  19. self.inventaire = []
  20. self.details = {}
  21. self.notes = ""
  22. #caracs liees au combat:
  23. self.etat = ""
  24. self.deplacementRestant = 0
  25. def listeAttaques(self):
  26. return self.attaques
  27. def ajouterAuPlateau(self, plateau):
  28. self.plateau = plateau
  29. super(Combattant, self).ajouterAuPlateau(self.plateau)
  30. self.majEtiquette()
  31. def hoverEnterEvent(self, event):
  32. """evenement lors du survol de la souris (en entree)"""
  33. self.plateau.combattantSurvol(self.numero)
  34. event.ignore()
  35. def hoverLeaveEvent(self, event):
  36. """evenement lors du survol de la souris (en entree)"""
  37. self.plateau.combattantFinSurvol(self.numero)
  38. def mousePressEvent(self, event):
  39. """evenement lors du clic souris"""
  40. super(Pion, self).mousePressEvent(event)
  41. if event.button() == 1: #sur clic gauche
  42. accepte = self.plateau.pionClique(self.numero)
  43. if accepte: event.accept()
  44. else:
  45. event.ignore()
  46. def mouseDoubleClickEvent(self, event):
  47. """evenement lors du clic souris"""
  48. super(Pion, self).mouseDoubleClickEvent(event)
  49. if event.button() == 1: #sur clic gauche
  50. accepte = self.plateau.pionDoubleClic(self.numero)
  51. if accepte: event.accept()
  52. else:
  53. event.ignore()