برمجة لعبة حجر ورقة مقص باستخدام Python و Tkinter
في سعينا المستمر لاكتساب مهارات البرمجة وفهم أعمق للعلوم الحاسوبية، يعتبر برمجة لعبة حجرة ورقة مقص باستخدام لغة بايثون خطوة رائعة ومشوقة. إن تطوير الألعاب يمثل تحديًا ممتعًا يساعدك في تعلم البرمجة من خلال تطبيق المفاهيم الأساسية. سنقوم هنا بتوجيهك خطوة بخطوة في إنشاء لعبة بسيطة وتوفير معلومات قيمة لتعزيز فهمك.
أولاً وقبل كل شيء، يجب عليك تثبيت Python على جهاز الكمبيوتر الخاص بك إذا لم يكن مثبتًا بالفعل. يمكنك تنزيل الإصدار الأخير من Python من الموقع الرسمي.
-
إنشاء حاسبة ارتباط بسيطة باستخدام JavaScript22/02/2024
-
حل مشكلة البحث عن الفجوات في Python02/04/2024
-
إنشاء نوافذ مخصصة بشكل فريد في Python30/01/2024
بعد تثبيت Python، سنستخدم مكتبة Tkinter المدمجة في Python لإنشاء واجهة المستخدم البسيطة للعبة. قم بفتح محرر النصوص الذي تفضله، وقم بإنشاء ملف جديد بامتداد .py
.
pythonimport tkinter as tk
import random
def get_computer_choice():
choices = ["حجر", "ورقة", "مقص"]
return random.choice(choices)
def determine_winner(player_choice, computer_choice):
if player_choice == computer_choice:
return "تعادل"
elif (
(player_choice == "حجر" and computer_choice == "مقص") or
(player_choice == "ورقة" and computer_choice == "حجر") or
(player_choice == "مقص" and computer_choice == "ورقة")
):
return "فازت اللاعب"
else:
return "فاز الكمبيوتر"
def play_game(player_choice):
computer_choice = get_computer_choice()
result = determine_winner(player_choice, computer_choice)
result_label.config(text=f"اختيار الكمبيوتر: {computer_choice}\n{result}")
# إعداد واجهة المستخدم
root = tk.Tk()
root.title("لعبة حجر ورقة مقص")
# إضافة زر لكل خيار
rock_button = tk.Button(root, text="حجر", command=lambda: play_game("حجر"))
rock_button.pack(side=tk.LEFT, padx=10)
paper_button = tk.Button(root, text="ورقة", command=lambda: play_game("ورقة"))
paper_button.pack(side=tk.LEFT, padx=10)
scissors_button = tk.Button(root, text="مقص", command=lambda: play_game("مقص"))
scissors_button.pack(side=tk.LEFT, padx=10)
result_label = tk.Label(root, text="")
result_label.pack()
# تشغيل البرنامج
root.mainloop()
هذا الكود يقوم بإنشاء واجهة المستخدم للعبة حجر ورقة مقص باستخدام Tkinter. تتيح للاعب اختيار واحد من الخيارات (حجر، ورقة، أو مقص) عبر الأزرار، ومن ثم يتم عرض اختيار الكمبيوتر ونتيجة اللعبة.
الكود يستخدم مفاهيم مثل الدوال، والشروط، والمصفوفات لتحديد فائز اللعبة. يمكنك استخدام هذا الكود كنقطة انطلاق لتعلم المزيد وتطوير المزيد من مهاراتك في برمجة Python.
المزيد من المعلومات
بالطبع، دعونا نوسع المزيد على بعض المفاهيم والمعلومات في الكود السابق:
-
مفهوم الدوال:
في الكود، قمنا بتعريف ثلاث دوال:get_computer_choice()
: تقوم بإرجاع اختيار عشوائي للكمبيوتر بين “حجر”، “ورقة”، و”مقص”.determine_winner(player_choice, computer_choice)
: تقوم بتحديد الفائز بناءً على اختيار اللاعب واختيار الكمبيوتر.play_game(player_choice)
: تستدعي الدالة السابقة وتظهر نتيجة اللعبة على واجهة المستخدم.
-
استخدام Tkinter:
Tkinter هي مكتبة واجهة رسومية لـ Python وهي مدمجة في اللغة. في الكود، استخدمنا Tkinter لإنشاء نافذة اللعبة والأزرار وتسمية النتائج.pythonroot = tk.Tk() root.title("لعبة حجر ورقة مقص")
يتم إنشاء نافذة باسم “لعبة حجر ورقة مقص”، ومن ثم تم إضافة الأزرار باستخدام
tk.Button
والتسميات باستخدامtk.Label
. -
التحكم في الواجهة:
تم وضع الأزرار في النافذة باستخدامpack
، وتم تحديد الأماكن والتباعد بينها باستخدامside
وpadx
. كما تم استخدامcommand
لربط كل زر بالدالة المناسبة.pythonrock_button = tk.Button(root, text="حجر", command=lambda: play_game("حجر")) rock_button.pack(side=tk.LEFT, padx=10)
-
تفاعل المستخدم:
بفضل استخدام الدوال وTkinter، يمكن للمستخدم النقر على أزرار لاختياره، وبعد ذلك يتم تنفيذ اللعبة وعرض نتيجتها. -
الشروط والقوائم:
استخدمنا شرطًا (if-elif-else
) فيdetermine_winner
لتحديد الفائز بناءً على اختيار اللاعب والكمبيوتر.pythonif player_choice == computer_choice: return "تعادل"
-
مفهوم البرمجة الشيئية:
يمكن تحسين الكود أكثر عن طريق استخدام مفاهيم البرمجة الشيئية مثل إنشاء كائنات للعبة وتنظيم الأكواد في صفوف.هذه النقاط تعطي لك فكرة عن الأساسيات المستخدمة في الكود وتشكل نقطة انطلاق جيدة لاستكشاف مفاهيم أعمق في برمجة Python وتطوير الألعاب.