Hangman هي لعبة كلاسيكية لتخمين الكلمات وهي ممتعة ومشروع رائع للمبرمجين المبتدئين.
في هذه المقالة، سنتعلم كيفية بناء نسخة بسيطة من لعبة Hangman في بايثون.
بحلول النهاية، ستفهم كيفية استخدام هياكل التحكم الأساسية والوظائف والقوائم في Python لإنشاء هذه اللعبة.
هدف الجلاد هو تخمين كلمة سرية من خلال اقتراح الحروف واحدة تلو الأخرى.
يمكن للاعب إجراء عدد محدود فقط من التخمينات غير الصحيحة قبل انتهاء اللعبة.
لكل تخمين غير صحيح، يتم رسم جزء من شخصية "الجلاد"، وإذا تم رسم الشكل الكامل قبل تخمين الكلمة، يخسر اللاعب.
دعونا نقسم هذا الأمر ونبني اللعبة خطوة بخطوة.
دعونا نخطط للعبة وميزاتها الرئيسية:
ستحتوي اللعبة على المكونات التالية:
سنستخدم الوحدة العشوائية لاختيار كلمة عشوائيًا من القائمة.
import random
بعد ذلك، حدد قائمة بالكلمات التي ستختار منها اللعبة بشكل عشوائي.
يمكنك إضافة المزيد من الكلمات لجعل اللعبة أكثر إثارة.
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
نحتاج إلى وظيفة لاختيار كلمة بشكل عشوائي من قائمة الكلمات لدينا.
def get_random_word(word_list): return random.choice(word_list)
عندما يخمن اللاعب الحروف، نحتاج إلى إظهار الحروف التي تم تخمينها بشكل صحيح والعناصر النائبة (_) للأحرف التي لم يتم تخمينها.
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
تتحقق هذه الوظيفة مما إذا كان قد تم تخمين جميع أحرف الكلمة.
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
لعرض شخصية الجلاد في لعبة نصية، يمكنك استخدام فن ASCII لتمثيل المراحل المختلفة للجلاد.
def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses]
الآن يمكننا تجميع الحلقة الرئيسية للعبة. هذه الحلقة سوف:
import random # Function to get a random word from the list def get_random_word(word_list): return random.choice(word_list) # Function to display the current state of the word def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip() # Function to check if the word has been guessed def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True # Function to display the hangman figure def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses] # Main function to play the game def play_hangman(): word_list = ['python', 'java', 'hangman', 'programming', 'computer'] word = get_random_word(word_list) guessed_letters = [] attempts = 6 wrong_guesses = 0 print("Welcome to Hangman!") print("Guess the word!") # Main game loop while wrong_guessesتوضيح
لتشغيل اللعبة، ما عليك سوى تنفيذ برنامج Python النصي، على افتراض أنك قمت بإنشاء ملف main.py:
python main.py
ستطالبك اللعبة بإدخال الحروف، وستعرض الكلمة بالأحرف التي تم تخمينها بشكل صحيح أثناء تقدمك.
إذا نفدت المحاولات، تنتهي اللعبة وتخسر، هكذا:
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
إذا خمنت الكلمة بشكل صحيح، فستفوز، هكذا:
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
توضح لعبة Hangman البسيطة هذه استخدام هياكل التحكم والوظائف والقوائم والإدخال/الإخراج الأساسي في Python.
أثناء إنشاء هذا المشروع، يمكنك إضافة المزيد من الميزات مثل:
هذا مشروع رائع يمكنك التوسع فيه عندما تتعلم المزيد من مفاهيم بايثون المتقدمة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3