Tasarım

class AdamAsmaca

        + 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.