Bonjour pour commencer voila mon code:
class ELEMENT:
def __init__(self, a, b, c, d, e, pref, ranchoices):
self.a = a
self.b = b
self.c = c
self.d = d
self.e = e
self.pref = pref
self.ranchoices = ranchoices
Elements = []
for i in range(5):
element = ELEMENT(random.randint(0,20), random.randint(0,20), random.randint(0,20),
random.randint(0,20), random.randint(0,20), [], [])
element.pref += int(element.a) * [element.a]
element.pref += int(element.b) * [element.b]
element.pref += int(element.c) * [element.c]
element.pref += int(element.d) * [element.d]
element.pref += int(element.e) * [element.e]
Elements.append(element)
for element in Elements:
for i in range (5):
ranchoice = random.choice(element.pref)
element.ranchoices.append(ranchoice)
for element in Elements:
print "a = " + str(element.a)
print "b = " + str(element.b)
print "c = " + str(element.c)
print "d = " + str(element.d)
print "e = " + str(element.e)
for ranchoice in element.ranchoices:
print ranchoice
print ""
L'idee est de creer une list d'objets avec chacun 5 variables.
Le programme ajoute chaque variables * valeur de la variable a une liste (donc une variable avec une valeur de 10 sera ajoute 10 fois a la liste)
Il tire ensuite a hasard 5 fois dans cette liste.
Les chances qu'une variable soit tire au sort devrait donc dependre de la valeur de cette variable.
Le probleme c'est que les resultats sont encore trop aleatoires, voila un exemple de ce que j'obtiens:
a = 14
b = 1
c = 9
d = 0
e = 11
11
14
9
14
9
a = 1
b = 6
c = 14
d = 1
e = 9
9
14
9
14
1
a = 10
b = 19
c = 20
d = 19
e = 15
19
19
19
19
15
a = 2
b = 13
c = 1
d = 16
e = 6
2
16
16
13
13
a = 6
b = 4
c = 12
d = 5
e = 20
6
4
20
12
20
Pour mieux comprendre ce que j'essaye d'obtenir je suis en train de faire un petit jeu.
chaque personnage a 5 types de pouvoirs avec une note aleatoire chacune.
Je voudrais que les personnages utilisent leurs pouvoirs en fonction de la note qu'ils ont.
Par exemple un personnage avec un pouvoir A avec une valeur de 18 et ses autres pouvoirs en dessous de 10 devrait surtout utiliser son pouvoir A.