مبانی Scratch
مبانی Scratch 3.0: راهنمای کامل برای شروع
Section titled “مبانی Scratch 3.0: راهنمای کامل برای شروع”به دنیای شگفتانگیز برنامهنویسی با Scratch خوش آمدید! این راهنما شما را با تمام مفاهیم پایهای آشنا میکند که برای شروع برنامهنویسی با Scratch 3.0 و استفاده از قابلیتهای Vibelf نیاز دارید.
Scratch چیست؟
Section titled “Scratch چیست؟”Scratch یک زبان برنامهنویسی بصری است که توسط MIT Media Lab طراحی شده تا یادگیری برنامهنویسی را برای کودکان و نوجوانان آسان و لذتبخش کند.
ویژگیهای کلیدی
Section titled “ویژگیهای کلیدی”- رابط کاربری گرافیکی: بدون نیاز به تایپ کد
- بلوکهای کشیدنی: مانند پازل که به هم متصل میشوند
- اجرای فوری: نتایج را بلافاصله ببینید
- جامعه فعال: میلیونها پروژه قابل اشتراک
- رایگان و آزاد: برای همه در دسترس
چرا Scratch؟
Section titled “چرا Scratch؟”- یادگیری آسان: بدون پیچیدگیهای نحوی
- خلاقیت بیحد: از بازی تا هنر دیجیتال
- تفکر منطقی: توسعه مهارتهای حل مسئله
- همکاری: کار گروهی و اشتراک ایدهها
مفاهیم اصلی
Section titled “مفاهیم اصلی”۱. اسپرایت (Sprite)
Section titled “۱. اسپرایت (Sprite)”اسپرایت شخصیتها یا اشیاء قابل برنامهریزی در پروژه شما هستند.
ویژگیهای اسپرایت:
Section titled “ویژگیهای اسپرایت:”- تصاویر (Costumes): ظاهرهای مختلف
- صداها (Sounds): افکتهای صوتی
- اسکریپتها (Scripts): برنامههای کنترلکننده
- موقعیت: مختصات x و y روی صحنه
مثال عملی:
Section titled “مثال عملی:”گربه (اسپرایت پیشفرض):- Costume: cat-a، cat-b (برای انیمیشن راه رفتن)- Sound: meow (صدای میو)- موقعیت: (0, 0) - مرکز صحنه
۲. بلوکها (Blocks)
Section titled “۲. بلوکها (Blocks)”بلوکها دستورات برنامهنویسی هستند که به شکل پازل طراحی شدهاند.
انواع بلوکها:
Section titled “انواع بلوکها:”بلوکهای کلاهی (Hat Blocks) 🎩
- شروع اسکریپتها
- شکل: گرد در بالا
- مثال: “وقتی پرچم سبز کلیک شد”
بلوکهای انباشتی (Stack Blocks) 📚
- دستورات اصلی
- شکل: مستطیل با فرورفتگی
- مثال: “10 قدم حرکت کن”
بلوکهای C شکل (C Blocks) 🔄
- حاوی بلوکهای دیگر
- شکل: مانند حرف C
- مثال: “همیشه” یا “اگر”
بلوکهای گزارشگر (Reporter Blocks) 📊
- بازگشت مقدار
- شکل: بیضی یا مستطیل گرد
- مثال: “x position” یا “امتیاز”
بلوکهای بولی (Boolean Blocks) ✅
- بازگشت true/false
- شکل: ششضلعی
- مثال: “touching edge?”
۳. صحنه (Stage)
Section titled “۳. صحنه (Stage)”صحنه محیطی است که اسپرایتها در آن حرکت میکنند.
مشخصات صحنه:
Section titled “مشخصات صحنه:”- اندازه: 480×360 پیکسل
- مختصات: مرکز (0,0)، راست (+x)، بالا (+y)
- پسزمینه: تصاویر قابل تغییر
- اسکریپتهای مخصوص: برای کنترل کلی
۴. اسکریپتها (Scripts)
Section titled “۴. اسکریپتها (Scripts)”اسکریپتها مجموعهای از بلوکهای متصل هستند که یک برنامه را تشکیل میدهند.
ساختار اسکریپت:
Section titled “ساختار اسکریپت:”[بلوک کلاهی] ← شروع[بلوک دستوری] ← عمل اول[بلوک دستوری] ← عمل دوم[بلوک C شکل] ← حلقه یا شرط [بلوکهای داخلی] ← عملهای تکراری
۵. رویدادها (Events)
Section titled “۵. رویدادها (Events)”رویدادها محرکهایی هستند که اسکریپتها را شروع میکنند.
انواع رویدادها:
Section titled “انواع رویدادها:”- کلیک پرچم سبز: شروع برنامه
- فشردن کلید: واکنش به ورودی کاربر
- کلیک اسپرایت: تعامل مستقیم
- دریافت پیام: ارتباط بین اسپرایتها
- تغییر پسزمینه: تغییر صحنه
۶. متغیرها (Variables)
Section titled “۶. متغیرها (Variables)”متغیرها برای ذخیره و مدیریت اطلاعات استفاده میشوند.
انواع متغیرها:
Section titled “انواع متغیرها:”- عددی: امتیاز، سرعت، زمان
- متنی: نام، پیام، وضعیت
- بولی: true/false (از طریق شرطها)
متغیر: امتیازمقدار اولیه: 0استفاده: امتیاز را 10 تغییر بده
۷. حلقهها (Loops)
Section titled “۷. حلقهها (Loops)”حلقهها برای تکرار دستورات استفاده میشوند.
انواع حلقهها:
Section titled “انواع حلقهها:”همیشه (Forever)
همیشه 10 قدم حرکت کن اگر touching edge 180 درجه بچرخ پایانپایان
تکرار معین (Repeat)
4 بار تکرار کن 90 درجه راست بچرخ 100 قدم حرکت کنپایان
تکرار شرطی (Repeat Until)
تا touching Sprite1 به سمت Sprite1 حرکت کنپایان
۸. شرطها (Conditionals)
Section titled “۸. شرطها (Conditionals)”شرطها برای تصمیمگیری در برنامه استفاده میشوند.
انواع شرطها:
Section titled “انواع شرطها:”شرط ساده (If)
اگر key space pressed? 10 قدم حرکت کنپایان
شرط کامل (If-Else)
اگر touching edge 180 درجه بچرخوگرنه 10 قدم حرکت کنپایان
رابط کاربری Scratch
Section titled “رابط کاربری Scratch”۱. نوار ابزار بالا
Section titled “۱. نوار ابزار بالا”- پرچم سبز: اجرای پروژه
- دکمه توقف: متوقف کردن همه اسکریپتها
- نام پروژه: قابل ویرایش
- منوی File: ذخیره، بارگذاری، اشتراک
۲. صحنه و اسپرایتها
Section titled “۲. صحنه و اسپرایتها”- صحنه اصلی: نمایش پروژه در حال اجرا
- لیست اسپرایتها: در پایین صحنه
- اضافه کردن اسپرایت: آیکون + در گوشه
۳. منطقه بلوکها
Section titled “۳. منطقه بلوکها”- دستهبندیها: Motion، Looks، Sound، Events، Control، Sensing، Operators، Variables
- جستجو: برای پیدا کردن بلوک خاص
- بلوکهای سفارشی: My Blocks
۴. منطقه اسکریپت
Section titled “۴. منطقه اسکریپت”- کشیدن بلوکها: از پالت به این منطقه
- اتصال بلوکها: مانند پازل
- اجرای تکی: کلیک روی بلوک
۵. تبهای اسپرایت
Section titled “۵. تبهای اسپرایت”- Code: برنامهنویسی
- Costumes: ویرایش تصاویر
- Sounds: مدیریت صداها
مبانی برنامهنویسی
Section titled “مبانی برنامهنویسی”۱. توالی (Sequence)
Section titled “۱. توالی (Sequence)”اجرای دستورات به ترتیب از بالا به پایین.
وقتی پرچم سبز کلیک شد"سلام!" بگو2 ثانیه صبر کن"خوش آمدید!" بگو
۲. حلقه (Loop)
Section titled “۲. حلقه (Loop)”تکرار مجموعهای از دستورات.
وقتی پرچم سبز کلیک شدهمیشه اگر key right arrow pressed? x را 10 تغییر بده پایان اگر key left arrow pressed? x را -10 تغییر بده پایانپایان
۳. شرط (Condition)
Section titled “۳. شرط (Condition)”اجرای دستورات بر اساس شرایط.
وقتی پرچم سبز کلیک شدهمیشه اگر touching Sprite1 "برخورد!" بگو به موقعیت تصادفی برو پایانپایان
۴. رویداد (Event)
Section titled “۴. رویداد (Event)”واکنش به اتفاقات خاص.
وقتی کلید space فشرده شدصدای jump پخش کنy را 50 تغییر بده
۵. متغیر (Variable)
Section titled “۵. متغیر (Variable)”ذخیره و استفاده از اطلاعات.
وقتی پرچم سبز کلیک شدامتیاز را 0 قرار بده
وقتی touching Starامتیاز را 10 تغییر بده
Vibelf: دستیار هوشمند شما
Section titled “Vibelf: دستیار هوشمند شما”ویژگیهای Vibelf
Section titled “ویژگیهای Vibelf”۱. راهنمایی هوشمند
Section titled “۱. راهنمایی هوشمند”- تشخیص خطا: پیدا کردن اشکالات در کد
- پیشنهاد بهبود: روشهای بهتر برنامهنویسی
- آموزش تعاملی: یادگیری در حین کار
۲. کمک شخصیسازی شده
Section titled “۲. کمک شخصیسازی شده”- تطبیق با سطح: مناسب برای مبتدی تا پیشرفته
- پیشنهاد پروژه: ایدههای جدید بر اساس علایق
- مسیر یادگیری: برنامهریزی پیشرفت
۳. ابزارهای پیشرفته
Section titled “۳. ابزارهای پیشرفته”- تولید کد خودکار: کمک در نوشتن بخشهای پیچیده
- بهینهسازی: بهبود عملکرد پروژهها
- تست خودکار: بررسی صحت عملکرد
نحوه استفاده از Vibelf
Section titled “نحوه استفاده از Vibelf”فعالسازی
Section titled “فعالسازی”- ورود به Scratch: از طریق vibelf.com
- انتخاب پروژه: جدید یا موجود
- فعالسازی Vibelf: کلیک روی آیکون ربات
کارکردهای اصلی
Section titled “کارکردهای اصلی”سوال از Vibelf
"چطور میتوانم اسپرایت را بچرخانم؟"→ Vibelf بلوکهای مناسب را پیشنهاد میدهد
بررسی کد
Vibelf خطاهای احتمالی را تشخیص میدهد:- حلقههای بینهایت- متغیرهای تعریف نشده- منطق اشتباه
پیشنهاد بهبود
Vibelf روشهای بهتر پیشنهاد میدهد:- استفاده از کلونها به جای کپی- بهینهسازی حلقهها- سازماندهی کد
اشتباهات رایج و راهحلها
Section titled “اشتباهات رایج و راهحلها”۱. اسپرایت حرکت نمیکند
Section titled “۱. اسپرایت حرکت نمیکند”علتهای احتمالی:
- بلوک حرکت در حلقه قرار نگرفته
- اسپرایت مخفی است
- مقدار حرکت صفر است
راهحل:
وقتی پرچم سبز کلیک شدنمایش // اطمینان از نمایشهمیشه 10 قدم حرکت کن // مقدار مثبتپایان
۲. صدا پخش نمیشود
Section titled “۲. صدا پخش نمیشود”علتهای احتمالی:
- صدا اضافه نشده
- بلندی صدا صفر است
- مرورگر صدا را مسدود کرده
راهحل:
وقتی پرچم سبز کلیک شدصدا را 100 قرار بده // تنظیم بلندیصدای meow پخش کن
۳. متغیر تغییر نمیکند
Section titled “۳. متغیر تغییر نمیکند”علتهای احتمالی:
- متغیر تعریف نشده
- دامنه متغیر اشتباه (محلی/سراسری)
- منطق شرط اشتباه
راهحل:
// ابتدا متغیر را تعریف کنید// سپس مقداردهی اولیهوقتی پرچم سبز کلیک شدامتیاز را 0 قرار بده
۴. برخورد تشخیص نمیشود
Section titled “۴. برخورد تشخیص نمیشود”علتهای احتمالی:
- اسپرایتها در لایههای مختلف
- اندازه اسپرایتها نامناسب
- شرط برخورد در حلقه نیست
راهحل:
همیشه اگر touching Sprite1 "برخورد!" بگو پایانپایان
۵. پروژه کند اجرا میشود
Section titled “۵. پروژه کند اجرا میشود”علتهای احتمالی:
- حلقههای پیچیده بدون تأخیر
- تعداد زیاد کلون
- محاسبات سنگین
راهحل:
همیشه // کد شما 0.1 ثانیه صبر کن // کاهش بار پردازشپایان
پروژه عملی: بازی “گیر کردن توپ”
Section titled “پروژه عملی: بازی “گیر کردن توپ””بیایید یک بازی ساده بسازیم تا مفاهیم یادگرفته را تمرین کنیم.
هدف بازی
Section titled “هدف بازی”- بازیکن با کلیدهای جهتدار حرکت میکند
- توپها از بالا میافتند
- هدف گیر کردن توپها برای کسب امتیاز
مرحله ۱: ایجاد بازیکن
Section titled “مرحله ۱: ایجاد بازیکن”// اسپرایت بازیکنوقتی پرچم سبز کلیک شدبه x: 0 y: -150 بروهمیشه اگر key right arrow pressed? x را 10 تغییر بده پایان اگر key left arrow pressed? x را -10 تغییر بده پایانپایان
مرحله ۲: ایجاد توپ
Section titled “مرحله ۲: ایجاد توپ”// اسپرایت توپوقتی پرچم سبز کلیک شدهمیشه به x: pick random -200 to 200 y: 180 برو تا y position < -180 y را -5 تغییر بده اگر touching Player امتیاز را 1 تغییر بده به x: pick random -200 to 200 y: 180 برو پایان پایانپایان
مرحله ۳: سیستم امتیازدهی
Section titled “مرحله ۳: سیستم امتیازدهی”// در شروع بازیوقتی پرچم سبز کلیک شدامتیاز را 0 قرار بدهامتیاز را نمایش بده
مرحله ۴: بهبودها
Section titled “مرحله ۴: بهبودها”- اضافه کردن صدا هنگام گیر کردن توپ
- افزایش سرعت با افزایش امتیاز
- اضافه کردن جلوههای بصری
منابع یادگیری بیشتر
Section titled “منابع یادگیری بیشتر”مستندات رسمی
Section titled “مستندات رسمی”- سایت Scratch: scratch.mit.edu
- راهنمای کاربری: آموزشهای گام به گام
- انجمن جامعه: پرسش و پاسخ
آموزشهای تعاملی
Section titled “آموزشهای تعاملی”- Hour of Code: پروژههای یک ساعته
- Creative Computing: برنامه درسی MIT
- Scratch for Educators: منابع معلمان
کانالهای یوتیوب
Section titled “کانالهای یوتیوب”- Scratch Team: آموزشهای رسمی
- griffpatch: تکنیکهای پیشرفته
- The Coding Train: مفاهیم برنامهنویسی
کتابهای توصیه شده
Section titled “کتابهای توصیه شده”- “Scratch Programming Playground” - Al Sweigart
- “Learn to Program with Scratch” - Majed Marji
- “Coding Games in Scratch” - Jon Woodcock
نکات موفقیت
Section titled “نکات موفقیت”۱. شروع کوچک
Section titled “۱. شروع کوچک”- پروژههای ساده شروع کنید
- هر روز کمی تمرین کنید
- از اشتباهات نترسید
۲. تمرین مداوم
Section titled “۲. تمرین مداوم”- پروژههای مختلف امتحان کنید
- کدهای دیگران را بررسی کنید
- ایدههای جدید را پیادهسازی کنید
۳. همکاری و اشتراک
Section titled “۳. همکاری و اشتراک”- پروژهها را با دوستان به اشتراک بگذارید
- در انجمنها شرکت کنید
- از دیگران کمک بگیرید
۴. خلاقیت
Section titled “۴. خلاقیت”- محدود به آموزشها نباشید
- ایدههای شخصی را امتحان کنید
- ترکیبهای جدید بسازید
۵. صبر و پشتکار
Section titled “۵. صبر و پشتکار”- یادگیری زمان میبرد
- هر روز کمی پیشرفت کنید
- از مسیر لذت ببرید
Scratch 3.0 ابزاری قدرتمند و در عین حال ساده برای یادگیری برنامهنویسی است. با درک مفاهیم پایهای مانند اسپرایتها، بلوکها، حلقهها و شرطها، شما میتوانید پروژههای شگفتانگیزی بسازید.
Vibelf به عنوان دستیار هوشمند شما، این مسیر را آسانتر و لذتبخشتر میکند. با تمرین مداوم و استفاده از منابع موجود، به زودی به یک برنامهنویس ماهر تبدیل خواهید شد.
آمادهاید تا سفر برنامهنویسی خود را شروع کنید؟ بیایید با Scratch و Vibelf دنیای بینهایت خلاقیت را کشف کنیم! 🚀✨