# استيراد مكتبة random لاختيار كلمة عشوائية
import random

# قائمة الكلمات التي يمكن اختيارها
words = ['python', 'java', 'hangman', 'game', 'word', 'guess']

# تعريف دالة اللعبة
def play_game():
    # اختيار كلمة عشوائية من القائمة
    word = random.choice(words)
    # قائمة لتخزين الأحرف التي تم تخمينها
    guessed_letters = []
    # عدد المحاولات المتاحة
    attempts = 6

    # بداية اللعبة
    print('Let\'s play Hangman!')
    # عرض النقاط الفارغة لكل حرف في الكلمة
    print('_ ' * len(word))

    # حلقة اللعبة
    while attempts > 0:
        # طلب تخمين حرف من المستخدم
        guess = input('\nPlease guess a letter: ')

        # التحقق من الحرف المخمن
        if guess in guessed_letters:
            # إذا تم تخمين الحرف مسبقاً
            print('You already guessed that letter, try again.')
        elif guess not in word:
            # إذا كان الحرف المخمن غير موجود في الكلمة
            print('Incorrect guess.')
            attempts -= 1
        else:
            # إذا كان الحرف المخمن موجود في الكلمة
            print('Good guess!')
            guessed_letters.append(guess)

        # عرض الكلمة مع الأحرف المخمنة
        word_list = [letter if letter in guessed_letters else '_' for letter in word]
        print(' '.join(word_list))

        # التحقق من اكتمال الكلمة
        if '_' not in word_list:
            print('Congratulations, you won!')
            break

    # إذا نفذت المحاولات
    if attempts == 0:
        print('Sorry, you lost. The word was ' + word + '.')

# الدالة الرئيسية لبدء اللعبة
def main():
    while True:
        play_game()
        # السؤال عن الرغبة في اللعب مرة أخرى
        play_again = input('Do you want to play again? (yes/no) ')
        if play_again.lower() != 'yes':
            break
main()