Python ile basit kelime bulma oyunu - HANGMAN

MyParisa

Üye
31 Mar 2023
79
38
HANGMAN

cgfph3t.jpg



Python:
import random
import urllib.request

HANGMAN = (
    """
     +-----+
           |
           |
           |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
           |
           |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
           |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
     |     |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
    /|     |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
    /|\    |
           |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
    /|\    |
    /      |
           |
    =========
    """,
    """
     +-----+
     |     |
     O     |
    /|\    |
    / \    |
           |
    =========
    """
)

# Get the word list from the internet and add the words to the list
def get_word_list(url):
    response = urllib.request.urlopen(url)
    data = response.read().decode('utf-8')
    return data.splitlines()

# Choose a word at random
def select_word(word_list):
    return random.choice(word_list)

# Guess the word
def guess_word(word, correct_guesses, wrong_guesses):
    for letter in word:
        if letter in correct_guesses:
            print(letter, end=" ")
        else:
            print("_", end=" ")
    print()

    guess = input("Bir harf tahmin edin: ").lower()
    if guess in word:
        correct_guesses.add(guess)
        print("Tebrikler, doğru harf!")
        return True
    else:
        wrong_guesses.add(guess)
        print("Maalesef yanlış. Tekrar deneyin.")
        return False

# Play game
def play_game(word):
    correct_guesses = set()
    wrong_guesses = set()
    missed_guesses = 0

    while missed_guesses < len(HANGMAN) - 1:
        print(HANGMAN[missed_guesses])
        print(f"Doğru tahminler: {' '.join(sorted(correct_guesses))}")
        print(f"Yanlış tahminler: {' '.join(sorted(wrong_guesses))}")

        if not (guess_word(word, correct_guesses, wrong_guesses)):
            missed_guesses += 1

        if len(correct_guesses) == len(set(word)):
            print(f"Tebrikler, kelimeyi buldunuz! Kelime: {word}")
            return

    print(HANGMAN[missed_guesses])
    print(f"Maalesef kaybettiniz. Doğru kelime: {word}")


def main():
    url = "https://raw.githubusercontent.com/ekartal/turkce-kelime-database/master/A.txt"
    word_list = get_word_list(url)
    word = select_word(word_list)
    play_game(word)


if __name__ == "__main__":
    main()

Deneme amaçlı oldugu icin sadece a harfi ile başlayan kelimeleri kullandim.​
 

MyParisa

Üye
31 Mar 2023
79
38
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.