def calculateLine(self, line, events): # Reset des données for card in line : if card != None : card.resetEffects() # Calcul for card in line : if card != None : # Si on a des effets sur la carte if len(card.effects) > 0 : print("La carte "+card.name+" a des effets sur "+CardType.get_string(card.affectedType)) # Pour chaque carte for other_card in line : if other_card != None : # Différente de card & affectée if other_card != card and card.affectedType == other_card.type : other_card.computeEffects(card) # Calcul avec les cartes event for event in events : if event != None : card.computeEffects(event) # Update visuel après le calcul for card in line : if card != None : card.grap_card.update() card.grap_mincard.update()
def _posEventCard(self, events, hand, other_player): if events[0] == None : if self.deck[hand].cardType == Type.ACTION and self.deck[hand].type == ActionType.EVENT : # On a le bon type if self.deck[hand].deploymentCost < self.money : # Cout de pose self.money = self.money - self.deck[hand].deploymentCost # Graphique self.graph_player.changeMoney(- self.deck[hand].deploymentCost) self.deck[hand].grap_mincard.animate(50, 107, 500) # Log self.log.log("["+self.name+"] Carte posée : "+self.deck[hand].name+" dans event", green) # On change de zone events[0] = self.deck.pop(hand) self._shiftDeck(hand) self.graph_player.update() # Update de toutes les cartes for line in self.gameboard: self.calculateLine(line, events) for card in self.deck: for event in events : if card.cardType == Type.CARD and event != None : card.computeEffects(event) # Update visuel après le calcul card.grap_card.update() card.grap_mincard.update() if other_player != None : for line in other_player.gameboard: other_player.calculateLine(line, events) for card in other_player.deck: for event in events : if card.cardType == Type.CARD and event != None : card.computeEffects(event) # Update visuel après le calcul card.grap_card.update() card.grap_mincard.update() else : print("Erreur : pas assez d'argent pour poser la carte") self.log.msg("Impossible de poser la carte : pas assez d'argent") self.log.log("["+self.name+"] Action impossible : pas assez d'argent", red) else : print("Erreur : type interdit de carte") self.log.msg("Impossible de poser la carte : mauvais type de carte") self.log.log("["+self.name+"] Action impossible : mauvais type", red) else : self.log.msg("Impossible de poser la carte : carte event déjà posée") self.log.log("["+self.name+"] Action impossible : pas de place", red) print("Erreur : carte event déjà posée")