Python - Turtle İle Elma Yakalama Oyunu
Arka Plan
boyut = 800x600
Elma ve Sepet
Kodlar
import turtle
import random
# Pencere oluşturdum
pencere = turtle.Screen()
pencere.title("Elma Yakalama Oyunu")
turtle.bgpic(r"C:\Users\ensar_uxxkdwm\OneDrive\Masaüstü\Arka plan.png")
pencere.setup(width=800, height=600) # Pencere boyutunu 800x600 yaptım
pencere.tracer(0) # Ekran güncellemelerini devre dışı bırakmak için gerekiyor
# Sepet oluşturdum
sepet = turtle.Turtle()
sepet.shape("square")
sepet.shapesize(1,5)
sepet.color("brown")
sepet.penup()
sepet.goto(0, -250)
sepet.speed(0)
sepethiz = 39
# Elma oluşturdum
elma = turtle.Turtle()
elma.shape("circle")
elma.color("red")
elma.penup()
elma.goto(random.randint(-290, 290), 290) # (-290, 290) bu aralıkta rastgele bir tam sayı seçiyor
elma.speed(0) # (-290, 290), 290) sondaki 290 ise y kordinatında sabit aşağı düşmesini sağlıyor.
elma.hiz = 0.2
# Puan tabelası oluşturdum
puan_turtle = turtle.Turtle()
puan_turtle.hideturtle()
puan_turtle.penup()
puan_turtle.goto(-350, 270)
puan_turtle.write("Puan: 0", font=("Arial", 16, "bold"))
# Hak tabelası oluştur
hak_turtle = turtle.Turtle()
hak_turtle.hideturtle()
hak_turtle.penup()
hak_turtle.goto(-350, 240)
hak_turtle.write("Hak: 3", font=("Arial", 16, "bold"))
# Kaybettiniz tabelası (bitiş için) oluşturdum
kaybettiniz_turtle = turtle.Turtle()
kaybettiniz_turtle.hideturtle()
kaybettiniz_turtle.penup()
kaybettiniz_turtle.goto(0, 0)
# Başlangıç değerleri
puan = 0
hak = 3
# Hareket fonksiyonları
def sola_git():
x = sepet.xcor()
if x > -350: # Sepetin sol kenarı pencereden dışarı çıkmaması için
x -= sepethiz
sepet.setx(x)
def sağa_git():
x = sepet.xcor()
if x < 350: # Sepetin sağ kenarı pencereden dışarı çıkmaması için
x += sepethiz
sepet.setx(x)
# Klavye kontrollerini atadım
pencere.listen()
pencere.onkey(sola_git, "Left")
pencere.onkey(sağa_git, "Right")
# Oyun döngüsü
while hak > 0:
elma.sety(elma.ycor() - elma.hiz)
# Elma pencereden çıktığında yeniden konumlandırmak için
if elma.ycor() < -290:
elma.goto(random.randint(-290, 290), 290)
hak -= 1
hak_turtle.clear()
hak_turtle.write(f"Hak: {hak}", font=("Arial", 16, "bold"))
if hak == 0:
kaybettiniz_turtle.write("Kaybettiniz!", align="center", font=("Arial", 24, "bold"))
# Elma ile sepetin çarpışmasını kontrol et
if elma.distance(sepet) < 40: # Sepetin boyutunu dikkate al
puan += 1
elma.goto(random.randint(-290, 290), 290)
puan_turtle.clear()
puan_turtle.write(f"Puan: {puan}", font=("Arial", 16, "bold"))
pencere.update()
pencere.mainloop()
İndirme
Hiç yorum yok