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()