شروع کار با Turtle

کتابخانه یا library چیست؟

کتابخانه یا همان library، مجموعه کدی است که برای انجام کاری مشخص، از قبل نوشته شده و در جایی ذخیره شده‌است، به طوری که هر برنامه‌نویس برای استفاده از کدهای موجود در هر کتابخانه، فقط باید آن‌ها را در برنامه‌ی خود فراخوانی نماید. این کار با نوشتن دستورهای آماده شده در کتابخانه‌ی مورد نظر، در درون کدهای ما صورت می‌گیرد.

زبان‌های برنامه‌نویسی مختلف دارای کتابخانه‌های متنوّع و زیاد هستند. در این بین، زبان‌های برنامه‌نویسی جاوا JAVA، سی‌شارپ #C، سی‌پلاس‌پلاس++C، پایتون Python و محیط برنامه نویسی متلب Matlab، دارای بیش‌ترین تعداد کتابخانه‌ی کاربردی هستند.

کمی تخصّصی‌تر :

همانطور که می دانید چرخ در حال حاضر اختراع شده است!

بنابراین کسی که در حال اختراع و یا ساخت ماشین است، زمان خود را صرف ساخت مجدد چرخ نمی‌کند، چرخ را به صورت یک ماژول از پیش ساخته شده استفاده می‌کند.

 

انواع کتابخانه ها

ماژول‌ها یا کتابخانه‌هایی که در python نوشته می‌شوند را می‌توان در ۳ قالب زیر دسته‌بندی کرد:

  1. کتابخانه‌هایی که توسّط شما ایجاد شده‌اند.
  2.  کتابخانه‌هایی که توسّط دیگران یا افراد دیگر ایجاد شده‌است. مانند  PyPI.
  3. کتابخانه‌هایی که به صورت پیش فرض به همراه پایتون نصب شده‌اند.

 

فراخوانی کتابخانه ها

برای کتابخانه‌هایی که از قبل در پایتون وجود دارد،  کافیست از دستور import به صورت زیر استفاده کنیم:

import library-name

 

برنامه نویسی شئ گرا

همان‌گونه که قبلاً اشاره کردیم ، پایتون یک زبان برنامه نویسی شئ‌گرا است. برنامه‌نویسی شیءگرا (Object-Oriented Programming به‌اختصار: OOP) یک شیوه‌ی برنامه‌نویسی است که ساختار یا بلوک اصلی اجزای آن، شئ‌ها می‌باشند.

مثلاً یک دوچرخه را در نظر بگیرید:

ترمز یک قسمت از چند قسمت اصلی آن است. هر ترمز، خود دارای خصوصیّات مختلف و رفتارهای متفاوت در حالت فشرده است. هرقطعه به همین شکل دارای ویژگی‌های مخصوص خود است و به تفکیک قابل پیگیری و بررسی!

در شئ‌گرایی در مورد هر شئ این خصوصیّات و رفتارها بررسی و تغییر می‌کند… که بعداً به آن مفصّلاً خواهیم پرداخت.

turtle library

turtle یا همان لاک پشت یک کتابخانه گرافیکی است. یعنی این کتابخانه به ما اجازه‌ی ترسیم خطوط، اَ شکال و … در رنگ‌ها و اندازه‌های مختلف را می دهد.

به زبان ساده تر

turtle یک فِلِش روی صفحه است که شما می توانید آنرا کنترل کنید و با جابجا کردن آن اَشکال مختلف رسم کنید. دقیقا مثل ماژیکی که روی تخته وایت بورد آن را هدایت و  رسم می‌کنیم.

همان‌طور که قبلا گفتیم برای فراخوانی یک کتابخانه از دستور import استفاده می کنیم

import turtle

برای علاقه مندان : لیست کامل دستورات Turtle

IDLE

قبلاً اشاره شد که برای برنامه نویسی به IDE نیاز داریم که ما از محیط پیش فرض پایتون یعنی IDLE استفاده می‌کنیم .

استفاده از این نرم افزار در لینوکس و ویندوز به یک صورت است . (برای اجرای آن از طریق ویندوز باید نام IDLE را در منوی استارت جست و جو کنیم )

ویدیوی کار با IDLE :

شروع کار : جابجایی در Turtle

شما باید صفحه برنامه را مثل یک محور مختصات در نظر بگیرید .

برای انواع جابجایی ها ۲ جهت اصلی داریم:

  1. forward : جلو : محور x
  2. backward : عقب : محور x-

برای اینکه برنامه ای بنویسیم که پیکان را ۵۰  واحد به جلو ببرد، بعد از import کردن turtle  ، دستور زیر را وارد می‌کنیم :

turtle.forward(50)

خروجی برنامه

حرکت با زاویه

در کتابخانه turtle، لاک پشت ما همیشه در جهت جلو یا عقب فلش حرکت می‌کند.

امّا اگر بخواهیم آن‌را به راست یا چپ هدایت کنیم چه باید بکنیم؟ برای این کار ابتدا زاویه حرکت بعدی را مشخص می‌کنیم :

turtle.right(50)

همان‌طور که در شکل بالا می‌بینید، جهت نوک پیکان 50 درجه چرخیده است و هیچ جابجایی رخ نداده است.

import turtle
turtle.forward(50)
turtle.right(30)
turtle.forward(40)

در برنامه‌ی بالا بعد از چرخش نوک پیکان، آن را 40 واحد به جلو بردیم

 

توجّه:

برای چرخش به اندازه‌ی زاویه‌ی‌مشخّص شده به سمت راست یا چپ باید به جهت و مقدار زاویه توجّه نمود. برای مثال در شکل روبرو ۳۵ درجه چرخیدن به چپ دقیقاً مانند ۳۲۵ درجه گردش از سمت راست است…

تغییرات پیکان

     ۱) تغییر شکل پیکان

شما می‌توانید به جای فِلِش ، از شکل های دیگری هم استفاده کنید

Python Turtle Shapes

شکل های موجود در کتابخانه :

  • Square: مربّع
  • Arrow: پیکان
  • Circle: دایره
  • Turtle: لاک پشت
  • Triangle: مثلّث
  • Classic: شکل پیش فرض

برای تغییر آن از دستور زیر استفاده می کنیم :

turtle.shape("name")
مثال: turtle.shape("turtle")

 

     ۲) تغییر رنگ پیکان

یکی دیگر از امکانات کتابخانه، تغییر رنگ فِلِش‌ها می‌باشد. رنگ پیکان ها در دو دسته قرار می‌گیرند.

  • رنگ قاب یا دور پیکان ( pencolor )
  • رنگ درون پیکان (fillcolor )

در شکل زیر، رنگ دور پیکان سبز و رنگ درون آن قرمز است. برای این کار از دستور زیر استفاده می‌کنیم:

  • برای رنگ درون – fillcolor

turtle.fillcolor("red")

  • برای رنگ حاشیه – pencolor

turtle.pencolor("green")

     ۳) تغییر اندازه پیکان

شما می توانید با استفاده از دستور زیر ، اندازه فِلِش را تغییر دهید .

turtle.shapesize ( 3 )

تغییر اندازه‌ی خط

    ۱) ضخامت خط

می‌توانید ضخامت خط‌هایی که لاک پشت رسم می‌کند را تغییر دهید:

turtle.pensize(4)

     ۲) رنگی کردن خط

قبل‌تر به دستور pencolor اشاره کردیم. در اصل تمام وظایف این دستور به رنگ کردن دور شکل محدود نمی‌شود، بلکه این دستور خط را هم رنگی می‌کند.

import turtle
turtle.pensize(4)
turtle.pencolor("red")
turtle.shapesize(1.25)
turtle.forward(70)

اگر خواستید خطّی را نامرئی کنید، یکی از راه ها این است که …

برنامه فوق حاصل دستور بالا است.

     ۳) تغییر سرعت خط

سرعت حرکت قلم و کشیدن خط روی صفحه، عددی بین ۰ و ۱۰ است . در اینجا سرعت صفر به این معنا است که هیچ زمانی صرف کشیدن خط روی صفحه نمی شود و خط یک باره روی صفخه رسم می شود . همچنین سرعت ۱ آهسته ترین سرعت و سرعت ۱۰ سریع ترین است .

turtle.speed(2)

stamp

برخی مواقع لازم است لاک پشت در طول حرکت، از خود ردّی به جای بگذارد. در این صورت از دستور stamp به شکل زیر استفاده می‌کنیم:

turtle.forward(100)
turtle.stamp()
turtle.forward(100)