Ich entschuldige mich im Voraus, wenn meine Erklärung nicht kohärent genug ist. Ich bin neu in Python und Codierung. Ich versuche gerade, ein Pokemon-Programm zu erstellen, das es zwei Benutzern erlaubt, gegeneinander anzutreten. moveList
ist eine globale Liste, die alle möglichen Züge im Spiel enthält. x
- ist eine Datei, die speichert, welche Indizes entsprechen, welche Pokemon bewegt. pokeData.loadMoves
lädt ein bereits existierendes Move-Array innerhalb jedes Pokemon mit 4 move
Objekten. Wenn ich zuerst die 4 Züge von Arcanine hinzufüge, ist das in Ordnung. Wenn ich jedoch eevees Züge hinzufüge, schreibt es Arcanines Züge um. Ich habe ungefähr 40 Minuten damit verbracht, dies schon vergebens zu beheben.Python: Ändern der Daten eines Objekts ändert die anderen
separate Objekte:
P1 = None
P2 = None
loadGame()
P1 = inputPokemon('player1')
P2 = inputPokemon('player2')
Funktion:
for x in file.readlines():
x = x.split(' ')
if(x[0].strip().lower() == string):
i =int(x[1])-1
j =int(x[2])-1
k =int(x[3])-1
l =int(x[4])-1
if(second == True):
print("Arcanine's moves before loading eevee")
for x in range(4):
print(P1.move[x].name)
pokeData.loadMoves(moveList[i],moveList[j],moveList[k],moveList[l])
print("Load %s's moves " %x)
if(second == True):
print("Arcanine's moves after loading eevee")
for x in range(4):
print(P1.move[x].name)
loadMoves:
move=['','','','']
def loadMoves(self, move1, move2, move3, move4):
self.move[0] = move1
self.move[1] = move2
self.move[2] = move3
self.move[3] = move4
Output:
player2, please choose your Pokemon: Eevee
Loading moves for eevee
Arcanine's moves before loading eevee
['takedown']
['growl']
['flamethrower']
['confuseray']
Load 3's moves
Arcanine's moves after loading eevee
['watergun']
['doubleteam']
['shockwave']
['tackle']
Die beiden Variablen sind am ehesten Bezugnahme auf das gleiche Objekt –
Ich habe bereits versucht, zu überprüfen, ob (pokeDataArg P1) für die zweite Dateneingabe und gibt false zurück –
Was ist pokeData und was ist die 'Funktion', für die Sie Code zur Verfügung gestellt haben? – sepulchered