Combattant.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 = None
  17. self.taille = 2
  18. self.depMarche = regles.valeurDefaut("depMarche")
  19. self.depNage = regles.valeurDefaut("depNage")
  20. self.depEscalade = regles.valeurDefaut("depEscalade")
  21. self.depVol = regles.valeurDefaut("depVol")
  22. self.saut = regles.valeurDefaut("saut")
  23. self.attaques = [] #liste des attaques pre-parametrees du pion
  24. self.listeAttributs = regles.listeAttributs()
  25. self.inventaire = []
  26. self.details = {}
  27. self.notes = ""
  28. #caracs liees au combat:
  29. self.etat = ""
  30. self.deplacementRestant = 0
  31. ## def listeAttributs(self):
  32. ## return self.listeAttributs
  33. def listeAttaques(self):
  34. return self.attaques
  35. def ajouterAuPlateau(self, plateau):
  36. self.plateau = plateau
  37. super(Combattant, self).ajouterAuPlateau(self.plateau)
  38. self.majEtiquette()
  39. def hoverEnterEvent(self, event):
  40. """evenement lors du survol de la souris (en entree)"""
  41. self.plateau.combattantSurvol(self.numero)
  42. event.ignore()
  43. def hoverLeaveEvent(self, event):
  44. """evenement lors du survol de la souris (en entree)"""
  45. self.plateau.combattantFinSurvol(self.numero)
  46. def mousePressEvent(self, event):
  47. """evenement lors du clic souris"""
  48. super(Pion, self).mousePressEvent(event)
  49. if event.button() == 1: #sur clic gauche
  50. accepte = self.plateau.pionClique(self.numero)
  51. if accepte: event.accept()
  52. else:
  53. event.ignore()
  54. def mouseDoubleClickEvent(self, event):
  55. """evenement lors du clic souris"""
  56. super(Pion, self).mouseDoubleClickEvent(event)
  57. if event.button() == 1: #sur clic gauche
  58. accepte = self.plateau.pionDoubleClic(self.numero)
  59. if accepte: event.accept()
  60. else:
  61. event.ignore()