الدرس 13: بايثون يرسم! 🐢🎨 (مقدمة لمكتبة `turtle`)
أهلاً وسهلاً بكم أيها الفنانون الصغار في مغامرة جديدة ومختلفة تمامًا مع صديقنا بايثون! 🖌️🎉 حتى الآن، تعلمنا كيف نجعل بايثون يطبع كلمات، يحسب أرقامًا، يتخذ قرارات، يكرر أوامر، وينظم كنوزنا في سلال. اليوم، سنكتشف جانبًا فنيًا مدهشًا لبايثون: الرسم! نعم، بايثون يمكنه أن يرسم أشكالًا وخطوطًا وألوانًا جميلة على شاشتنا باستخدام أداة سحرية اسمها “مكتبة `turtle`” (مكتبة السلحفاة). تخيل أن لديك سلحفاة صغيرة تحمل قلمًا وتتبع أوامرك لترسم ما تشاء! هيا بنا نتعرف على هذه السلحفاة الفنانة ونبدأ في رسم إبداعاتنا! 🐢💨
ما هي مكتبة `turtle`؟ سلحفاتك الرسامة! 🐢✏️
في عالم بايثون، “المكتبة” (اسمها بالإنجليزي Library
) هي مجموعة من الأدوات والوصفات (الدوال) الجاهزة التي كتبها مبرمجون آخرون لمساعدتنا في القيام بمهام معينة بسهولة. مكتبة `turtle` هي مكتبة ممتعة جدًا مخصصة للرسم البسيط.
عندما نستخدم مكتبة `turtle`، فإننا في الواقع نتحكم بسلحفاة افتراضية صغيرة على الشاشة. هذه السلحفاة تحمل قلمًا، وعندما تتحرك، ترسم خطًا خلفها. يمكننا أن نأمر السلحفاة بالتحرك للأمام، الانعطاف لليمين أو اليسار، تغيير لون قلمها، والمزيد! كأنك توجه فنانًا صغيرًا ليرسم لك لوحة.
ملاحظة مهمة جدًا لمحرر الأكواد المدمج:
مكتبة `turtle` تحتاج عادةً إلى نافذة رسومية خاصة لتظهر فيها الرسومات. قد لا تعمل مكتبة `turtle` بشكل كامل أو بنفس الطريقة في كل المحررات المدمجة عبر الإنترنت. بعض المحررات قد تدعمها بشكل جيد، وبعضها قد لا يدعمها إطلاقًا أو يدعمها بشكل محدود. إذا لم تعمل الأمثلة التالية كما هو متوقع في المحرر المدمج الذي تستخدمه، فلا تقلق! هذا لا يعني أنك أخطأت. يمكنك تجربة هذه الأكواد لاحقًا عندما تنتقل إلى بيئة بايثون كاملة على جهاز الكمبيوتر الخاص بك (مثل استخدام IDLE الذي يأتي مع بايثون، أو VS Code مع إعداد بايثون). سنركز اليوم على فهم الأوامر الأساسية، وحتى لو لم ترَ الرسم، حاول أن تتخيل ما ستفعله السلحفاة! 💭
بدء الرسم: استدعاء السلحفاة! 🌟
لاستخدام أي مكتبة في بايثون، يجب أولاً أن “نستوردها” إلى برنامجنا. هذا يخبر بايثون أننا نريد استخدام الأدوات الموجودة في تلك المكتبة. لمكتبة `turtle`، نكتب في بداية برنامجنا:
import turtle
بعد ذلك، نحتاج إلى إنشاء “سلحفاتنا” التي سنعطيها الأوامر. يمكننا أن نعطيها أي اسم، لكن من الشائع تسميتها t
أو my_turtle
أو pen
.
الكود الذي سينشئ السلحفاة هو:
import turtle
t = turtle.Turtle() # أنشأنا سلحفاة اسمها t
الآن، المتغير t
يمثل سلحفاتنا الرسامة! كل الأوامر التي سنعطيها للسلحفاة ستبدأ بـ t.
متبوعة باسم الأمر.
أوامر السلحفاة الأساسية: التحرك والرسم! ➡️↩️
هيا نتعرف على بعض الأوامر الأساسية لتحريك سلحفاتنا وجعلها ترسم:
t.forward(distance)
: تحريك السلحفاة للأمام بمقدارdistance
(مسافة) معينة (بالبكسل). سترسم خطًا إذا كان قلمها للأسفل.t.backward(distance)
: تحريك السلحفاة للخلف بمقدارdistance
.t.right(angle)
: جعل السلحفاة تستدير لليمين بمقدارangle
(زاوية) معينة (بالدرجات).t.left(angle)
: جعل السلحفاة تستدير لليسار بمقدارangle
معينة.t.penup()
: رفع قلم السلحفاة (تتحرك بدون رسم).t.pendown()
: إنزال قلم السلحفاة (تتحرك مع الرسم).
✨ لنطبق معًا: رسم خط بسيط ثم مربع! ✨
توجه إلى محرر الأكواد المدمج. امسح أي كود قديم. تذكر، إذا لم ترَ الرسم، حاول أن تتخيل!
1. رسم خط:
الكود الذي سيرسم خطًا واحدًا هو:
import turtle
t = turtle.Turtle()
t.forward(100) # ارسم خطًا بطول 100 بكسل
turtle.done() # يبقي نافذة الرسم مفتوحة
هيا يا فنان، جرب كتابة هذا الكود بنفسك!
2. رسم مربع (أضلاعه 100، وزواياه 90 درجة):
امسح الكود السابق بالكامل وابدأ من جديد. سنستخدم حلقة for
لرسم أضلاع المربع الأربعة بسهولة!
import turtle
t = turtle.Turtle()
for i in range(4): # سنكرر 4 مرات (لأربعة أضلاع)
t.forward(100) # تحرك للأمام 100
t.left(90) # استدر لليسار 90 درجة
turtle.done()
جرب كتابة هذا الكود الآن في المحرر!
إذا كان المحرر يدعم turtle
، سترى مربعًا جميلًا! وإلا، تخيل السلحفاة وهي تتحرك في عقلك!
تلوين رسوماتنا وتغيير السرعة! 🎨💨
الرسم يصبح أجمل بالألوان! يمكننا تغيير لون قلم السلحفاة وشكلها وسرعتها:
t.color("color_name")
: تغيير لون قلم السلحفاة (مثال:t.color("blue")
أوt.color("red")
). يمكنك البحث عن أسماء الألوان بالإنجليزية.t.pencolor("color_name")
: لتغيير لون القلم فقط.t.fillcolor("color_name")
: لتغيير لون التعبئة (عندما نرسم أشكالًا مغلقة ونريد تلوينها من الداخل).t.begin_fill()
: نبدأ تسجيل شكل لتعبئته.t.end_fill()
: ننهي تسجيل الشكل ونقوم بتعبئته باللون المحدد.t.speed(number)
: تغيير سرعة رسم السلحفاة (0
هي الأسرع،10
سريعة،6
عادية،3
بطيئة،1
بطيئة جدًا).t.shape("shape_name")
: تغيير شكل مؤشر السلحفاة نفسه (مثلاً إلى"turtle"
،"arrow"
،"circle"
).
✨ لنطبق معًا: رسم مثلث أحمر مملوء! ▲ ✨
امسح الكود السابق وابدأ من جديد.
هذا هو الكود الذي سيرسم لنا مثلثًا ملونًا:
import turtle
t = turtle.Turtle()
t.speed(1) # لنجعلها بطيئة لنرى الرسم بوضوح
t.pencolor("red") # لون خط الرسم أحمر
t.fillcolor("pink") # لون التعبئة وردي
t.begin_fill() # ابدأ تسجيل الشكل للتعبئة
for i in range(3): # المثلث له 3 أضلاع
t.forward(120) # طول الضلع 120
t.left(120) # الزاوية الخارجية للمثلث المتساوي الأضلاع (360/3)
t.end_fill() # انتهِ من التسجيل وقم بالتعبئة
turtle.done()
هيا يا رسام الأشكال! اكتب هذا الكود بنفسك في المحرر.
إذا سارت الأمور على ما يرام، سترى مثلثًا أحمر الخطوط وردي التعبئة!
رسم دائرة: أمر خاص! 🟢
السلحفاة لديها أمر خاص لرسم الدوائر بسهولة:
t.circle(radius)
: يرسم دائرة نصف قطرهاradius
.
مثال لرسم دائرة زرقاء. امسح الكود السابق.
import turtle
t = turtle.Turtle()
t.pencolor("blue")
t.circle(50) # ارسم دائرة نصف قطرها 50
turtle.done()
جرب كتابة هذا الكود بنفسك في المحرر!
مشروع صغير: “رسم منزل بسيط” 🏡 أو “زخرفة فنية” 🎨
هيا نجمع ما تعلمناه لنرسم شيئًا بسيطًا! يمكنك اختيار رسم منزل (مربع وسقفه مثلث) أو زخرفة فنية من عدة أشكال متكررة.
✨ مثال: رسم منزل بسيط (جرب بنفسك!) ✨
فكر في الخطوات:
- ارسم مربعًا (جدران المنزل) باستخدام
forward()
وleft()
. - حرّك السلحفاة (بدون رسم باستخدام
penup()
وpendown()
) إلى زاوية المربع العلوية لتبدأ رسم السقف. - ارسم مثلثًا (السقف) باستخدام
forward()
وleft()
. - (اختياري) أضف بابًا أو نافذة!
هذا تحدٍ ممتع! لا تقلق إذا لم يكن مثاليًا من أول مرة. الرسم بالسلحفاة هو تجربة وتعلم. هيا، حاول أن تبني منزل أحلامك بالكود!
إذا كنت تواجه صعوبة في تشغيل `turtle` في المحرر المدمج، يمكنك البحث عن “online python turtle editor” في جوجل، فهناك مواقع توفر بيئات مخصصة لتجربة `turtle` مباشرة في المتصفح.
جرب بنفسك! كن فنان السلحفاة! 🧪🐢🎨
أفضل طريقة لتعلم الرسم بالسلحفاة هي بالتجربة الكثيرة!
عد إلى محرر الأكواد المدمج (أو محرر `turtle` عبر الإنترنت) وجرب هذه الأفكار:
- ارسم نجمة (تحتاج إلى حساب الزوايا الصحيحة!). يمكنك البدء هكذا:
import turtle t = turtle.Turtle() t.speed(0) for i in range(5): t.forward(100) t.right(144) turtle.done()
جرب كتابة هذا الكود بنفسك!
🐍 محرر Python تفاعلي - اكتب الكود بنفسكاضغط Ctrl+Enter للتشغيل💡 اضغط "تشغيل الكود" لرؤية النتائج هنا - ارسم عدة دوائر متداخلة بألوان مختلفة. فكر في استخدام حلقة
for
لتكرار الرسم وتغيير الألوان في كل مرة. مثلاً:import turtle t = turtle.Turtle() t.speed(0) colors = ["red", "orange", "yellow", "green", "blue", "purple"] for i in range(36): t.pencolor(colors[i % 6]) # لتغيير اللون t.circle(100) t.left(10) turtle.done()
حاول أن تكتب كودك الخاص لترسم الدوائر المتداخلة!
🐍 محرر Python تفاعلي - اكتب الكود بنفسكاضغط Ctrl+Enter للتشغيل💡 اضغط "تشغيل الكود" لرؤية النتائج هنا - حاول كتابة اسمك باستخدام خطوط السلحفاة (هذا تحدٍ صعب وممتع!).
- استخدم حلقة
for
لرسم أشكال متكررة بنمط معين (مثل دوامة من المربعات).
الرسم بالسلحفاة يجمع بين البرمجة والإبداع الفني. لا تخف من تجربة أوامر جديدة أو تغيير الأرقام والألوان. كل رسمة هي إنجاز!
ملخص درسنا الفني اليوم: 🐢🎨✨
- مكتبة `turtle`: أداة سحرية في بايثون تسمح لنا بالرسم عن طريق التحكم بسلحفاة افتراضية.
- استيراد وإنشاء السلحفاة: نبدأ بـ
import turtle
ثمt = turtle.Turtle()
. - الأوامر الأساسية:
forward()
,backward()
,left()
,right()
,circle()
. - الألوان والتحكم:
pencolor()
,fillcolor()
,begin_fill()
,end_fill()
,speed()
,penup()
,pendown()
. - الرسم بالسلحفاة طريقة رائعة لتعلم مفاهيم البرمجة (مثل الحلقات والدوال) بشكل مرئي وممتع.
- ملاحظة التوافق: قد لا تعمل `turtle` بشكل مثالي في جميع المحررات المدمجة.
أبدعتم أيها الفنانون المبرمجون! 🌟 لقد اكتشفتم اليوم جانبًا جديدًا وممتعًا جدًا من بايثون. الرسم بالسلحفاة ليس فقط ممتعًا، بل هو أيضًا طريقة رائعة لتطبيق كل ما تعلمتموه من مفاهيم برمجية بطريقة إبداعية.
استمروا في الرسم والتجربة، فكل خط ترسمونه هو خطوة نحو فهم أعمق وإبداع أكبر! إلى اللقاء في مغامرات قادمة، حيث سنستمر في بناء مشاريع تجمع كل مهاراتنا! مع السلامة أيها الأبطال! 👋