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, numero = 0, 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.numero = numero
  26. self.etat = ""
  27. self.deplacementRestant = 0
  28. def listeAttributs(self):
  29. return self.listeAttributs
  30. def listeAttaques(self):
  31. return self.attaques
  32. def ajouterAuPlateau(self, plateau):
  33. self.plateau = plateau
  34. super(Combattant, self).ajouterAuPlateau(self.plateau)
  35. self.majEtiquette()
  36. def hoverEnterEvent(self, event):
  37. """evenement lors du survol de la souris (en entree)"""
  38. if (self.plateau.pionSelectionne() == None and self.plateau.modeActif == "standard") or self.plateau.modeActif == "pionSupprimer":
  39. self.surbrillance(True, 0.4)
  40. self.plateau.pionSurvol(self.numero)
  41. event.ignore()
  42. def hoverLeaveEvent(self, event):
  43. """evenement lors du survol de la souris (en entree)"""
  44. self.surbrillance(False)
  45. self.plateau.pionSurvol(None)
  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()