Python ile Yılan Oyunu Geliştirme Rehberi

Giriş

Yılan oyunu, basit ama eğlenceli bir klasik arcade oyunudur. Python ile bu oyunu geliştirmek, programlama becerilerinizi geliştirmek için harika bir fırsattır. Bu yazıda, Python kullanarak yılan oyununu nasıl oluşturacağınızı adım adım inceleyeceğiz. Oyun, kullanıcı etkileşimi, grafikler ve temel oyun mantığı gibi birçok önemli bileşeni içerecektir. Hazırsanız, hemen başlayalım!

Gerekli Kütüphaneler

Öncelikle, Python ile yılan oyunu geliştirebilmek için gerekli kütüphaneleri yüklememiz gerekiyor. Bu oyunda genellikle, Pygame kütüphanesi kullanılır. Pygame, 2B oyunlar geliştirmek için güçlü bir araçtır ve kullanıcı dostudur. Başlamak için terminalinizde şu komutu çalıştırarak Pygame’i yükleyin:

pip install pygame

İlk olarak, yılan oyunumuzun temellerini atmak için gereken Pygame kütüphanesini yükledikten sonra, projeyi oluşturduğumuz dizine geçelim ve bir Python dosyası oluşturalım. Bu dosya üzerinde çalışmaya başlayacağız.

Oyun Penceresinin Oluşturulması

Bütün oyunların temelinde bir pencere oluşturma işlemi vardır. Bu pencerede yılanımızı, yemlerimizi ve skorumuzu göstereceğiz. İşte Pygame kullanarak bir oyun penceresi oluşturma kodu:

import pygame

# Renk tanımlamaları
white = (255, 255, 255)
black = (0, 0, 0)
red = (213, 50, 80)
green = (0, 255, 0)
blue = (50, 153, 213)

# Oyun penceresinin boyutları
width = 600
height = 400

# Pygame başlatma
pygame.init()

# Oyun penceresini oluşturma
game_display = pygame.display.set_mode((width, height))
pygame.display.set_caption('Yılan Oyunu')

# Oyun döngüsü
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()

    # Pencereyi beyaz ile doldur
game_display.fill(white)
    pygame.display.update()

Yukarıdaki kod, Pygame kütüphanesini başlatarak bir pencere oluşturmaktadır. Oyun döngüsü devam ettikçe pencere beyaz arka plana sahip olacaktır. Bu noktada, kullanıcı pencereyi kapatana kadar oyun devam edecektir.

Yılanın Oluşturulması

Şimdi, yılanımızı oluşturmaya başlayabiliriz. Yılanı oluşturmak için, konumunu ve uzunluğunu belirlememiz gerekiyor. Yılan, bir dizi bloktan oluşacaktır. İlk aşama olarak, yılanın başı ve gövdesi için gerekli değişkenleri tanımlayalım:

snake_block = 10
snake_speed = 15

snake_list = []
snake_length = 1

Yukarıda, yılanın her bir parçasının boyutunu tanımladık. Ayrıca, yılanımızın hızını da ayarladık. Şimdi ilerleyelim ve yılanı ekranda görüntüleyelim:

def draw_snake(snake_block, snake_list):
    for x in snake_list:
        pygame.draw.rect(game_display, black, [x[0], x[1], snake_block, snake_block])

Bu fonksiyon, yılanın her bir parçasını ekranda siyah kareler olarak çizecektir. Yılanın bir parçasını temsil etmek için bir dizi koordinat kullanıyoruz. Bunu yaparken, her bir blok için yılanın ‘x’ ve ‘y’ koordinatlarını belirtiyoruz.

Yılanı Hareket Ettirmek

Yılan oyununu geliştirmek için, yılanın yönünü ve hareket etme mantığını eklememiz gerekiyor. KLavye girişlerini yöneterek yılanın hareketini sağlayabiliriz:

def game_loop():
    game_over = False
    game_close = False

    x1 = width / 2
    y1 = height / 2

    x1_change = 0
    y1_change = 0

    # Yılanın başlangıç koordinatlarını ve listesini tanımlama
    snake_list = []
    snake_length = 1

    while not game_over:
        while game_close == True:
            game_display.fill(blue)
            message('Kaybettin! Q çıkış, C devam')
            pygame.display.update()

        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_q:
                    game_over = True
                    game_close = False
                if event.key == pygame.K_c:
                    game_loop()
                if event.key == pygame.K_LEFT:
                    x1_change = -snake_block
                    y1_change = 0
                elif event.key == pygame.K_RIGHT:
                    x1_change = snake_block
                    y1_change = 0
                elif event.key == pygame.K_UP:
                    y1_change = -snake_block
                    x1_change = 0
                elif event.key == pygame.K_DOWN:
                    y1_change = snake_block
                    x1_change = 0

Yukarıdaki kod, kullanıcının sağa, sola, yukarı ya da aşağıya yön tuşlarına basarak yılanın hareket etmesini sağlamaktadır. ”K” karakterlerini kullanarak oyunu yeniden başlatma veya çıkma işlevi de eklenmiştir.

Yem Oluşturma ve Yeme Mekaniği

Yılan oyununda temel bir mekanik, yılanın yemleri yemesi ve uzaması gerekmektedir. Öncelikle, yemi oluşturmalıyız. Yemi rastgele bir konuma koymak için şu şekilde bir fonksiyon yazabiliriz:

def create_food():
    food_x = round(random.randrange(0, width - snake_block) / 10.0) * 10.0
    food_y = round(random.randrange(0, height - snake_block) / 10.0) * 10.0
    return food_x, food_y

Yem, yılanın yediği zaman yılanın boyunun uzamasına neden olacaktır. Bunun için, yemi yediğinde yılan listesine bir parça eklemek gerekiyor:

if x1 == food_x and y1 == food_y:
    food_x, food_y = create_food()
    snake_length += 1

Yem yendiğinde yılanın boyunu artırırken, yem de yeni bir rastgele konuma yerleştirilmektedir. Bu mekanizmalar, oyunun dinamiklerini etkileyen temel unsurlardır.

Oyun Bitişi ve Skor Hesaplama

Oyun bittiğinde, yılanın başladığı noktadan daha fazlasını yendiği için bir skor hesaplaması yapmak isteyeceğiz. Bu noktada yılanın kendine çarpması durumunu ele almalıyız:

if x1 >= width or x1 < 0 or y1 >= height or y1 < 0:
    game_close = True
    if x1 in snake_list[:-1] or y1 in snake_list[:-1]:
        game_close = True

Uyuşmazlık durumunda kullanıcıya bir kaybettiğini belirten bir mesaj göstereceğiz. Sonrasında, toplam yemi yediği zaman oyunun sonunda bir skor hesaplayacağız.

Oyununu Tamamlama

Son olarak, tüm bu bileşenleri birleştirerek oyunu tamamlayabiliriz. İlgili fonksiyonları bir araya getirerek, oyun döngüsü içinde yılanı ve yemi ekranda çizmek ve kullanıcı girişlerini işlemek üzere tamamlayabiliriz:

def game_loop():
    ... # Önceki tüm kodlar buraya yerleştirilmeli

    while not game_over:
        ... # Oyun mantığı burada işlenmeli
        draw_snake(snake_block, snake_list)
        pygame.draw.rect(game_display, green, [food_x, food_y, snake_block, snake_block])
        
    pygame.quit()
    quit()

Oyunumuz artık tamam. Kendi yılan oyununuzu çalıştırabilir ve Python öğreniminizi bir üst seviyeye taşıyacak bu projeyi özelleştirebilirsiniz.

Sonuç

Python ile yılan oyunu geliştirmek, hem eğlenceli bir deneyim hem de programlama becerilerinizi pekiştirmek için harika bir yoldur. Burada, yılanın hareketi, yemlerin yaratılması ve oyunun bitişi gibi temel bileşenleri ele aldık. Bu proje ile Pygame kütüphanesini kapsamlı bir şekilde öğrenebilir ve oyununuzu daha da geliştirmek için yeni özellikler ekleyebilirsiniz.

Son olarak, öğrendiğiniz bilgileri başka projelere de entegre etmeyi unutmayın. Yeni kütüphaneler, uygulamalar ve oyun mekanikler üzerinde çalışarak Python becerilerinizi daha da ileri taşıyabilirsiniz. Şimdi, kendi yılan oyununuzla eğlenmeye başlayın!

Scroll to Top