J'ai un autre soucis maintenant.
Le joueur attaque en même temps qu l'adversaire IA, et le dégâts sont aléatoires, entre 50% et 100% du score d'attaque.
Parfois ça plante, je ne comprends pas pourquoi. Parfois ça marche aussi...
Code:
PAttack = random.randint(PlayerIG.attack/2, PlayerIG.attack) # le joueur attaque, pour faire entre attack/2 et attack dégâts
EAttack = random.randint(enemy.attack/2, enemy.attack) # l'adversaire attaque, idem
File "rpgtuto.py", line 127, in attack
EAttack = random.randint(enemy.attack/2, enemy.attack)
File "/usr/lib/python3.4/random.py", line 218, in randint
return self.randrange(a, b+1)
File "/usr/lib/python3.4/random.py", line 182, in randrange
raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
Ah, je crois avoir trouvé, juste après avoir posté j'ai cherché encore un peu et suis tombé sur ça :
Code:
PAttack = random.uniform(PlayerIG.attack/2, PlayerIG.attack)
EAttack = random.uniform(enemy.attack/2, enemy.attack)
Et ça arrondi les nombres pour ne pas faire de virgules, qui semble-t-il ne sont pas copines avec les int
Et en passant, finalement comment on fait avec des Class à la place des Def ?
Par exemple ça c'est mon Gobelin :
Code:
class Gobelin:
def __init__(self, name):
self.name = name
self.maxhealth = 50
self.health = self.maxhealth
self.attack = 10
self.goldgain = 10 # Ce que gagne le joueur en battant cet adversaire
GobelinIG = Gobelin("Gobelin")
Et sinon, j'ai aussi ça dans un autre fichier de test, que je n'utilise pas. Quelle serait la meilleure option pour avoir un bestiaire varié et pas trop pénible à gérer ?
Code:
class Bestiole:
def __init__(self, nom, atq, viemax, vie, xp, butin, force, agile, intel):
self.nom = nom
self.atq = atq
self.viemax = viemax
self.vie = vie
self.xp = xp
self.butin = butin
self.force = force
self.agile = agile
self.intel = intel
class Lutin(Bestiole):
def __init__(self):
Bestiole.__init__(self, "Lutin", [3, 4], 10, 10, 5, 0, 1, 2, 1)
class Nabot(Bestiole):
def __init__(self):
Bestiole.__init__(self, "Nabot", [5, 6], 15, 15, 8, 0, 2, 2, 2)