Wie kann ich mehrere Münzen in PyGame einsammeln?

2 Antworten

Direkt auffällig ist, dass du in deinen place-Funktionen nie auf die globale Variable zugreifst.

Die Reihenfolge, wie die Münzen aufgesammelt werden, erschließt sich ansonsten erst zur Laufzeit aufgrund der Entscheidungen des Spielers. Von daher wäre es sinnvoll, wenn du mittels Konsolenausgaben mitverfolgen würdest, wo die Münze jeweils platziert wird.

Es wäre zudem sinnvoll, den Code zusammenzufassen. Zum Setzen der Position genügt eine Funktion:

def place_coin(point):
  global coin
  coin.pos = point

# example invocation
place_coin((10, 20))

Wobei du die wohl nicht einmal unbedingt benötigst.

Die Positionen könnten in einer Liste gespeichert werden.

coin_positions = [
  (100, 200),
  (100, 300),
  # etc. ...
]

und je nach Bedarf holst du den entsprechenden Eintrag heraus, um die Position der Münze neu zu setzen.

Beispiel:

coin.pos = coin_positions[0]

# or with place_coin function:
place_coin(coin_positions[0])

Hallo erstmal danke für die Hilfe. Wenn ich das nun aber probiere in meinen Code einzusetzten brauche ich noch irgendwas für "point". Tut mir leid das ich das nicht selber nicht weiß bin neu im programmieren.

TypeError: place_coin() missing 1 required positional argument: 'point'