Python Nişancı Oyunu

Koza Akademi
Koza Akademi
4 dk okuma
49 izlenme
Python Nişancı Oyunu

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_atildimi değ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.listen()
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 🎮

Hızlı Paylaş

Yorumlar

0

Henüz kimse bir şey yazmamış.
İlk yorumu siz yapmak ister misiniz?

Fikrinizi Paylaşın

Düşünceleriniz bizim için değerli. E-posta adresiniz yayınlanmayacaktır.

Koza Akademi
Yazar

Koza Akademi

Teknoloji, yazılım ve tasarım dünyasından en güncel gelişmeleri paylaşıyorum.

Bültene Katılın