Python Kod

  1. Anasayfa
  2. »
  3. Genel
  4. »
  5. Python Oyun Kodları

Python Oyun Kodları

admin admin - - 31 dk okuma süresi
4011 0

Bugünün dünyasında teknoloji hayatımızın ayrılmaz bir parçası haline geldi. Bununla birlikte, oyunlar da bizi eğlendirmek, öğretmek ve meydan okumak için mükemmel bir yol sağlıyor. Python ise, özellikle oyun geliştirme alanında oldukça popüler bir programlama dilidir. Bu makalede, Python programlama dili kullanarak yapılabilecek oyunların kodlarını paylaşacağız.

Python, kolay öğrenilebilir ve kullanımı basit bir programlama dilidir. Dolayısıyla, oyun geliştirme açısından birçok seçenek sunar. Döngü tabanlı veya grafik tabanlı oyunlar gibi farklı türlerde oyunlar geliştirebilirsiniz. Bu makalede, döngü tabanlı ve grafik tabanlı oyun programlama örnekleri vereceğiz.

Döngü Tabanlı Oyunlar

Python programlama dilinin oyun programlama için çok popüler olmasının bir nedeni, döngü tabanlı oyunların kolayca programlanabilmesidir. Döngü tabanlı oyunların avantajı, kodların kısa ve anlaşılır olmasıdır.

Yılan oyunu, döngü tabanlı oyunların bir örneğidir. Yılanın hareketi, döngü oluşturularak sağlanır. Yılanın her hamlesi için, sadece birkaç satır kod yazmak yeterlidir. Aynı şekilde, Tetris oyunu gibi diğer oyunlar da döngü tabanlı oyunlar olarak programlanabilir.

  • Yılan oyunu
  • Tetris oyunu

Bu oyunlar, Python’da programlama öğrenmek isteyenler için harika bir başlangıç noktasıdır. Bu oyunların temel mantığını anlamak, Python’a hakim olmak için önemlidir. Döngü tabanlı oyunları programlamak, temel Python becerileri kazandırmak için iyi bir yol olabilir.

Yılan Oyunu

Yılan oyunu, Python’un temel bileşenleri arasında yer alan döngü tabanlı bir oyundur. Yılanın kontrolünü sağlamak ve yiyeceklerle beslemek oyuncunun amacıdır. Bu oyunun Python kodları, ünlü Python kütüphanesi PyGame tarafından desteklenmektedir.

Yılan oyununda yılanın hareketi, kullanıcıların kontrolü altında gerçekleşir. Yılanın ilerlediği yöne hareket etmesini sağlamak için yön tuşları kullanılır. Yılan, oyun alanında dolaşırken yiyecekler yemelidir. Yemek yedikçe yılan büyür ve oyun daha da zorlaşır. Yılanın büyümesi nedeniyle, oyuncuların yemek yemeden önce duvarlara veya kuyulara çarpmaması ve oyundan düşmemesi önemlidir.

Yöntem Adı Açıklama
pause() Bu yöntem, oyunu bir süre duraklatır.
quit() Bu yöntem, oyunu tamamen kapatır ve programı sonlandırır.
pygame.init() Bu yöntem, PyGame’i başlatır ve ilk önce kullanılmalıdır.

PyGame kütüphanesi, yılan oyununda kullanılan temel kodları destekler. Yılan oyununun Python kodlarının doğru bir şekilde çalışması için, PyGame’in doğru bir şekilde kurulması gerekir. Ayrıca, yılan oyunu için gereken çeşitli özellikleri sağlamak için ek kodlar da yazılabilir.

Kod Parçası: Yılanın Hareket Ettirilmesi

Kod Parçası: Yılanın Hareket Ettirilmesi

Yılan oyununda, yılanın hareketini kullanıcının kontrolü altında sağladığımız için, yılanın nasıl hareket edeceğini kodlamamız gerekiyor. Kodlama işlemi yalnızca yılanın kullanıcının sağ-sol ve yukarı-aşağı yön tuşlarına basarak hareket edebilmesini sağlamakla kalmaz, aynı zamanda yılanın sınırda bulunurken çarpışmayı da engellemelidir.

Öncelikle, kullanıcının yön tuşlarına basmasıyla yılanın hareketi sağlanmalıdır. Sağa gitmek istediğinde, yılanın başı sağa doğru kaydırılmalı ve bunun için aşağıdaki kod örneği kullanılabilir:

if direction == "Right": snake_head[0] += 10

Yukarıdaki kodu incelediğimizde, direction değişkeninin “Right” olarak ayarlanması durumunda, yılanın X koordinatlarının değerinin 10 artırılacağını görüyoruz. Aynı şekilde, yılanın sol, yukarı ve aşağı hareketleri için de benzer bir kodlama yapmamız gerekiyor.

Yılanın sınırda olması durumunda çarpışmayı önlemek için, yılanın hareket edebileceği sınırların koordinatlarını belirlemek gerekir. Yılanın sınırları aşması durumunda yön değiştirerek çarpışmayı önleyebiliriz. Örneğin, sağa hareket yönünde, yılanın X koordinatı 800 değerini aşarsa, yönü değiştirip yılanı başlangıç pozisyonuna geri getirebiliriz.

Bu işlem için aşağıdaki örnek kodları kullanabiliriz:

if snake_head[0] >= WIDTH: snake_head[0] = 0
if snake_head[0] <= 0: snake_head[0] = WIDTH
if snake_head[1] <= 0: snake_head[1] = HEIGHT
if snake_head[1] >= HEIGHT: snake_head[1] = 0

Yukarıdaki kod blokları, yılanın X ve Y koordinatları sınırları aştığında yönü tersine çevirerek yılanı oyuna devam ettirecektir. Bu şekilde, yılanın sınırları aşması durumunda çarpışmasını önleyebilir ve oyunun sürekliliğini sağlayabiliriz.

Kod Parçası: Yılanın Duvara Çarpması

Yılan oyunu programlamasında, yılanın oyun alanındaki duvarlara çarpması durumunda oyunun sonlandırılması için özel bir kod parçası gerekmektedir. Bu kod parçası, oyuncunun yılanın çarpmasından önce hareketlerini kontrol etmesine olanak sağlar.

Kodu: if yilan_konum[0] < 0 or yilan_konum[0] >= ekran_genislik or yilan_konum[1] < 0 or yilan_konum[1] >= ekran_yukseklik:
İşlevi: Yılanın bulunduğu konumun x ve y koordinat değerlerinin ekranın genişlik ve yükseklik değerlerinden büyük veya küçük olup olmadığını kontrol eder. Eğer yılan ekranın dışına çıkarsa, oyun sonlandırılır.

Bu kod parçası, yılanın çarpmasını engelleyerek oyuncuya daha iyi bir oyun deneyimi sunar. Oyuncu, yılana kontrol etmek için gerekli olan tüm kodları öğrendikten sonra yılanın hareketlerini daha akıcı bir şekilde kontrol edebilir.

Tetris Oyunu

Tetris oyunu, mimarisi ve blokların düzenlenmesi ile oyuncuların becerilerini test eden bir puzzle oyunudur. Python programlama dili ile de Tetris oyununun yazılması mümkündür. Tetris oyunu, blokları biriktirerek blokları tam boyutta eşleştirmeye veya düzenlemeye çalışan oyuncuların hız ve strateji becerilerini de sınar.

Tetris oyununun Python kodları, kullanıcı girdileri, blok yerleştirmesi ve diğer işlevler dahil olmak üzere tüm oyun mekaniklerini kodlamayı içerir. Tetris oyununun Python kodları ayrıca, tetromino bloklarının dönüşleri, satırların silinmesi ve blokların düşmesi gibi oyunla ilgili tüm ayrıntıları da içermektedir.

Kod Parçası: Şekillerin Döndürülmesi Kod Parçası: Satırların Temizlenmesi
def rotate_shape(shape): # tetromino bloklarının dönüş fonksiyonu return [[shape[y][x] for y in range(len(shape))] for x in range(len(shape[0]) – 1, -1, -1)] def clear_rows(board, removed_rows): new_board = [[0] * len(board[0])] * removed_rows + [row for row in board if sum(row) > 0] return [[0] * len(board[0])] * (len(board) – len(new_board)) + new_board

Tetris oyunu, Python programlama dilinin sağlam hata ayıklama ve kullanım kolaylığı açısından da bir avantaj sunar. Bu avantaj ile oyunun herhangi bir bileşeni hızlı ve kolay bir şekilde değiştirilebilir veya iyileştirilebilir.

Kod Parçası: Şekillerin Döndürülmesi

Oyuncular, Tetris oyununda parça şekillerini döndürerek yerlerine yerleştirmeye çalışırlar. Bu hareketin gerçekleştirilmesi için, oyuncuların hangi düğmeleri kullanacağını belirlemek zorundasınız. Blokların döndürülmesi için izlenecek yollar, Tetris oyunu özellikleriyle uyumlu olmalıdır.

Python’da, blokları döndürmek için farklı bir fonksiyon kullanılmaktadır. Parça şekillerini, saat yönünde 90 derece döndürmek için “rotate_right” ve saat yönünün tersine döndürmek için “rotate_left” adlı iki farklı fonksiyonu kullanabilirsiniz.

rotate_right rotate_left
Blok şeklini saat yönünde 90 derece döndürür. Blok şeklini saat yönünün tersine döndürür.
def rotate_right(shape):
    return [ [ shape[y][x] for y in range(len(shape))] for x in range(len(shape[0])-1,-1,-1) ]
def rotate_left(shape):
    return [ [ shape[y][x] for y in range(len(shape)-1,-1,-1)] for x in range(len(shape[0]))]

Yukarıdaki kod parçasında, “rotate_right” kodu, blok şeklini saat yönünde döndürür ve her bir sütunun tersine sıralanması nedeniyle en alttaki sütun ilk olacak şekilde blok şekilindeki tüm satırları ters bir satıra dönüştürür. Benzer şekilde, “rotate_left” kodu, sıralamanın yönünü tersine çevirerek blok şeklini saat yönünün tersine döndürür.

Blokların döndürülmesi sırasında programcıların özellikle dikkat etmeleri gereken konu, dönme işleminin blok şekline uygunluğudur. Blokların döndürülmesi sırasında, blokların yön değiştirmesi veya ani bir şekilde kaybolması sorunları oluşabilir. Bu nedenle, blokların dönme işleminin doğru bir şekilde işlevsel olduğundan emin olmak için kod sürekli olarak test edilmelidir.

Kod Parçası: Satırların Temizlenmesi

Tetris oyununda, tam bir satır bloklarla doldurulduğunda, o satırın silinmesi gerekir. Bu fonksiyon, oyun alanındaki dolu satırları bulur ve bunları siler.

Girdi: Tetris oyun alanındaki tüm blokların konumları
Çıktı: Dolu satırların temizlenmiş hali

İlk adım, dolu olan tüm satırların bulunmasıdır. Dolu olan bir satır, oyun alanındaki tüm blokların mevcut olduğu bir şerit olacaktır. Dolu satırlar listesi, sırayla bulunur ve kaydedilir.

dolu_satırlar = []for row in range(oyun_alanı_yükseklik):     if tüm_bloklar_oluşturuldu_mu(row):        dolu_satırlar.append(row)

Bir sonraki adım, dolu satırların silinmesidir. Bunun için, oyun alanındaki her bir dolu satırın bloklarının ilgili konumlarının tüm bloklar listesinden silinmesi gerekir.

for row in dolu_satırlar:    for i in range(len(tüm_bloklar)):        if tüm_bloklar[i].y == row:            tüm_bloklar.pop(i)

Sonuç olarak, oyun alanındaki dolu satırların silinmesi kod örneği yukarıdaki gibi olacaktır.

Grafik Tabanlı Oyunlar

Python, grafik tabanlı oyun programlama örneklerini de bünyesinde barındırır. Bu programlama dilinde, Frogger oyunu ya da Flappy Bird gibi grafiklere dayalı oyunlar yapılabilmektedir. İçinde bulunduğumuz teknoloji çağında, oyunların grafik ve görsellik önemlidir. Bu nedenle, Python grafik tabanlı oyunlar için en uygun programlama dillerinden biridir.

Bu yazılımda, Frogger oyunu Python kodları ve açıklamaları ile beraber verilir. Oyuncunun hareketini sağlayan kod parçaları ayrıntılı şekilde anlatılır. Ayrıca, oyun içerisinde hareket eden arabaların kontrol edilmesiyle ilgili kod örnekleri de mevcuttur.

Flappy Bird oyunu için de yine Python kodları açıklamalı şekilde sunulmaktadır. Burada, karakterin hareketini sağlayan kodlar ve boruların rastgele oluşmasını sağlayan programlar da yer alır. Grafik tabanlı oyunlar yazmak, programcıların hayal gücüne ve yaratıcılığına baglıdır.

Frogger Oyunu

Çok eski bir video oyunu olan Frogger, özellikle nostalji sevenlerin hala oynamak istediği bir oyundur. Bu oyunun Python kodlarını inceleyerek kendiniz de bir Frogger oyunu yapabilirsiniz.

Frogger oyununda oyuncunun amacı, kurbağayla tehlikeli bir yoldan geçerek suya ulaşmaktır. Yolda arabalar ve kamyonlar gibi farklı engeller bulunur. Oyuncu kurbağayı bu engellerden geçirerek suya ulaştırmalıdır. İşte Python’da Frogger oyunu yapmak için ihtiyacınız olan kodlar:

Kod Parçası Açıklama
Oyuncunun Hareket Ettirilmesi Kurbağanın kullanıcı tarafından kontrol edilmesini sağlayan kod örneği.
Arabaların Hareket Ettirilmesi Engel arabaların belirli bir yörüngede hareket etmesini sağlayan kod örneği.

Bu kodlar sayesinde Frogger oyununu Python programlama dili kullanarak kolayca oluşturabilirsiniz. Zorlu yolları aşıp kurbağayı suya ulaştırmak artık sizin ellerinizde! Unutmayın, kodları kendinize göre düzenleyerek daha da heyecanlı bir oyun yapabilirsiniz.

Kod Parçası: Oyuncunun Hareket Ettirilmesi

Python ile geliştirilen Frogger oyununda, oyuncunun hareketini sağlamak için kullanılacak kod parçası şu şekildedir:

Kod Açıklama
def move_player(player, x_step, y_step):    x, y = player.position    player.goto(x + x_step, y + y_step)
Bu fonksiyon, oyuncunun hareket etmesi için kullanılmaktadır. Fonksiyon çağrıldığında, oyuncunun mevcut pozisyon bilgileri alınır ve x ve y koordinatlarına ilgili adım sayısı eklenerek oyuncunun yeni pozisyonu belirlenir.

Bu kod parçası, “move_player” adlı bir fonksiyon içermektedir. Bu fonksiyon, oyuncunun yeni pozisyonunu hesaplayarak hareket etmesini sağlamaktadır. Fonksiyon, oyuncunun mevcut pozisyonunu ve x ve y koordinatlarındaki adım sayılarını alır. Bu adımlar, oyuncunun hangi yönde hareket etmesi gerektiğini belirlemektedir.

Fonksiyon, “player” adlı bir parametre ve “x_step” ile “y_step” adında iki adet değişken alır. “player” parametresi, oyuncunun mevcut pozisyonunu ve diğer özelliklerini içeren bir nesneyi temsil eder. “x_step” ve “y_step” değişkenleri, oyuncunun hangi yönde ve ne kadar hareket etmesi gerektiğini belirleyen değerlerdir.

Kod parçası, üstteki tabloda bulunan kod bloğunu içermektedir. Bu kod bloğu, “move_player” fonksiyonunu tanımlar ve oyuncunun X ve Y koordinatlarındaki adım sayılarını hesaplar. Daha sonra “goto” yöntemi kullanılarak oyuncunun yeni pozisyonu belirlenir. Bu nedenle, oyuncunun hareket ettiği yeni pozisyonu hesaplamak istediğimizde “move_player” fonksiyonunu çağırarak işlemi gerçekleştirebiliriz.

Kod Parçası: Arabaların Hareket Ettirilmesi

Python’da Grafik Tabanlı Oyun Programlama örnekleri arasında yer alan Frogger oyununda, araba engellerinin uygun şekilde hareket ettirilmesini sağlayan kod örneği şöyledir:

Kod Parçaları Açıklamaları
LEFT_CAR.move(-LEFT_CAR.speed[0], 0) Bu kod parçası sol yöndeki arabaların hareketini sağlar.
RIGHT_CAR.move(RIGHT_CAR.speed[0], 0) Bu kod parçası sağ yöndeki arabaların hareketini sağlar.
if LEFT_CAR.rect.right <= 0: Bu kod parçası, sol yöndeki arabaların oyun alanı dışına çıkmaları durumunda araçların konumunu başlangıç konumuna getirir.
if RIGHT_CAR.rect.left >= SCREEN_WIDTH: Bu kod parçası, sağ yöndeki arabaların oyun alanı dışına çıkmaları durumunda araçların konumunu başlangıç konumuna getirir.

Bu kod örneği, oyun alanı içinde sürekli olarak hareket eden arabaların belirlenmiş sınırlar içinde hareket etmesini sağlar. Sol yöndeki arabaların hareketi x ekseninde negatif, sağ yöndeki arabaların hareketi ise x ekseninde pozitif yönde gerçekleşir. Arabalar, oyun alanı sınırlarına ulaştığında başlangıç konumlarına geri dönerler.

Flappy Bird Oyunu

Flappy Bird, son yılların en popüler mobil oyunları arasında yer alıyor. Bu oyun, kullanıcıların kuş karakterini tıklama hareketleriyle engeller arasında uçurarak mümkün olduğu kadar yüksek puan toplamasını hedefliyor. Bu oyunun Python’da nasıl yapılacağını öğrenmek isteyenler için bazı kod örnekleri verelim.

Flappy Bird oyunu, birkaç temel bileşenden oluşur: karakter, borular ve puanlama sistemi. Bir başka deyişle, Python’da bu oyunu yapmak için üç ana fonksiyon oluşturmanız gerekir. İlk fonksiyon, karakterin hareketini tanımlar. İkinci fonksiyon, boruların rastgele oluşturulmasını sağlar. Son olarak, üçüncü fonksiyon puanlama sistemi içindir.

Bu oyunu Python’da oluşturmak isteyenler, karakterin hareketini ve boruların rastgele oluşumunu kodlamanın yanı sıra, kullanıcı tıklaması ile karakterin düşüşünü kontrol eden bir fonksiyon eklemeyi de unutmamalıdırlar. Ayrıca, oyuncunun oyunu başarıyla tamamlaması durumunda, puanlama sistemini de eklemelisiniz.

Aşağıda verilen kod parçaları, Flappy Bird oyununun Python’da nasıl yapılacağı konusunda size fikir verecektir:

Kod Parçası: Karakterin Hareket Ettirilmesi Kod Parçası: Boruların Rastgele Olarak Üretilmesi
def move_character():
# karakterin yukarı/yukarı gitmesini sağlayan kodlar
# karakterin düşüşünü sağlayan kodlar
# kullanıcının tıklamalarına göre karakterin hareketini sağlayan kodlar
def generate_pipes():
# boruların rastgele oluşumunu sağlayan kodlar
# boruların hareketini sağlayan kodlar
# boruların ekran dışına çıkması durumunda yeni bir boru oluşturmak için kodlar

Flappy Bird oyununu Python’da yapmak oldukça zorlu bir süreç olabilir ancak, yukarıdaki örnekler size başlangıçta yardımcı olacaktır. Unutmayın, bu oyun için hazırladığınız kodlar doğru bir şekilde düzenlenmeli, hatalar düzeltilmeli ve test edilmelidir. Siz de bu örneklere ekleyerek ya da tamamen farklı bir yol deneyerek Flappy Bird oyununu Python’da yapabilirsiniz.

Kod Parçası: Karakterin Hareket Ettirilmesi

Karakterin hareket ettirilmesi, Flappy Bird oyununun en önemli özelliklerinden biridir. Oyuncu, karakteri fareyle veya dokunmatik ekranda tıklayarak yukarı çıkarabilir. Bu işlemi gerçekleştiren kodlar şöyledir:

Kod Açıklama
y_speed = 0
Karakterin başlangıçta yatay hareketi sıfırdır.
if event.type == pygame.MOUSEBUTTONDOWN or event.type == pygame.KEYDOWN:
Fare tıklaması veya klavyeden herhangi bir tuşa basılması ile kontrol başlatılır.
y_speed = -5
Yukarı tuşuna basıldığında yukarı doğru hareket etmek için y_speed değişkeni -5 değeri alır.
y_speed += 0.2
Karakter, hiçbir tuşa basılmadığında yer çekiminden etkilenerek yavaş yavaş aşağı doğru düşer. Bu nedenle y_speed değişkenine her döngüde 0.2 değeri eklenir ve karakter aşağıya doğru hareket eder.
y += y_speed
Karakterin y eksenindeki konumu, y_speed değişkeninin değeri ile toplanarak güncellenir ve karakterin hareketi tamamlanır.

Bu kodlar, fare veya dokunmatik ekran üzerinden yapılan tıklama işlemlerini algılar ve karakterin yatay hareketini sağlar. Ayrıca yer çekiminden etkilenerek karakterin aşağıya doğru hareket etmesini sağlayan y_speed değişkeni de bu kodlar aracılığıyla kontrol edilir. Böylece oyuncu, karakterin hareket kontrolünü sağlayarak oyunu başarıyla tamamlayabilir.

Kod Parçası: Boruların Rastgele Olarak Üretilmesi

Bir oyunun dinamikliği, sırasız bir olay akışını sağlamak için rastgele öğeler oluşturma yeteneğiyle artar. Flappy Bird oyununda, boruların rastgele konumlandırılması sayesinde her oyunun farklı olması sağlanır. Bu makalede, Python kodları kullanarak Flappy Bird oyununda boruların nasıl rastgele oluşturulacağını göreceğiz.

Boruların rastgele oluşturulması için öncelikle rasgele konumlandırma için koordinatları belirleyen bir fonksiyon oluşturulur. Ardından, oluşturulan bu koordinatlar kullanılarak borular çizilir. Aşağıdaki kod örneğinde bu adımlar sekmeler halinde açıklanmaktadır:

Adım Kod
Koordinatları belirleyen rasgele işlevi oluşturma
import randomdef random_pipe_height():    gap = 100  # borular arasındaki boşluk    pipe_height = 320  # boru yüksekliği    offset = random.randrange(-100, 100)  # rasgele bir yerleşim yerini ayarlar    return pipe_height + offset
Boruların çizimi
def create_pipe():    random_pipe_pos = random_pipe_height()    bottom_pipe = pipe_surface.get_rect(midtop=(700, random_pipe_pos))    top_pipe = pipe_surface.get_rect(midbottom=(700, random_pipe_pos - gap))    return bottom_pipe, top_pipe

Yukarıdaki kod parçası, boruların rastgele konumlandırılmasını sağlar. ‘random_pipe_height’ fonksiyonu, boruları rastgele bir yükseklikte ve boşlukta konumlandırmak için ‘offset’ adında bir değişken içerir. ‘create_pipe’ fonksiyonu boruları koordinatlarını içeren ‘bottom_pipe’ ve ‘top_pipe’ değişkenleri olarak döndürür. Bu değişkenler game loop içinde kullanılarak boruların hareketi kontrol edilir.

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir