Example #1
0
	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()
Example #2
0
	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")