Bonjours,
J'expose mon problème:
J'ai une classe joueur qui fait des paris, un pari étant une nouvelle instance d'une class Pari.
Lorsque mon programme vient a checké quels paris sont gagant ou perdant j'aimerai les del.
Le problème étant que je ne sais pas comment delete toutes les instances d'une class.

classes.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
class Bet:
	bets = []
	def __init__(self, player, case, value, IDPlayer):
		try:
			IDPlayer.tellMoney() >= value
		except:
			print(player + " n'as pas assez d'argent")
		else:
			Bet.bets.append(self)
			self.__IDPlayer = IDPlayer
			self.player = player
			self.__value = value
			self.__case = case
			IDPlayer.popMoney(-value)
 
			#print('__init__(%s)' % self)
 
	def checkWin(self, ballpos):
		if self.__case == ballpos :
			self.__IDPlayer.balanceAffection(self.__value*6)
			print(str(ballpos) + "  " + self.player + " recupère 6 fois sa mise : "+str(self.__value * 6))
		else:
			print(self.player + "Perd sa mise misé sur la case " + str(self.__case))
 
 
	def __del__(self):
		print('__del__(%s)' % self)
game.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
from classes import *
import random as rd
 
TestPlayer1 = AIPlayer()
 
def betTime():
	for p in AIPlayer.playersID:
		AIPlayer.makeBet(p)
 
def checkWin(ballpos):
	for b in Bet.bets:
		Bet.checkWin(b, ballpos)
 
 
 
def giveInformationToPlayers(ballpos):
	AIPlayer.ballpos = ballpos
 
for t in range (2):
 
	#clear all bets
 
	print("Nouveau lancé")
	betTime()
 
	#print(TestPlayer1.tellMoney())
 
	ballpos = rd.randint(0,6)
	print("La balle s'arrete en " + str(ballpos))
 
	giveInformationToPlayers(ballpos)
 
	checkWin(ballpos)
J'ai essayé plusieurs choses comme mettre un del self a la fin de Bet.checkWin() ca n'as pas marché. de même dans le for de la fct° checkWin(ballpos) j'ai essayé un del (b) pareil sans resultats. Les paris restes présent sur plusieurs tour de jeu ce qui est un peu génant. Je suis un peu perdu. En plus je sais bien que c'est pas très propre comme code. Il faudrait que je fasse hériter la class Bet de la classe player ? Parceque il est possible de faire appel a la methode d'affectation de la balance du joueur n'importe ou ?

Enfin ce topic est surtout pour essayé de résoudre le problème du del de toutes les instances d'une classe.

Cordialement, Jean.