Proje: TOP ATMA OYUNU - Kocaeli Üniversitesi Bilgisayar
Transkript
Proje: TOP ATMA OYUNU - Kocaeli Üniversitesi Bilgisayar
KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLAMA LABORATUVARI I DERSİ 1. PROJE Proje: TOP ATMA OYUNU - Proje kaynak kodları (source code) CD içerisinde raporla beraber teslim edilecektir. Proje teslimi sırasında raporunuzun çıktısı ve 2 adet cd teslim etmeniz gerekmektedir. - Projenin C dili kullanılarak geliştirilmesi gerekmektedir. İNTİHAL: İnternetten alınan kod parçacıkları mutlaka kod içerisinde belirtilecek ve açıklama satırı ile kaynak gösterilecektir. Aksi durumda kopya olarak değerlendirilecektir. Kopya çektiği ya da kopya verdiği tespit edilen öğrenciler SUNUMA ALINMAYACAKTIR. ÖNEMLİ: 3 PROJEDEN 2 PROJENİN RAPORUNU TESLİM ETTİĞİ HALDE SUNUMA GELMEYEN ÖĞRENCİLER DEVAMSIZLIKTAN KALACAKTIR. Proje Tanımı ve Yapmanız Gerekenler: Projede temel olarak binaların bulunduğu bir ara yüz hazırlamanız ve bu binalardan herhangi ikisi üzerine yerleştirdiğiniz oyuncular ile top atma oyununu tasarlamanız istenmektedir. Yani; 1) Oyunun oynandığı ara yüzde farklı yükseklik ve genişliklerde binalar bulunacaktır. (Binaların şekli tamamen sizin hayal gücünüze bırakılmıştır.) 2) Oyun yeniden her başlatıldığında binaların sayısı yükseklik ve en boy değerleri rastgele olarak değiştirilmelidir. Yani her seferinde kullanıcı yeni bir ara yüz ile karşılaşmalıdır. 3) Binaların üzerinde biri sağda ve diğeri solda olmak üzere iki oyuncu yer alacaktır. (Oyuncuları nasıl çizeceğinizde sizin hayal gücünüze bırakılmıştır.) Oyuncuların yeri biri sağda biri solda olacak şekilde belirlenecektir ancak oyuncularda her seferinde aynı binanın zerinde (aynı koordinatta) bulunmayacaktır. Oyuncuların yerinin de rastgele olarak belirlenmesi gerekmektedir. 4) Oyunculara sırayla bir top ile birbirlerini vurmaya çalışacaklardır. 5) Top atışı bir eğik atış hareketi şeklinde yaptırılacaktır. 6) Eğik atış hareketinin yaptırılabilmesi için topun hızının ve yönünün ayarlanması gerekmektedir. (eğik atış için topun yönü ve topun hızı dışında rüzgârın hızının da dikkate alınması gerekmektedir. Rüzgâr hızını istediğiniz şekilde belirleyebilirsiniz. Sabit bir sayı da olabilir, rastgele değişen değerlerde olabilir. ) 7) Oyunu oynayan kullanıcıya hız ve yön değerlerini belirlemesi için oyuncunun bulunduğu tarafın üstünde bir alan hazırlanmalıdır. Ve burada yön tuşları ile hem hızın hem de atış yönünün belirlenmesi sağlanmalıdır. 8) Daha sonra belirlenen bu değerlerle atış yapılacaktır ve karşıdaki oyuncu vurulmaya çalışılacaktır. 9) Her oyuncunun toplamda üç hakkı bulunacaktır. Sağdaki oyuncu birinci atışını yaptıktan sonra sıra soldaki oyuncuya geçecektir. 10) Her oyuncunun atış sırasında da bir süre sınırlaması olmalıdır. Örneğin her atış için bir dk. verilebilir. Belirtilen süre içerisinde atış yapılmazsa oyuncu hakkını kaybedecektir ve sıra diğer oyuncuya geçecektir. 11) Karşıdaki oyuncuyu vurma durumuna ve atış sürelerine göre puan hesabı yapılacaktır. Puan hesabının nasıl yapılacağı size bırakılmıştır ancak hesap sırasında mutlaka oyuncuyu vurma ve süre kriterleri dikkate alınmalıdır. 12) Oyuncunun herhangi bir yerine temas eden top oyuncunun vurulduğu anlamına gelir. 13) Topun binalara gelmesi durumunda ise topun değdiği noktalar yıkılacaktır. Aşağıda projeyi daha net anlayabilmeniz size örnek bir ara yüz sunulmuştur. Ara yüzün amacı proje hakkında bilgi vermektir. Birebir aynı ekranı tasarlamanız beklenmemektedir. Herkes kendi hayal gücüne göre bir tasarım yapacaktır. Örnek Ara yüz; Top atma oyununa ait örnek ara yüz yukarıda gösterilmiştir. Oyunun açılış ekranında grafik kütüphaneleri ile hazırlanmış bir menü ekranı olmalıdır. Daha sonra oyuna başla butonu ile yukarıdaki ekrana geçilmelidir. Yukarıda da belirtildiği gibi her oyuncunun üç atış hakkı bulunacaktır. Ve oyun sonunda hangi oyuncunun kazandığı ekranda gösterilmelidir. Ayrıca oyunda en yüksek üç skorun da tutulması gerekmektedir. Açılışta gelecek menüden bu skorlar görüntülenebilmelidir. Mevcut skorlardan daha yüksek bir skor yapıldığında en yüksek skor bilgileri güncellenmelidir. Ana menüde yer alacak bir çıkış seçeneği ile oyundan çıkılacaktır. Kullanıcı çıkışı seçmediği sürece oyunu istediği kadar oynayabilmelidir. BONUS: Kullanıcılar için renk seçimi sunulması, oyuna müzik, farklı ses ve görüntü efektlerinin eklenmesi (topun çarpma anında çarpma sesi çıkarılması tuğlalar kırılırken farklı bir görüntü efektinin kullanılması gibi) ve oyun sırasında pause yani oyunu bekletme seçeneğinin olması size ek puan getirecektir. Yapılması zorunlu değildir. UYARI: DEMO GÜNÜ PROJEYİ BİR KAÇ KEZ ÇALIŞTIRMANIZ GEREKEBİLİR. PROJE HER ÇALIŞTIRILDIĞINDA EK İŞLEME GEREK OLMADAN ÇALIŞTIRILABİLMELİDİR. PROYE ELLE MÜDAHELE EDİLMESİNE İZİN VERİLMEYECEKTİR. PROJENİZİ KODLARKEN BU UYARIYI MUTLAKA DİKKATE ALMALISINIZ! Demo Günü Teslim Etmeniz Gerekenler : Kodlama ve uygulamayı yaptığınız ortam (IDE) hakkında sorulacak olan sorulara hazırlıklı olmanız beklenmektedir. Demo günü teslim edilecekler: 2 adet Cd, raporunuzun çıktısı (hard-copy). CD içinde olması gereken dökümanlar: -Projenizin kaynak kodları - Proje'nin rapor çıktısı (soft-copy). - CD içinde kodunuz, programınızın çalıştırabilmesi için gerekli olan instructionlar (readme.txt) ve raporunuz. - Proje raporunuzu rapor formatına uygun olarak hazırlamanız gerekmektedir. Son Teslim tarihi: 26.12.2014 Cuma günüdür. Projeyi kime teslim edeceğiniz ve sunum tarihleriniz daha sonra duyurulacaktır. Proje hakkındaki sorularınız için [email protected] adresine mail atabilirsiniz.