@Furkan Aydemir | Bütün Hakları Saklıdır
Nesne Yönelimli Proje Java
Bu projenin amacı, nesne yönelimli programlama prensiplerini göstermek ve problem çözme becerilerini geliştirmek için 16 karttan oluşan basit bir kart oyunu tasarlamaktır. Oyuncunun bilgisayara karşı mücadele ettiği bu oyun, futbol ve basketbol olmak üzere iki farklı kategoride oynanacaktır. Her oyuncunun 8 kartı vardır (4 futbolcu ve 4 basketbolcu) ve her kategoride 3 farklı maç türü bulunmaktadır (futbol için: serbest vuruş, penaltı, kaleciyle karşı karşıya; basketbol için: serbest atış, üçlük, ikilik). Her turda, aktif kategoriden rastgele bir maç türü seçilecek ve seçilen oyuncuların özellik puanları karşılaştırılacaktır. Skor tablosu buna göre güncellenecek ve tüm kartlar kullanıldığında oyun sona erecektir. NetBeans IDE ve Java Swing UI kütüphanesi kullanılarak yazılan programımızda, geçmiş skorlar kaydedilmekte ve basit bir veritabanı yapısı üzerinden görüntülenmektedir. Her sporcunun bir görseli bulunmakta ve özellik puanları bu görsel üzerinde gösterilmektedir. Oyun akışı ve skor tablosu bu arayüz üzerinden takip edilebilmekte, oyuncu kartlarını arayüzden seçmektedir. Bilgisayarın rastgele seçtiği kart ve maç türü, oyuncunun seçtiği kart ile karşılaştırılır. Kullanılmış kartlar tekrar kullanılamaz ve oyuncu bilgisayarın kartlarını göremez. Sporcu (Athlete) ebeveyn sınıfı, Futbolcu (Footballer) ve Basketbolcu (Basketball Player) sınıfları tarafından miras alınır. Benzer şekilde, Oyuncu (Player) ebeveyn sınıfı da Kullanıcı (User) ve Bilgisayar (Computer) sınıfları tarafından miras alınır. Ortak özellikler ebeveyn sınıflarda tanımlanarak kodun temiz ve düzenli olması sağlanır. Text sınıfı, sporcuların özelliklerini ve isimlerini tanımlamaktan sorumludur ve oyunun akışının yürütüldüğü main metodunu içerir. Oyun mantığı Text sınıfı içinde kontrol edilir ve yönetilir. Oyuncu puanları private değişkenler olarak tanımlanır ve getter ve setter metodları üzerinden erişilerek enkapsülasyon (encapsulation) sağlanır.
@Furkan Aydemir | Bütün Hakları Saklıdır
A personal portfolio website is your digital resume—a place to showcase your work, skills, and achievements.