Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Python ile Oyun Geliştirmeye Giriş: Pygame ile İlk Oyununuzu Yapın 🐍

asternix

Üye
Katılım
14 Mart 2026
Mesajlar
7
Python ile Oyun Geliştirmeye Giriş: Pygame ile İlk Oyununuzu Yapın 🐍

Selam dostlar! 🎮 Oyun geliştirme denince aklınıza hemen devasa motorlar ve karmaşık C++ kodları mı geliyor? Durun bir dakika! Python'ın sevimli dünyasında, Pygame kütüphanesiyle siz de harika 2D oyunlar yapabilirsiniz. Hem de hiç beklediğinizden daha hızlı ve eğlenceli bir şekilde! Bugün, birlikte basit ama temelleri öğreten bir "Topu Yakan Oyunu" yapacağız. Hadi başlayalım!

Neden Python ve Pygame?

Öncelikle, neden bu ikiliden başlamalıyız?
  • Python: Sözdizimi inanılmaz basit ve okunabilir. Karmaşık detaylarla boğuşmadan, oyun mantığına odaklanmanızı sağlar.
  • Pygame: Grafik, ses, kullanıcı girişi (klavye/fare) gibi oyun geliştirmenin temel taşlarını sağlayan, hafif ve güçlü bir kütüphanedir.
  • Hızlı Geri Bildirim: Küçük kod değişikliklerinin sonucunu anında ekranda görmek, motivasyonunuzu zirvede tutar!

Hazırlık: Ortamınızı Kurun

İlk adım, gerekli yazılımı bilgisayarınıza kurmak. Python'ın zaten kurulu olduğunu varsayıyorum. Pygame'i kurmak için terminalinizi (veya komut istemcinizi) açın ve şu sihirli komutu yazın:
Python:
pip install pygame
Kurulum tamamlandığında, artık kod yazmaya hazırsınız! ⚙️

İlk Pygame Penceremizi Açalım

Her şey bir pencere ile başlar. Aşağıdaki kodu `ilk_oyun.py` gibi bir dosyaya kaydedin ve çalıştırın.
Python:
import pygame
import sys

# Pygame'i başlat
pygame.init()

# Pencere boyutlarını belirle
genislik, yukseklik = 800, 600
pencere = pygame.display.set_mode((genislik, yukseklik))
pygame.display.set_caption("İlk Pygame Oyunum!")

# Oyun döngüsü
calisiyor = True
while calisiyor:
    # Olayları (event) kontrol et (Örneğin: pencere kapatma)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            calisiyor = False

    # Pencereyi beyaz renkle doldur
    pencere.fill((255, 255, 255))

    # Ekranı güncelle (çizilen her şeyi göster)
    pygame.display.flip()

# Pygame'den çık
pygame.quit()
sys.exit()
Çalıştırdığınızda beyaz, 800x600 boyutunda bir pencere açılacak. Tebrikler! İlk Pygame uygulamanız hazır. 🖥️

Oyuncu, Top ve Temel Hareket

Şimdi biraz daha eğlenceli kısma geçelim. Bir oyuncu (dikdörtgen), bir top (daire) ekleyip hareket ettirelim.

Python:
import pygame
import sys

pygame.init()
genislik, yukseklik = 800, 600
pencere = pygame.display.set_mode((genislik, yukseklik))
pygame.display.set_caption("Topu Yakala!")

# Renkler (RGB formatında)
BEYAZ = (255, 255, 255)
MAVI = (0, 120, 255)
KIRMIZI = (255, 50, 50)

# Oyuncu özellikleri
oyuncu_genislik, oyuncu_yukseklik = 100, 20
oyuncu_x = genislik // 2 - oyuncu_genislik // 2
oyuncu_y = yukseklik - 40
oyuncu_hiz = 10

# Top özellikleri
top_yaricap = 15
top_x = genislik // 2
top_y = yukseklik // 2
top_hiz_x = 5
top_hiz_y = 5

saat = pygame.time.Clock() # FPS kontrolü için

calisiyor = True
while calisiyor:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            calisiyor = False

    # KLAVYE KONTROLLERİ
    tuslar = pygame.key.get_pressed()
    if tuslar[pygame.K_LEFT] and oyuncu_x > 0:
        oyuncu_x -= oyuncu_hiz
    if tuslar[pygame.K_RIGHT] and oyuncu_x < genislik - oyuncu_genislik:
        oyuncu_x += oyuncu_hiz

    # TOP HAREKETİ
    top_x += top_hiz_x
    top_y += top_hiz_y

    # DUVAR ÇARPIŞMA KONTROLÜ
    if top_x <= top_yaricap or top_x >= genislik - top_yaricap:
        top_hiz_x *= -1 # Yönünü tersine çevir
    if top_y <= top_yaricap:
        top_hiz_y *= -1

    # OYUNCU İLE TOP ÇARPIŞMA KONTROLÜ
    if (top_y + top_yaricap >= oyuncu_y and
        top_x >= oyuncu_x and
        top_x <= oyuncu_x + oyuncu_genislik):
        top_hiz_y *= -1

    # EKRANI TEMİZLE VE ÇİZ
    pencere.fill(BEYAZ)

    # Oyuncuyu çiz (dikdörtgen)
    pygame.draw.rect(pencere, MAVI, (oyuncu_x, oyuncu_y, oyuncu_genislik, oyuncu_yukseklik))
    # Topu çiz (daire)
    pygame.draw.circle(pencere, KIRMIZI, (int(top_x), int(top_y)), top_yaricap)

    pygame.display.flip()
    saat.tick(60) # Saniyede 60 kare (60 FPS)

pygame.quit()
sys.exit()

Bu kodu çalıştırdığınızda, sol/sağ ok tuşlarıyla hareket ettirebildiğiniz mavi bir çubuğunuz ve ekranda sekerek hareket eden kırmızı bir topunuz olacak. Amacınız, topu çubukla sektirerek ekranda tutmak! İşte ilk oyununuzun prototipi hazır. 🚀

Bir Sonraki Adımlar İçin Fikirler

Temeli attık! Şimdi bu oyunu geliştirerek neler yapabilirsiniz?
  • Skor Sistemi: Topu her sektirdiğinizde skorunuz artsın.
  • Can Sistemi: Topu kaçırırsanız (ekranın altına giderse) canınız azalsın.
  • Bloklar: Ekranın üstüne renkli bloklar yerleştirin. Top bir bloğa çarptığında blok yok olsun ve skor artsın (klasik Breakout/Arkanoid tarzı).
  • Ses Efektleri: Pygame.mixer ile çarpışma sesleri ekleyin.
  • Görsel İyileştirme: Dikdörtgen ve daire yerine gerçek sprite (oyun görselleri) yüklemeyi deneyin.

Unutmayın, en iyi öğrenme yolu denemek ve hata yapmaktır. Kodu değiştirin, değerleri oynayın, bir şeyler bozun ve sonra düzeltin. Pygame dokümantasyonu harika bir kaynak.

Sormak istediğiniz bir şey olursa çekinmeyin, buradayım! Sizce bu oyuna eklemek için en havalı özellik ne olurdu? Fikirlerinizi yorumlarda paylaşın, belki birlikte geliştiririz! 👨‍💻👩‍💻
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri