Python programlama dilinde oyun geliştirmeye başlamak istiyorsanız, turtle modülü harika bir başlangıç noktasıdır. Bu yazıda, Python’un yerleşik turtle kütüphanesini kullanarak basit bir Keskin Nişancı Oyunu yapacağız.
Oyunumuzda:
-
🔺 Üçgen bir topçu karakterimiz olacak
-
🔴 Hareket eden bir hedef olacak
-
🟡 Space tuşu ile mermi atabileceğiz
-
🏆 Skor sistemi bulunacak
Haydi başlayalım!
🖥️ 1. Gerekli Kütüphaneler
Öncelikle gerekli modülleri içe aktarıyoruz:
import turtle
import random
import time
-
turtle→ Grafik ve animasyon için -
random→ Hedefin rastgele konumda başlaması için -
time→ Oyun döngüsünde gecikme eklemek için
🎮 2. Oyun Ekranı Ayarları
ekran = turtle.Screen()
ekran.setup(600,600)
ekran.bgcolor("#2c3e50")
ekran.title("Keskin Nişancı Oyuncu")
ekran.tracer(0)
Burada:
-
600x600 boyutunda bir pencere oluşturuyoruz.
-
Arka plan rengini koyu mavi yapıyoruz.
-
Pencereye başlık ekliyoruz.
-
tracer(0)ile ekranın otomatik yenilenmesini kapatıyoruz. Böylece animasyonu kendimiz kontrol edebiliyoruz.
🔺 3. Oyuncu (Topçu) Oluşturma
topcu = turtle.Turtle()
topcu.shape("triangle")
topcu.penup()
topcu.color("white")
topcu.goto(0,-250)
topcu.setheading(90)
-
Oyuncumuz üçgen şeklinde.
-
Ekranın alt kısmında başlıyor.
-
Yukarı bakacak şekilde ayarlanıyor (
90 derece).
🟡 4. Mermi (Top) Oluşturma
top = turtle.Turtle()
top.color("yellow")
top.shape("circle")
top.shapesize(0.5,0.5)
top.penup()
top.hideturtle()
top_atildimi = False
-
Küçük sarı bir daire şeklinde.
-
Başlangıçta gizli.
-
top_atildimideğişkeni merminin ateşlenip ateşlenmediğini kontrol etmek için kullanılıyor.
🔴 5. Hedef Oluşturma
hedef = turtle.Turtle()
hedef.shape('square')
hedef.color('red')
hedef.shapesize(1.5,1.5)
hedef.penup()
x_konum = random.randint(-250,250)
hedef.goto(x_konum,230)
hedef_hizi = 3
-
Hedef kırmızı kare şeklinde.
-
Ekranın üst kısmında rastgele bir x konumunda başlıyor.
-
Sağa-sola hareket edecek.
🏆 6. Skor Sistemi
skor = 0
yazi = turtle.Turtle()
yazi.color("white")
yazi.hideturtle()
yazi.penup()
yazi.goto(-280,260)
yazi.write("Skor = " + str(skor))
-
Başlangıç skoru 0.
-
Sol üst köşede gösteriliyor.
🎹 7. Klavye Kontrolleri
def soladon():
topcu.left(30)
def sagadon():
topcu.right(30)
def topat():
top.showturtle()
top.goto(topcu.xcor(),topcu.ycor())
top.setheading(topcu.heading())
top_atildimi = True
-
Sol ok → Sola dön
-
Sağ ok → Sağa dön
-
Space → Ateş et
Tuşları aktif hale getiriyoruz:
ekran.onkeypress(soladon,'Left')
ekran.onkeypress(sagadon,'Right')
ekran.onkeypress(topat,'space')
🔄 8. Oyun Döngüsü
while True:
ekran.update()
time.sleep(0.01)
hedef.forward(hedef_hizi)
if(hedef.xcor() > 250 or hedef.xcor() < -250):
hedef.right(180)
top.forward(10)
Bu bölüm oyunun kalbidir ❤️
-
Sürekli ekranı güncelliyoruz.
-
Hedef sağa-sola hareket ediyor.
-
Kenara çarpınca yön değiştiriyor.
-
Mermi sürekli ileri doğru gidiyor.
🚀 Bu Oyunu Nasıl Geliştirebilirsiniz?
Şu anki versiyon temel bir yapı sunuyor. Şunları ekleyerek oyunu geliştirebilirsiniz:
-
✅ Çarpışma kontrolü (hedef vurulunca skor artsın)
-
✅ Mermi ekran dışına çıkınca kaybolsun
-
✅ Oyun bitme durumu
-
✅ Seviye sistemi
-
✅ Ses efektleri
🧠 Sonuç
Bu projede şunları öğrendik:
-
Turtle ile grafik oluşturma
-
Klavye kontrolleri
-
Oyun döngüsü mantığı
-
Basit animasyon sistemi
Eğer Python’a yeni başladıysanız, bu tür mini oyun projeleri öğrenmenin en eğlenceli yoludur 🎮