اذهب إلى المحتوى
  • 0

لدي مشكله في صنع لعبه ب python

Timothy Emad

السؤال

انا احاول ان اصنع لعبه حجر ورقه مقص في محرر النصوص ولاكني اريد ان تكون تفاعليه اكثر اي بدل ما يكتب الاعب حجر او ورقه او مقص اريده ان يضغط علي زر هل يمكنك مساعدتي في هذا الامر

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكن تنفيذ ذلك باستخدام واجهة المستخدم الرسومية (GUI) في Python لإنشاء لعبة حجر ورقة مقص تفاعلية، و هناك عدة مكتبات GUI في Python مثل Tkinter و PyQT و wxPython.

وسأوضح لك الأمر باستخدام Tkinter لإنشاء واجهة المستخدم الرسومية للعبة حجر ورقة ومقص.

فيما يلي مثال بسيط:

import random
import tkinter as tk

OPTIONS = ["Rock", "Paper", "Scissors"]

# define function to play the game
def play_game(player_choice):
    computer_choice = random.choice(OPTIONS)
    result_text = ""

    # determine the winner
    if player_choice == computer_choice:
        result_text = "Tie!"
    elif player_choice == "Rock" and computer_choice == "Scissors":
        result_text = "You win!"
    elif player_choice == "Paper" and computer_choice == "Rock":
        result_text = "You win!"
    elif player_choice == "Scissors" and computer_choice == "Paper":
        result_text = "You win!"
    else:
        result_text = "Computer wins!"

    # update the result label
    result_label.config(text="You chose: " + player_choice +
                              "\nComputer chose: " + computer_choice +
                              "\n" + result_text)

# create the main window
root = tk.Tk()
root.geometry("300x200")

# create the widgets
title_label = tk.Label(root, text="Rock Paper Scissors")
title_label.pack(pady=10)

rock_button = tk.Button(root, text="Rock", command=lambda: play_game("Rock"))
rock_button.pack()

paper_button = tk.Button(root, text="Paper", command=lambda: play_game("Paper"))
paper_button.pack()

scissors_button = tk.Button(root, text="Scissors", command=lambda: play_game("Scissors"))
scissors_button.pack()

result_label = tk.Label(root, text="")
result_label.pack(pady=10)

# start the event loop
root.mainloop()

في المثال، يتم إنشاء نافذة رئيسية وثلاثة أزرار للاعب للاختيار من بينها، وتم إنشاء دالة play_game() التي تقوم بتوليد اختيار عشوائي للكمبيوتر ثم مقارنته بخيار اللاعب. يتم عرض النتيجة في علامة النتيجة.

لاحظ استخدام lambda لتمرير الخيار المختار من قبل اللاعب إلى دالة play_game() كوسيط بين الأزرار والدالة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 10 ساعة قال Mustafa Suleiman:

يمكن تنفيذ ذلك باستخدام واجهة المستخدم الرسومية (GUI) في Python لإنشاء لعبة حجر ورقة مقص تفاعلية، و هناك عدة مكتبات GUI في Python مثل Tkinter و PyQT و wxPython.

وسأوضح لك الأمر باستخدام Tkinter لإنشاء واجهة المستخدم الرسومية للعبة حجر ورقة ومقص.

فيما يلي مثال بسيط:

import random
import tkinter as tk

OPTIONS = ["Rock", "Paper", "Scissors"]

# define function to play the game
def play_game(player_choice):
    computer_choice = random.choice(OPTIONS)
    result_text = ""

    # determine the winner
    if player_choice == computer_choice:
        result_text = "Tie!"
    elif player_choice == "Rock" and computer_choice == "Scissors":
        result_text = "You win!"
    elif player_choice == "Paper" and computer_choice == "Rock":
        result_text = "You win!"
    elif player_choice == "Scissors" and computer_choice == "Paper":
        result_text = "You win!"
    else:
        result_text = "Computer wins!"

    # update the result label
    result_label.config(text="You chose: " + player_choice +
                              "\nComputer chose: " + computer_choice +
                              "\n" + result_text)

# create the main window
root = tk.Tk()
root.geometry("300x200")

# create the widgets
title_label = tk.Label(root, text="Rock Paper Scissors")
title_label.pack(pady=10)

rock_button = tk.Button(root, text="Rock", command=lambda: play_game("Rock"))
rock_button.pack()

paper_button = tk.Button(root, text="Paper", command=lambda: play_game("Paper"))
paper_button.pack()

scissors_button = tk.Button(root, text="Scissors", command=lambda: play_game("Scissors"))
scissors_button.pack()

result_label = tk.Label(root, text="")
result_label.pack(pady=10)

# start the event loop
root.mainloop()

في المثال، يتم إنشاء نافذة رئيسية وثلاثة أزرار للاعب للاختيار من بينها، وتم إنشاء دالة play_game() التي تقوم بتوليد اختيار عشوائي للكمبيوتر ثم مقارنته بخيار اللاعب. يتم عرض النتيجة في علامة النتيجة.

لاحظ استخدام lambda لتمرير الخيار المختار من قبل اللاعب إلى دالة play_game() كوسيط بين الأزرار والدالة.

لقد قرات الكود وفهمته ولكن لم استطع تشغيله بشكل صحيح 

فماذا اكتب في التيرمنال لعمل البرنامج بشكل صحيح

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 27 دقائق مضت قال Comfortable Videos:

لقد قرات الكود وفهمته ولكن لم استطع تشغيله بشكل صحيح 

فماذا اكتب في التيرمنال لعمل البرنامج بشكل صحيح

 

يجب أن تكون لديك المكتبات المناسبة.

ينصح بتنزيل المكتبات لأي مشروع ضمن بيئة افتراضية، مثلاً يمكنك استعمال pipenv، عن طريق الذهاب إلى المجلد الذي يحوي الكود و كتابة ما يلي:

pip install pipenv
pipenv install tk
pipenv shell
python -m script

حيث أنني أعتبر هنا أن الملف الذي تريد تشغيله له الاسم script.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يوجد العديد من الأمثلة والتطبيقات على موقع github التي توفر لك هذا التطبيق وهي مفتوحة المصدر فيمكنك تحميلها والتعديل عليها والتعلم منها لإكتشاف الكثير من المهارات التي لم تكن تعرفها 

لذلك قم بالدخول ل github وقم بالبحث عن عن اسم اللعبة بالإضافة للغة التي تريدها وستطهر لك العديد من المستودعات وفي حالة وجود كود لم تعرفه أو مشكلة واجهتك يمكنك إضافة سؤال وسيتم الإجابة عليك 

ومثال يمكنك الإطلاع على المشاريع الموجودة بهذه الصفحة

وفي ملف ال README الموجود في أي مشروع ستجد المتطلبات لتشغيل التطبيق على جهازك بحيث يمكنك تحميل الحزم المستخدمة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...