Combattant.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #from __future__ import unicode_literals
  2. # -*- coding: utf-8 -*-
  3. from __future__ import division
  4. import os
  5. from PyQt4.QtCore import *
  6. from PyQt4.QtGui import *
  7. from Pion import Pion
  8. from Forme import Forme
  9. from outilsSvg import *
  10. import regles
  11. class Combattant(Pion):
  12. """combattant sur un plateau de combat"""
  13. def __init__(self, parent=None):
  14. super(Combattant, self).__init__()
  15. #caracs
  16. self.id = "00"
  17. self.deplacement = 9
  18. self.vol = 0
  19. self.allonge = 1
  20. self.attaques = [] #liste des attaques pre-parametrees du pion
  21. self.listeAttributs = regles.listeAttributs()
  22. self.inventaire = {}
  23. self.notes = ""
  24. #caracs liees au combat:
  25. self.etat = ""
  26. self.deplacementRestant = 0
  27. def listeAttributs(self):
  28. return self.listeAttributs
  29. def listeAttaques(self):
  30. return self.attaques
  31. def ajouterAuPlateau(self, plateau):
  32. self.plateau = plateau
  33. super(Combattant, self).ajouterAuPlateau(self.plateau)
  34. self.majEtiquette()
  35. def hoverEnterEvent(self, event):
  36. """evenement lors du survol de la souris (en entree)"""
  37. if (self.plateau.pionSelectionne() == None and self.plateau.modeActif == "standard") or self.plateau.modeActif == "pionSupprimer":
  38. self.surbrillance(True, 0.4)
  39. self.plateau.combattantSurvol(self.numero)
  40. event.ignore()
  41. def hoverLeaveEvent(self, event):
  42. """evenement lors du survol de la souris (en entree)"""
  43. self.surbrillance(False)
  44. self.plateau.combattantSurvol(None)
  45. def mousePressEvent(self, event):
  46. """evenement lors du clic souris"""
  47. super(Pion, self).mousePressEvent(event)
  48. if event.button() == 1: #sur clic gauche
  49. accepte = self.plateau.pionClique(self.numero)
  50. if accepte: event.accept()
  51. else:
  52. event.ignore()
  53. def mouseDoubleClickEvent(self, event):
  54. """evenement lors du clic souris"""
  55. super(Pion, self).mouseDoubleClickEvent(event)
  56. if event.button() == 1: #sur clic gauche
  57. accepte = self.plateau.pionDoubleClic(self.numero)
  58. if accepte: event.accept()
  59. else:
  60. event.ignore()