Hallo,
ich programmiere seit einigen Wochen mit Python und jetzt wollte ich mal ein ganz einfaches Ökosystem Programmieren, also mit einer Tierart und einer Quelle für Essen(Punkte, die Zufällig im Bildschirm auftauchen) und, wenn sich zwei Tiere treffen, dann entsteht ein neues Tier.
Wie bekomme ich es nun hin, das ich nicht für jedes neue Tier schon variablen haben muss.
Gibt es eine Möglichkeit, wie man unbegrenzt Objekte zur Laufzeit eines Programmes erstellt(immer dann, wenn ein neues Tier entsteht)?z.B. :
class tier:
. x = None
. y = None
while running == True:
. if neues_Tier == True:
. . new tier()
Oder muss ich etwa im voraus eine Begrenzung festlegen. z.B. :
tier1_x = None
tier1_y = None
tier2_x = None
tier2_y = None
...
Ich würde mich über eine Lösung oder ein Paar Vorschläge freuen.
Mit freundlichen Grüßen Leo
Objekte
- __blackjack__
- User
- Beiträge: 13107
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Wobei unbegrenzt schwierig werden könnte, es sei denn man hat unbegrenzt Speicher.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Das ist eigentlich keine Frage, die einer Umfrage bedarf, denn die Antwort ist eindeutig: ja
Solche Sachen kann man eigentlich sogar sehr schön in Python machen. Hier mal ein ganz simples Beispiel zum Einstieg:
Solche Sachen kann man eigentlich sogar sehr schön in Python machen. Hier mal ein ganz simples Beispiel zum Einstieg:
Code: Alles auswählen
#!/usr/bin/env python3
from random import gauss
from collections import namedtuple
from operator import attrgetter
ANIMALS = 10
Python = namedtuple('Python', ['weight', 'length'])
def get_random_python():
# in kilograms
weight = gauss(49.5, 5.5)
# in metres
length = gauss(3.2, 0.3)
return Python(weight, length)
def main():
pythons = [get_random_python() for _ in range(ANIMALS)]
for python in sorted(pythons, key=attrgetter('weight'), reverse=True):
print(python)
if __name__ == '__main__':
main()