Ich habe ein Schatzsuche-Spiel gemacht, und ich brauche es, sobald ein Quadrat mit einer Schatzkiste dreimal besucht wurde, verwandelt es sich in einen "Banditen". Um die Anzahl der Besuche einer Schatzkiste zu verbergen, habe ich der Liste der TreasureChestCoordinates eine weitere Menge der gleichen Koordinaten hinzugefügt. Dann plane ich eine if-Anweisung, so dass, wenn eine der Koordinaten dreimal geschrieben wird, alle 3 entfernt und in die "Bandit" -Liste gesetzt werden. Hier ist mein Entwurf Code für den Abschnitt:Python Unbekannte Werte zu Listen hinzufügen
# Treasure Chests Collecting Coins #
if (x,y) in TreasureCoords[0:(TCNumber -1)]:
print("You have landed on a treasure chest! You can visit it 2 more times before it becomes a bandit.")
CoinCollection = CoinCollection + 10
TreasureCoords.append(x,y)
#if TreasureCoords.count(any item) > 3:
#remove all copies of item from list
#add item to bandit list
x, y bedeutet die Koordinaten der Benutzer gerade in ist CoinCollection ist eine separate Variable, wenn der Benutzer landet auf einer Schatztruhe oder bandit.By die Art und Weise verändert. Die Anzahl der Koordinaten ist unbegrenzt, da der Benutzer dies zu einem früheren Zeitpunkt im Spiel entscheidet. Also, wie kann ich meine Liste von Koordinaten kopieren, sie entfernen, sobald sie in der Liste sind 3 mal und in eine neue Liste setzen? Ich nehme an, dies ist der einfachste Weg, um zu zählen, wie oft der Benutzer auf einem Quadrat war, und die Schatztruhe zu einem Banditen zu machen.
Nein, das klingt wie eine unnötig komplizierte Art, es zu tun. Es wäre einfacher, einfach ein Mapping von der Koordinate zur Anzahl der Besuche vorzunehmen. –
Auch die Anzahl der Koordinaten, die du in deiner Liste hast, kann nicht "unbegrenzt" sein, da du keinen unbegrenzten Speicher hast ... –
Sorry wollte nur meinen Standpunkt verdeutlichen - wie du wahrscheinlich weißt, bin ich kein besonders fortgeschrittener Kodierer ... Wie würden Sie Lösung arbeiten? – George