Thursday, January 26, 2012

Hacop Fighter - [Proje]

Herkese merhaba, hazır vaktim varken bahsetmek istediğim başka bir projede üniversite 2. sınıfta "CS 340" kodlu, "Yazılım Geliştirmede İlerlemeler" dersinde JAVA programlama dilini kullanarak yazdığım 2 boyutlu uzay simulasyonu. Oyun hem iki kişilik hem de tek kişilik oynanabilir. Eğer tek kişi oynuyorsanız, oyundaki amaç düşman gemilerinin tamamını yok edip, bölüm sonu canavarı ile karşılaşmak. Oyuncu sahip olduğu uzay gemisi ile sağ taraftan üzerine gelen düşman gemilerini yok edip bölüm sonu canavarına ulaşmaya çalışır. Ancak oyunu iki kişi oynamak isterseniz, ilk oyuncu uzay gemisini yönlendirirken, ikinci oyuncu mouse ile haritanın izin verilen kısımlarına tıklayarak düşman bırakıp ilk oyuncuyu yok etmeye çalışıyor. Haksız rekabet olmaması için ikinci oyuncunun mouse ile her tıklamasında random fonksiyon çağrılıyor. Karşı tarafa düşman bırakayım derken bonusta bırakabilirsiniz. Oyunda düşman gemilerinden ayrı olarak sağlık(health) bonusuda bulunmaktadır. Bu bonusu aldığınız vakit geminizin dayanaklılığı artmaktadır. Oyundaki tüm düşman gemilerini yok ettikten sonra bölüm sonu canavarı ile karşılaşıyorsunuz. Bu yaratık diğerlerine göre daha büyük ve daha güçlü olmakla birlikte, ilk yapay zeka denemem olması bakımından benim için ayrı bir yere sahiptir. Şimdi de oyunumu resimler eşliğinde sizlere tanıtmak istiyorum.


Oyunu derleyip çalıştırdığınızda üstteki gibi bir menu sizi karşılıyor. Yeni bir oyuna başlayabilirsiniz ya da oyundan çıkabilirsiniz. Tabii bu projeler belli bir zaman aralığında yapıldığı için oyunun temel dinamiklerini yapmaktan menuyü geliştirmeye vakit olmuyor. Bu projede de oyun kütüphanesi olMAyan Swing kullandığım düşünülürse konuyla ilgili olan arkadaşlar ne demek istediğimi daha rahat anlayacaklardır. Her bir fonksiyonu kendim yazmak zorunda kaldım.

Alttaki resimde ise oyuncuyu, yeni bir oyuna başlamış ve düşman gemilerini yok etmeye çalışırken görüyorsunuz. Artı şeklindeki siyah objeler sağlık(health) bonusudur ve geminizin gücünü artırır. Sol üst köşede skor, haritada kalan düşman ve bonus sayısını gösterirken, sağ üst köşede bulunan değer ise savaş gemimizin gücünü göstermektedir.





Üstteki ve alttaki resimde ise ikinci oyuncuyu haritaya düşman gemisi bırakırken görüyorsunuz.



Üstteki ve alttaki resimde ise haritadaki tüm düşman gemilerinin yok edilmesinden sonra bölüm sonu canavarı ile karşılaşılıyor.



Oyunum genel hatları ile bu kadar. İlgilenenler oyunu geliştirebilirler. Mesela farklı düşman gemileri ya da bonuslar eklenebilir, oyundaki yapay zeka daha da geliştirilebilir. İlgilenenler kaynak kodu buradan indirebilir. Oyun JAVA programlama dili ile yazıldığından platform bağımsızdır ve herhangi bir değişiklik yapmadan derlenip çalıştırılabilir. Ben en son Ubuntu 11.10 üzerinde Eclipse(Indigo) aracılığı ile derleyip sorunsuz bir şekilde çalıştırdım. Sizde oyunu kendi bilgisayarınızda derleyip ya da "/bin" klasörü içindeki hali hazırda derlenmiş .class uzantılı dosyaları konsolda çalıştırıp oynayabilirsiniz. İyi eğlenceler.

No comments:

Post a Comment