Wie kann ich mehrere Münzen in PyGame einsammeln?

Hallo,

ich habe eine Frage zu meinem Programm.

Nachdem ich die dritte Münze in meinem Spiel eingesammelt habe, wird komischerweise die zweite Münze anstatt der Dritten gespawnt. Wie kann ich das ändern? Bzw. hat jemand eine Idee, wie sich das beheben lässt?

Hier ist mein Code:

from random import randint

WIDTH = 600
HEIGHT = 600
score = 0
game_over = False

mario = Actor("mario.png")
mario.pos = 100, 100

coin = Actor("money.png")
coin.pos = 0, 0

def draw():
  screen.fill("green")
  mario.draw()
  coin.draw()
  screen.draw.text("Punkte: " + str(score), color="black", topleft=(10, 10))

  if game_over:
    screen.fill("pink")
    screen.draw.text("Endstand:" + str(score), topleft=(10, 10), fontsize = 60)

def place_coin():
  coin.x = 100
  coin.y = 200

def place_coin2():
  coin.x = 100
  coin.y = 300

def place_coin3():
  coin.x = 100
  coin.y = 400

def place_coin4():
  coin.x = 100
  coin.y = 500

def place_coin5():
  coin.x = 300
  coin.y = 100

def place_coin6():
  coin.x = 300
  coin.y = 300

def place_coin7():
  coin.x = 500
  coin.y = 200

def place_coin8():
  coin.x = 500
  coin.y = 300

def place_coin9():
  coin.x = 500
  coin.y = 400

def place_coin10():
  coin.x = 500
  coin.y = 500

def place_coin11():
  coin.x = 700
  coin.y = 100

def place_coin12():
  coin.x = 700
  coin.y = 300

def time_up():
  global game_over
  game_over = True

def update():
  global score

  if keyboard.left:
    mario.x = mario.x - 4
  elif keyboard.right:
    mario.x = mario.x + 4
  elif keyboard.up:
    mario.y = mario.y - 4
  elif keyboard.down:
    mario.y = mario.y + 4

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin2()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin10()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin4()

  coin_collectet = mario.colliderect(coin)

  if coin_collectet:
    score = score + 10
    place_coin8()

clock.schedule(time_up, 20.0)
place_coin()
...zur Frage

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'

...zur Antwort