يهمني رأيكم اخواني

اولا الله ينصر اخواتنا في فلسطين الكل يقول امين
اريد مشاركة تحدي سباق السلاحف الدي حليته قبل ما ارى حل الاستاذ القدير ابراهيم و اريد رايكم لانني اختصرت مجموعة من الفنكشنس يعني قيمو مستوايا و شكرا

from turtle import Turtle, Screen
import random

إعداد النافذة

Window = Screen()
Window.title(‘Turtle Race’)
Window.setup(1000, 600)

دالة لإنشاء السلحفاة

def rese(color, y):
sam = Turtle(“turtle”)
sam.penup()
sam.color(color)
sam.speed(‘fastest’)
sam.goto(-450, y)
return sam

إنشاء السلاحف

red = rese(‘red’, 0)
green = rese(‘green’, 100)
blue = rese(‘blue’, -100)

إدخال المستخدم لاختيار السلحفاة التي يدعمها

user_choice = Window.textinput("Make Your Bet ", “Guess the winner:\nType a color? red, green, blue”)

def display_message(message):
message_turtle = Turtle()
message_turtle.color(“red”)
message_turtle.penup()
message_turtle.hideturtle() # إخفاء السلحفاة المستخدمة لعرض الرسالة
message_turtle.goto(0, 0) # الانتقال إلى منتصف الشاشة
message_turtle.write(message, align=‘center’, font=(‘Arial’, 35, “bold”))

دالة بدء السباق

def start_race(turtles):
race_on = True
while race_on:
for turtle in turtles:
step = random.randint(1, 10) # حركة عشوائية لكل سلحفاة
turtle.forward(step)

        # شرط الفوز: عندما تصل السلحفاة إلى نهاية السباق
        if turtle.xcor() >= 450:
            winner = turtle.pencolor()  # الحصول على لون السلحفاة الفائزة
            # إبلاغ المستخدم بالفائز
            if user_choice == winner:
                display_message("You Win 🏆")
            else:
                display_message("You Lose !")
            race_on = False  # إيقاف السباق
            break  # الخروج من الحلقة بعد إعلان الفائز

بدء السباق

start_race([red, green, blue])

إبقاء النافذة مفتوحة حتى ينقر المستخدم عليها

Window.exitonclick()

3 إعجابات

بسم بالله ما شاء الله
اللهم بارك …الكود منظم ومبني ع استخدام الفانكشنز
ف الاول عملت دالة لإنشاء السلاحف ثم دالة لعرض رسالة المستخدم ثم دالة لبدأ السباق وتحديد الفائز.
وهناك طرق اخري للوصول إلى نفس النتيجة.
طريقتك لاتقل شئ عن حل المستر.


انا عند كتابتي للكود للمره الأولي
عملت لكل سلحفاء كود :joy:
ثم وضعتهم ف قائمة. وتعثرت في كيفيه عمل شرط ل while loop عشان اوقفه.
لحل مشوفت حل المستر واستفدت منه ف اختصار الكود وتبسيطه .
_مثلا استخدم اللوب لعمل السلاحف بدلا من عمل كل واحده ع حدا .
_كيفيه تمرير المتغيرداخل الداله .وهكذا.
الأن لقد اعدت كتابة الكود باستخدام أسلوب OOP وتنظيم الملفات الخاصة بها :smiling_face:

4 إعجابات

جزاكم الله خيرا \\

إعجابَين (2)

و جزاك كل الجزاء خويا

إعجابَين (2)

جيد نحن هنا لنتعلم من بعضنا

إعجابَين (2)

حبيبنا الغالي
/

/
/
/
/

إعجابَين (2)