|
|
@@ -1310,51 +1310,51 @@ class Plateau(QGraphicsScene):
|
|
|
return preSelection
|
|
|
|
|
|
|
|
|
- def majLigneMireAttaqueDist(self, coordCible = None):
|
|
|
- """met a jour la ligne de mire representant l'attaque a distance"""
|
|
|
- if self.modeParam["cibleAttaqueDist"] != None and self.modeParam["cibleAttaqueDist"] != coordCible:
|
|
|
- self.cases[self.modeParam["cibleAttaqueDist"]].majEstCibleCurseur(False)
|
|
|
-
|
|
|
- if self.modeParam["pionCibleAttaqueDist"] != None:
|
|
|
- self.modeParam["pionCibleAttaqueDist"].estCibleAttaque(False)
|
|
|
-
|
|
|
- if coordCible != None and self.pionSelectionne() != None and self.modeCombat == "combatAttaqueDist":
|
|
|
- if coordCible == None:
|
|
|
- coordCible = pion.position
|
|
|
-
|
|
|
- if coordCible != self.modeParam["cibleAttaqueDist"]:
|
|
|
- if self.modeParam["ligneAttaqueDist"] == None:
|
|
|
- self.modeParam["ligneAttaqueDist"] = QGraphicsLineItem()
|
|
|
- self.modeParam["ligneAttaqueDist"].setZValue(100)
|
|
|
- pinceau = QPen()
|
|
|
- pinceau.setWidth(6)
|
|
|
- self.modeParam["ligneAttaqueDist"].setPen(pinceau)
|
|
|
- self.modeParam["ligneAttaqueDist"].prepareGeometryChange()
|
|
|
- self.addItem(self.modeParam["ligneAttaqueDist"])
|
|
|
-
|
|
|
- z = 0
|
|
|
- pionSurCase = self.cases[coordCible].pionOccupant()
|
|
|
- if pionSurCase != None:
|
|
|
- z = pionSurCase.z
|
|
|
- cibleValide = self.estCibleAttaqueDistValide(self.pionSelectionne().position, coordCible, z)
|
|
|
-
|
|
|
- if pionSurCase != None:
|
|
|
- pionSurCase.estCibleAttaque(True, cibleValide)
|
|
|
- self.modeParam["pionCibleAttaqueDist"] = pionSurCase
|
|
|
- else:
|
|
|
- self.cases[coordCible].majEstCibleCurseur(True, cibleValide)
|
|
|
- self.modeParam["cibleAttaqueDist"] = coordCible
|
|
|
-
|
|
|
- point1 = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- point2 = self.cases[coordCible].centreGraphique
|
|
|
- ligne = QLineF(point1, point2)
|
|
|
- self.modeParam["ligneAttaqueDist"].setLine(ligne)
|
|
|
- else:
|
|
|
- if self.modeParam["ligneAttaqueDist"] != None:
|
|
|
- self.modeParam["ligneAttaqueDist"].prepareGeometryChange()
|
|
|
- self.removeItem(self.modeParam["ligneAttaqueDist"])
|
|
|
- self.modeParam["ligneAttaqueDist"] = None
|
|
|
- self.modeParam["cibleAttaqueDist"] = None
|
|
|
+## def majLigneMireAttaqueDist(self, coordCible = None):
|
|
|
+## """met a jour la ligne de mire representant l'attaque a distance"""
|
|
|
+## if self.modeParam["cibleAttaqueDist"] != None and self.modeParam["cibleAttaqueDist"] != coordCible:
|
|
|
+## self.cases[self.modeParam["cibleAttaqueDist"]].majEstCibleCurseur(False)
|
|
|
+##
|
|
|
+## if self.modeParam["pionCibleAttaqueDist"] != None:
|
|
|
+## self.modeParam["pionCibleAttaqueDist"].estCibleAttaque(False)
|
|
|
+##
|
|
|
+## if coordCible != None and self.pionSelectionne() != None and self.modeCombat == "combatAttaqueDist":
|
|
|
+## if coordCible == None:
|
|
|
+## coordCible = pion.position
|
|
|
+##
|
|
|
+## if coordCible != self.modeParam["cibleAttaqueDist"]:
|
|
|
+## if self.modeParam["ligneAttaqueDist"] == None:
|
|
|
+## self.modeParam["ligneAttaqueDist"] = QGraphicsLineItem()
|
|
|
+## self.modeParam["ligneAttaqueDist"].setZValue(100)
|
|
|
+## pinceau = QPen()
|
|
|
+## pinceau.setWidth(6)
|
|
|
+## self.modeParam["ligneAttaqueDist"].setPen(pinceau)
|
|
|
+## self.modeParam["ligneAttaqueDist"].prepareGeometryChange()
|
|
|
+## self.addItem(self.modeParam["ligneAttaqueDist"])
|
|
|
+##
|
|
|
+## z = 0
|
|
|
+## pionSurCase = self.cases[coordCible].pionOccupant()
|
|
|
+## if pionSurCase != None:
|
|
|
+## z = pionSurCase.z
|
|
|
+## cibleValide = self.estCibleAttaqueDistValide(self.pionSelectionne().position, coordCible, z)
|
|
|
+##
|
|
|
+## if pionSurCase != None:
|
|
|
+## pionSurCase.estCibleAttaque(True, cibleValide)
|
|
|
+## self.modeParam["pionCibleAttaqueDist"] = pionSurCase
|
|
|
+## else:
|
|
|
+## self.cases[coordCible].majEstCibleCurseur(True, cibleValide)
|
|
|
+## self.modeParam["cibleAttaqueDist"] = coordCible
|
|
|
+##
|
|
|
+## point1 = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## point2 = self.cases[coordCible].centreGraphique
|
|
|
+## ligne = QLineF(point1, point2)
|
|
|
+## self.modeParam["ligneAttaqueDist"].setLine(ligne)
|
|
|
+## else:
|
|
|
+## if self.modeParam["ligneAttaqueDist"] != None:
|
|
|
+## self.modeParam["ligneAttaqueDist"].prepareGeometryChange()
|
|
|
+## self.removeItem(self.modeParam["ligneAttaqueDist"])
|
|
|
+## self.modeParam["ligneAttaqueDist"] = None
|
|
|
+## self.modeParam["cibleAttaqueDist"] = None
|
|
|
|
|
|
|
|
|
def estCibleAttaqueDistValide(self, coordOrigine, coordCible, zPion = 0):
|
|
|
@@ -1421,144 +1421,144 @@ class Plateau(QGraphicsScene):
|
|
|
print(msg)
|
|
|
self.majModeCombat("aucun")
|
|
|
|
|
|
- def rectEllipseCirculaire(self, centre, rayon):
|
|
|
- """renvoie le QRectF definissant une ellipse ayant le QPointF pour centre et le rayon en cases entres en param
|
|
|
- attention: l'ellipse n'est pas tout a fait circulaire, elle couvre horizontalement et
|
|
|
- verticalement le nombre de cases demandees"""
|
|
|
- rect = QRectF()
|
|
|
- if rayon > 0:
|
|
|
- p1 = QPointF((centre.x() - (rayon*self.hCase)), (centre.y() - (rayon*self.hCase)))
|
|
|
- p2 = QPointF((centre.x() + (rayon*self.hCase)), (centre.y() + (rayon*self.hCase)))
|
|
|
- rect.setTopLeft(p1)
|
|
|
- rect.setBottomRight(p2)
|
|
|
- else:
|
|
|
- rect = None
|
|
|
- return rect
|
|
|
-
|
|
|
- def polygoneCone(self, point1, point2):
|
|
|
- """renvoie le polygone du cone defini par les deux points (origine, distance)"""
|
|
|
- ligne1 = QLineF(point1, point2)
|
|
|
- longueur = ligne1.length()
|
|
|
- ligne1.setAngle(ligne1.angle() + 22.5)
|
|
|
- ligne1.setLength(1.1547*longueur)
|
|
|
- ligne2 = QLineF(point1, point2)
|
|
|
- ligne2.setAngle(ligne2.angle() - 22.5)
|
|
|
- ligne2.setLength(1.1547*longueur)
|
|
|
- polygone = QPolygonF()
|
|
|
- polygone.append(point1)
|
|
|
- polygone.append(ligne1.p2())
|
|
|
- polygone.append(ligne2.p2())
|
|
|
- return polygone
|
|
|
-
|
|
|
- def majFormeAttaqueZone(self):
|
|
|
- """cree la forme de l'attaque de zone"""
|
|
|
- for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
- self.cases[coord].majEstCibleAttaque(False)
|
|
|
- for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
- self.combattants[numCombattant].estCibleAttaque(False)
|
|
|
-
|
|
|
- if self.modeCombat == "combatAttaqueZone" and self.pionSelectionne() != None:
|
|
|
- if self.modeParam["typeAttaqueZone"] == "ligne":
|
|
|
- if self.modeParam["formeAttaqueZone"] == None:
|
|
|
- self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["formeAttaqueZone"] = QGraphicsLineItem()
|
|
|
- self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
- self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
- self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
- if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
- ligne = QLineF(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
- self.modeParam["formeAttaqueZone"].setLine(ligne)
|
|
|
- self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
- lst = self.casesSousForme(self.modeParam["formeAttaqueZone"],False)
|
|
|
- for coord in lst:
|
|
|
- self.modeParam["listeCasesAttaqueZone"].append(coord)
|
|
|
- #on retire la case du pion selectionne si besoin:
|
|
|
- if self.pionSelectionne().position in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
- self.modeParam["listeCasesAttaqueZone"].remove(self.pionSelectionne().position)
|
|
|
-
|
|
|
- elif self.modeParam["typeAttaqueZone"] == "disque":
|
|
|
- if self.modeParam["ligneMireAttaqueZone"] == None:
|
|
|
- self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["ligneMireAttaqueZone"] = QGraphicsLineItem()
|
|
|
- self.modeParam["ligneMireAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
- self.modeParam["ligneMireAttaqueZone"].prepareGeometryChange()
|
|
|
- self.addItem(self.modeParam["ligneMireAttaqueZone"])
|
|
|
-
|
|
|
- if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
- ligne = QLineF(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
- self.modeParam["ligneMireAttaqueZone"].setLine(ligne)
|
|
|
- coordCible = self.coordonneesAuPoint(self.modeParam["point2AttaqueZone"])
|
|
|
- cibleValide = self.estCibleAttaqueDistValide(self.pionSelectionne().position, coordCible)
|
|
|
-
|
|
|
- if cibleValide:
|
|
|
- rayon = self.fenetre.ui.pi_rayonAttaqueZone.value()
|
|
|
- if self.modeParam["formeAttaqueZone"] == None:
|
|
|
- self.modeParam["formeAttaqueZone"] = QGraphicsEllipseItem()
|
|
|
- self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
- self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
- self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
- rect = self.rectEllipseCirculaire(self.modeParam["point2AttaqueZone"], rayon)
|
|
|
- self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
- if rect != None and rect.bottomRight() != rect.topLeft():
|
|
|
- self.modeParam["formeAttaqueZone"].setRect(rect)
|
|
|
- lst = self.zone(coordCible, rayon, 0) #zone bcp plus rapide que casesSousforme
|
|
|
- self.modeParam["listeCasesAttaqueZone"] = lst
|
|
|
- else:
|
|
|
- self.cases[coordCible].majEstCibleCurseur(True, False)
|
|
|
- self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
-
|
|
|
- if self.modeParam["formeAttaqueZone"] != None:
|
|
|
- self.modeParam["formeAttaqueZone"].setVisible(cibleValide == True and rect != None)
|
|
|
-
|
|
|
- elif self.modeParam["typeAttaqueZone"] == "cone":
|
|
|
- if self.modeParam["formeAttaqueZone"] == None:
|
|
|
- self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
- self.modeParam["formeAttaqueZone"] = QGraphicsPolygonItem()
|
|
|
- self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
- self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
- self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
-
|
|
|
- if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
- cone = self.polygoneCone(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
- self.modeParam["formeAttaqueZone"].setPolygon(cone)
|
|
|
- lst = self.casesSousForme(self.modeParam["formeAttaqueZone"], True, True)
|
|
|
- self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
- for coord in lst:
|
|
|
- if coord != self.pionSelectionne().position:
|
|
|
- self.modeParam["listeCasesAttaqueZone"].append(coord)
|
|
|
-
|
|
|
- for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
- self.cases[coord].majEstCibleAttaque(True)
|
|
|
- for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
- self.combattants[numCombattant].estCibleAttaque(True)
|
|
|
-
|
|
|
-
|
|
|
- def validerAttaqueZone(self):
|
|
|
- """l'attaque de zone est validee"""
|
|
|
- if self.modeActif_old == "pionSelectionne" and self.modeCombat == "combatAttaqueZone":
|
|
|
- for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
- print("{} a lance une attaque de zone sur {}".format(self.pionSelectionne().nom, self.pionSelectionne().numero , \
|
|
|
- self.combattants[numCombattant].nom, self.combattants[numCombattant].numero))
|
|
|
- self.majModeCombat("aucun")
|
|
|
-
|
|
|
- def reinitAttaqueZone(self):
|
|
|
- if self.modeParam["formeAttaqueZone"] != None:
|
|
|
- self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
- self.removeItem(self.modeParam["formeAttaqueZone"])
|
|
|
- self.modeParam["formeAttaqueZone"] = None
|
|
|
- if self.modeParam["ligneMireAttaqueZone"] != None:
|
|
|
- self.modeParam["ligneMireAttaqueZone"].prepareGeometryChange()
|
|
|
- self.removeItem(self.modeParam["ligneMireAttaqueZone"])
|
|
|
- self.modeParam["ligneMireAttaqueZone"] = None
|
|
|
- if self.modeParam["point2AttaqueZone"] != None:
|
|
|
- self.cases[self.coordonneesAuPoint(self.modeParam["point2AttaqueZone"])].majEstCibleCurseur(False)
|
|
|
- for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
- self.cases[coord].majEstCibleAttaque(False)
|
|
|
- for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
- self.combattants[numCombattant].estCibleAttaque(False)
|
|
|
+## def rectEllipseCirculaire(self, centre, rayon):
|
|
|
+## """renvoie le QRectF definissant une ellipse ayant le QPointF pour centre et le rayon en cases entres en param
|
|
|
+## attention: l'ellipse n'est pas tout a fait circulaire, elle couvre horizontalement et
|
|
|
+## verticalement le nombre de cases demandees"""
|
|
|
+## rect = QRectF()
|
|
|
+## if rayon > 0:
|
|
|
+## p1 = QPointF((centre.x() - (rayon*self.hCase)), (centre.y() - (rayon*self.hCase)))
|
|
|
+## p2 = QPointF((centre.x() + (rayon*self.hCase)), (centre.y() + (rayon*self.hCase)))
|
|
|
+## rect.setTopLeft(p1)
|
|
|
+## rect.setBottomRight(p2)
|
|
|
+## else:
|
|
|
+## rect = None
|
|
|
+## return rect
|
|
|
+
|
|
|
+## def polygoneCone(self, point1, point2):
|
|
|
+## """renvoie le polygone du cone defini par les deux points (origine, distance)"""
|
|
|
+## ligne1 = QLineF(point1, point2)
|
|
|
+## longueur = ligne1.length()
|
|
|
+## ligne1.setAngle(ligne1.angle() + 22.5)
|
|
|
+## ligne1.setLength(1.1547*longueur)
|
|
|
+## ligne2 = QLineF(point1, point2)
|
|
|
+## ligne2.setAngle(ligne2.angle() - 22.5)
|
|
|
+## ligne2.setLength(1.1547*longueur)
|
|
|
+## polygone = QPolygonF()
|
|
|
+## polygone.append(point1)
|
|
|
+## polygone.append(ligne1.p2())
|
|
|
+## polygone.append(ligne2.p2())
|
|
|
+## return polygone
|
|
|
+
|
|
|
+## def majFormeAttaqueZone(self):
|
|
|
+## """cree la forme de l'attaque de zone"""
|
|
|
+## for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
+## self.cases[coord].majEstCibleAttaque(False)
|
|
|
+## for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
+## self.combattants[numCombattant].estCibleAttaque(False)
|
|
|
+##
|
|
|
+## if self.modeCombat == "combatAttaqueZone" and self.pionSelectionne() != None:
|
|
|
+## if self.modeParam["typeAttaqueZone"] == "ligne":
|
|
|
+## if self.modeParam["formeAttaqueZone"] == None:
|
|
|
+## self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["formeAttaqueZone"] = QGraphicsLineItem()
|
|
|
+## self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
+## self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
+## if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
+## ligne = QLineF(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
+## self.modeParam["formeAttaqueZone"].setLine(ligne)
|
|
|
+## self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
+## lst = self.casesSousForme(self.modeParam["formeAttaqueZone"],False)
|
|
|
+## for coord in lst:
|
|
|
+## self.modeParam["listeCasesAttaqueZone"].append(coord)
|
|
|
+## #on retire la case du pion selectionne si besoin:
|
|
|
+## if self.pionSelectionne().position in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
+## self.modeParam["listeCasesAttaqueZone"].remove(self.pionSelectionne().position)
|
|
|
+##
|
|
|
+## elif self.modeParam["typeAttaqueZone"] == "disque":
|
|
|
+## if self.modeParam["ligneMireAttaqueZone"] == None:
|
|
|
+## self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["ligneMireAttaqueZone"] = QGraphicsLineItem()
|
|
|
+## self.modeParam["ligneMireAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
+## self.modeParam["ligneMireAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.addItem(self.modeParam["ligneMireAttaqueZone"])
|
|
|
+##
|
|
|
+## if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
+## ligne = QLineF(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
+## self.modeParam["ligneMireAttaqueZone"].setLine(ligne)
|
|
|
+## coordCible = self.coordonneesAuPoint(self.modeParam["point2AttaqueZone"])
|
|
|
+## cibleValide = self.estCibleAttaqueDistValide(self.pionSelectionne().position, coordCible)
|
|
|
+##
|
|
|
+## if cibleValide:
|
|
|
+## rayon = self.fenetre.ui.pi_rayonAttaqueZone.value()
|
|
|
+## if self.modeParam["formeAttaqueZone"] == None:
|
|
|
+## self.modeParam["formeAttaqueZone"] = QGraphicsEllipseItem()
|
|
|
+## self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
+## self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
+## rect = self.rectEllipseCirculaire(self.modeParam["point2AttaqueZone"], rayon)
|
|
|
+## self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
+## if rect != None and rect.bottomRight() != rect.topLeft():
|
|
|
+## self.modeParam["formeAttaqueZone"].setRect(rect)
|
|
|
+## lst = self.zone(coordCible, rayon, 0) #zone bcp plus rapide que casesSousforme
|
|
|
+## self.modeParam["listeCasesAttaqueZone"] = lst
|
|
|
+## else:
|
|
|
+## self.cases[coordCible].majEstCibleCurseur(True, False)
|
|
|
+## self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
+##
|
|
|
+## if self.modeParam["formeAttaqueZone"] != None:
|
|
|
+## self.modeParam["formeAttaqueZone"].setVisible(cibleValide == True and rect != None)
|
|
|
+##
|
|
|
+## elif self.modeParam["typeAttaqueZone"] == "cone":
|
|
|
+## if self.modeParam["formeAttaqueZone"] == None:
|
|
|
+## self.modeParam["origineAttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["point2AttaqueZone"] = self.cases[self.pionSelectionne().position].centreGraphique
|
|
|
+## self.modeParam["formeAttaqueZone"] = QGraphicsPolygonItem()
|
|
|
+## self.modeParam["formeAttaqueZone"].setPen(QPen(QColor("black")))
|
|
|
+## self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.addItem(self.modeParam["formeAttaqueZone"])
|
|
|
+##
|
|
|
+## if self.modeParam["origineAttaqueZone"] != self.modeParam["point2AttaqueZone"]:
|
|
|
+## cone = self.polygoneCone(self.modeParam["origineAttaqueZone"], self.modeParam["point2AttaqueZone"])
|
|
|
+## self.modeParam["formeAttaqueZone"].setPolygon(cone)
|
|
|
+## lst = self.casesSousForme(self.modeParam["formeAttaqueZone"], True, True)
|
|
|
+## self.modeParam["listeCasesAttaqueZone"] = []
|
|
|
+## for coord in lst:
|
|
|
+## if coord != self.pionSelectionne().position:
|
|
|
+## self.modeParam["listeCasesAttaqueZone"].append(coord)
|
|
|
+##
|
|
|
+## for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
+## self.cases[coord].majEstCibleAttaque(True)
|
|
|
+## for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
+## self.combattants[numCombattant].estCibleAttaque(True)
|
|
|
+
|
|
|
+
|
|
|
+## def validerAttaqueZone(self):
|
|
|
+## """l'attaque de zone est validee"""
|
|
|
+## if self.modeActif_old == "pionSelectionne" and self.modeCombat == "combatAttaqueZone":
|
|
|
+## for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
+## print("{} a lance une attaque de zone sur {}".format(self.pionSelectionne().nom, self.pionSelectionne().numero , \
|
|
|
+## self.combattants[numCombattant].nom, self.combattants[numCombattant].numero))
|
|
|
+## self.majModeCombat("aucun")
|
|
|
+##
|
|
|
+## def reinitAttaqueZone(self):
|
|
|
+## if self.modeParam["formeAttaqueZone"] != None:
|
|
|
+## self.modeParam["formeAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.removeItem(self.modeParam["formeAttaqueZone"])
|
|
|
+## self.modeParam["formeAttaqueZone"] = None
|
|
|
+## if self.modeParam["ligneMireAttaqueZone"] != None:
|
|
|
+## self.modeParam["ligneMireAttaqueZone"].prepareGeometryChange()
|
|
|
+## self.removeItem(self.modeParam["ligneMireAttaqueZone"])
|
|
|
+## self.modeParam["ligneMireAttaqueZone"] = None
|
|
|
+## if self.modeParam["point2AttaqueZone"] != None:
|
|
|
+## self.cases[self.coordonneesAuPoint(self.modeParam["point2AttaqueZone"])].majEstCibleCurseur(False)
|
|
|
+## for coord in self.modeParam["listeCasesAttaqueZone"]:
|
|
|
+## self.cases[coord].majEstCibleAttaque(False)
|
|
|
+## for numCombattant in self.pionsSurListeCase(self.modeParam["listeCasesAttaqueZone"]):
|
|
|
+## self.combattants[numCombattant].estCibleAttaque(False)
|
|
|
|
|
|
def pionSurCase(self, coord):
|
|
|
"""renvoie le pion present sur la case, none sinon"""
|