Tasarım
class AdamAsmaca
- Constructor (Yapıcı metod)
+ AdamAsmaca()
// Maksimum hata miktarı 6 olacak. Türkçe alfabe kullanılacak.
// Program gizli kelimeyi sabit bir kelime listesinden rastgele seçecek.
- gizliKelime : StringBuffer
- alfabe : StringBuffer
- kullanılanHarfler : StringBuffer
- hatalıTahminSayısı : int
- maxHatalıTahmin : int
- bulunanKelime : StringBuffer // Henüz bulunamayan harflerin yeri kapalı olacak şekilde bulunan haliyle kelime.
+ getAlfabe() : String
+ getKullanılanHarfler() : String
+ getHatalıTahminSayısı() : int
+ getMaxHataliTahmin() : int
+ getBulunanKelime() : String // Henüz bulunamayan harflerin yeri kapalı olacak şekilde bulunan haliyle kelimeyi döndürür.
+ harfDene(harf) : int // tahmin edilen harfin gizli kelime içerisinde kaç keç geçtiğini döndürür.
+ oyunBitti() : boolean // Oyunun bitip bitmediğini kontrol eder ve oyun bittiyse true döndürür.
+ oyunuKaybetti() : boolean // Oyuncu oyunu kaybettiyse true döndürür.
- gizliKelimeSec() : String //Sabit bir kelime listesi içinden rastgele gizli kelimeyi seçmek için yapıcı metod tarafından çağırılır.
İlave Açıklamalar
constructor:
alfabe = Türkçe alfabe
maxHatalıTahmin = 6
hatalıTahminSayısı = 0
kullanılanHarfler : başlangıçta boş
gizliKelime : gizliKelimeSec() metodu kullanılarak rastgele seçilir.
bulunanKelime : gizliKelime ile aynı uzunlukta, ama bütün karakterleri '*' olan bir String
harfDene(harf)
Parametre olarak verilen "harf"in gizliKelime içerisinde kaç tane olduğunu döndürür. Ayrıca bulunanKelime'yi bilinen harfleri yerlerine koyarak günceller. Henüz bilinmeyen harflerin yerinde '*' karakteri olur. Eğer harf geçersiz bir harf ise -1 döndürür. Eğer harf daha önceden denenmiş ise -2 döndürür. Eğer oyun bittiyse -3 döndürür.