2015-02-28 1 views
0

Je viens juste de commencer à apprendre des cours la semaine dernière dans mon jeu de développement. classe. J'essaie de créer quelque chose qui me permettra de créer des instances de quelque chose dans une boucle for. Par exemple, j'essaie de créer 5 instances de Player dans une boucle et d'utiliser un numéro d'identification qui augmentera à chaque fois que la boucle sera bouclée. Je suis allé aussi loin.Créer des instances dans une boucle

class Player(object): 
    def __init__(self, nm, am, wp, ht, ide): 
     self.name = nm 
     self.ammo = am 
     self.weapon = wp 
     self.health = ht 
     self.id = ide 

    def __str__(self): 
     values = "Hi my name is " + self.name + "\n" + "Ammo: " + str(self.ammo) + "\n" + "Weapon: " + self.weapon + "\n" + "Health: " + str(self.health) + "\n" + "ID #: " + str(self.id) 
     return values 

def main(): 
    Players = 0 
    while Players < 5: 
     play1 = Player("Joe", 5, "Machine gun", 22, 1) 
     print (play1) 
     Players = Players + 1 

J'ai réussi à créer 5 cas de Joe ce qui est bien, mais comment pourrais-je augmenter l'ID #?

Répondre

0
class Player(object): 
    def __init__(self, nm, am, wp, ht, ide): 
     self.name = nm 
     self.ammo = am 
     self.weapon = wp 
     self.health = ht 
     self.id = ide 

    def __str__(self): 
     values = "Hi my name is " + self.name + "\n" + "Ammo: " + str(self.ammo) + "\n" + "Weapon: " + self.weapon + "\n" + "Health: " + str(self.health) + "\n" + "ID #: " + str(self.id) 
     return values 

def main(): 
    Players = 0 
    while Players < 5: 
     play1 = Player("Joe", 5, "Machine gun", 22, Players) 
     print (play1) 
     Players = Players + 1 

Utilisez le Var Les joueurs et le mettre dans la classe

+0

je celui-ci comme il semblait le mieux pour moi pour une raison quelconque, mais maintenant que je suis en train de créer également une classe et 5 cas de «Ennemi» au dessus des «joueurs» ça ne semble pas fonctionner. Que puis-je faire pour résoudre ce problème? –

+0

Savez-vous ce que je pouvais faire, @ perfectvid2012? –

0

Je mettrais vos joueurs dans un tableau afin qu'ils puissent être utilisés en dehors du champ d'application de la boucle.

def main(): 
Players = 0 
list_of_players = [] 
for i in range(5): 
    list_of_players.append(Player("Joe", 5, "Machine gun", 22, i+1)) 
    print list_of_players[i] 
0

Vous pouvez utiliser une liste:

players = [] 
while len(players) < 5: 
    players.append(Player("Joe", 5, "Machine gun", 22, len(players) + 1))