Oyun Yapımı - 5 (Mayın ve Bonus Yerleştirilmesi ve Oyunun Amacına Karar Verme)

5. Mayın ve Bonus Yerleştirilmesi ve Oyunun Amacına Karar Verme:

Bu bölümde oyunumuzun amacına karar veriyoruz (biraz geç mi kaldık acaba.. :) ). Oyunumuzda 2 oyuncumuz vardı ve bunları birbirine ve oyun alanının kenarlarına çarptırdığımızda sekme hareketi sağlıyorduk. İsterseniz oyun alanımızda çarpılmaması gereken bölgeler belirleyelim (mayınlar), ve aynı zamanda alınabilecek ve alındığında bize puan kazandıracak ekstra cisimler koyalım (bonus). Artık oyunumuzun bir amacı var. En çok ekstra toplayan ve dolayısı ile en çok puan elde eden oyuncu oyunu kazanır.

İlk olarak Bonus ve Mine isimli sınıfları projemize ekledik. Bu iki sınıfta ortak olarak Ball sınıfından türemekteler. Yalnız çizim işlemi sırasında render() yordamını değiştirerek kendilerine özgü şekiller çiziyorlar. Ayrıca Bonus sınıfı update() yordamı ile kendi iç değişkenini devamlı günlüyor. Bu sayede render() sırasında bonuslar hareketli bir biçimde kendilerini çizdiriyorlar.

Geçen örneğimizde çarpışma kontrolleri ile ilgili yordamları direk olarak Player sınıfı içerisine koymuştuk. Bu sefer daha değişik bir yaklaşım izliyerek isHit() yordamını Entity sınıfında gerçekleştiriyoruz. Böylelikle Player, Mine ve Bonus sınıflarının tümü içerisinde isHit() yordami kullanılabiliyor. Player sınıfı içinde bulunan ball nesnesi ile isHit() işlevselliğine erişebiliyor.

Ana program döngümüzde renderScene() yordamı içerisinde yer alan çarpışma kontrolü ile ilgili kısımları bu saydığımız değişikliğe uygun olarak güncelledik. Aynı zamanda mayına çarpılınca bir sekme hareketi gerçekleştirilmesini ve bonusların üzerinden geçilince (çarpılınca) bonusun ortadan kaldırılmasını (bonus.setVisible(false)) ve oyuncu puanının arttırılması sağladık. Ayrıca oyuna bir değişiklik getirmek amacı ile her puan alınışında oyuncu büyüklüğünü bir miktar da değiştiriyoruz.

Henüz oyunumuzun bir bitiş koşulu yok. ESC tuşu ile oyundan çıkıldığında stdout.txt isimli bir kütük oluştutulup içine oyuncu puanları yazılıyor. İlerleyen derslerimizde oyunumuza doku kaplamaları ile biraz renk getirip, anlamlı bitiş ve başlangıç bölümleri ekleyeceğiz.

Sitemizin "Dosyalar/Döküman ek dosyaları" bölümünde yer alan Oyun Yapımı - 5 isimli kütük içerisinde her zamanki gibi proje kodunu ve çalıştırılabilir halini bulabilirsiniz. Kod içerisinde bulunan açıklama satırları ile projede gelinen kısmı kısa zamanda kavrayacağınızı düşünüyorum. İyi çalışmalar.

Deniz Aydınoğlu :: 2002 ::







Bu yazının bulunduğu site: OyunYapimi.org
http://www.oyunyapimi.org

Bu yazı için adres:
http://www.oyunyapimi.org/modules.php?name=Sections&op=viewarticle&artid=6