Python - Turtle İle Elma Yakalama Oyunu - Oyun Portalı | Güncel Oyunların - Oyun Yamalarının ve Programların Sitesi

YAYINLAR

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

Yorumlar

Disqus Logo