رفتن به محتوا

مرجع بلوک‌ها

مرجع کامل بلوک‌های Scratch 3.0

Section titled “مرجع کامل بلوک‌های Scratch 3.0”

این راهنما شامل تمام بلوک‌های موجود در Scratch 3.0 است که به دسته‌بندی، کاربرد و مثال‌های عملی تقسیم شده‌اند.

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

برو به x: () y: ()

  • کاربرد: انتقال مستقیم به مختصات مشخص
  • مثال: برو به x: 100 y: 50
وقتی پرچم سبز کلیک شد
برو به x: 0 y: 0

برو به ()

  • کاربرد: رفتن به موقعیت اسپرایت یا نقطه خاص
  • گزینه‌ها: موقعیت تصادفی، اسپرایت‌های دیگر، موقعیت ماوس
وقتی کلید space فشرده شد
برو به موقعیت تصادفی

() قدم حرکت کن

  • کاربرد: حرکت در جهت فعلی
  • مقدار: تعداد پیکسل (مثبت: جلو، منفی: عقب)
همیشه
10 قدم حرکت کن
اگر touching edge
180 درجه بچرخ
پایان
پایان

() درجه راست بچرخ

  • کاربرد: چرخش ساعتگرد
وقتی کلید right arrow فشرده شد
15 درجه راست بچرخ

() درجه چپ بچرخ

  • کاربرد: چرخش پادساعتگرد
وقتی کلید left arrow فشرده شد
15 درجه چپ بچرخ

به سمت () بچرخ

  • کاربرد: چرخش به سمت جهت، اسپرایت یا ماوس
همیشه
به سمت mouse-pointer بچرخ
5 قدم حرکت کن
پایان

x را () تغییر بده

  • کاربرد: حرکت افقی نسبی
وقتی کلید right arrow فشرده شد
x را 10 تغییر بده

x را () قرار بده

  • کاربرد: تنظیم موقعیت افقی مطلق
وقتی پرچم سبز کلیک شد
x را 0 قرار بده

x position

  • کاربرد: دریافت موقعیت افقی فعلی
  • بازگشت: عدد بین -240 تا 240

y position

  • کاربرد: دریافت موقعیت عمودی فعلی
  • بازگشت: عدد بین -180 تا 180

direction

  • کاربرد: دریافت جهت فعلی
  • بازگشت: عدد بین -179 تا 180

بلوک‌های ظاهر برای کنترل نمایش و جلوه‌های بصری استفاده می‌شوند.

() بگو

  • کاربرد: نمایش متن در حباب گفتار
وقتی این اسپرایت کلیک شد
"سلام!" بگو

() را () ثانیه بگو

  • کاربرد: نمایش متن برای مدت زمان مشخص
وقتی پرچم سبز کلیک شد
"بازی شروع شد!" را 2 ثانیه بگو

() فکر کن

  • کاربرد: نمایش متن در حباب فکر
وقتی کلید t فشرده شد
"چه کار کنم؟" فکر کن

costume را () تغییر بده

  • کاربرد: تغییر لباس اسپرایت
وقتی کلید space فشرده شد
costume را بعدی تغییر بده

costume را () قرار بده

  • کاربرد: انتخاب لباس خاص
وقتی پرچم سبز کلیک شد
costume را costume1 قرار بده

backdrop را () تغییر بده

  • کاربرد: تغییر پس‌زمینه صحنه
وقتی کلید b فشرده شد
backdrop را بعدی تغییر بده

اندازه را () تغییر بده

  • کاربرد: تغییر اندازه نسبی (درصد)
وقتی کلید up arrow فشرده شد
اندازه را 10 تغییر بده

اندازه را () قرار بده

  • کاربرد: تنظیم اندازه مطلق
وقتی پرچم سبز کلیک شد
اندازه را 100 قرار بده

به جلوترین لایه برو

  • کاربرد: قرار دادن اسپرایت در جلوترین لایه
وقتی این اسپرایت کلیک شد
به جلوترین لایه برو

() لایه جلو برو

  • کاربرد: حرکت به جلو در لایه‌ها
وقتی کلید f فشرده شد
1 لایه جلو برو

افکت () را () تغییر بده

  • کاربرد: اعمال جلوه‌های بصری
  • افکت‌ها: color، fisheye، whirl، pixelate، mosaic، brightness، ghost
وقتی کلید c فشرده شد
افکت color را 25 تغییر بده

افکت () را () قرار بده

  • کاربرد: تنظیم مقدار مطلق افکت
وقتی پرچم سبز کلیک شد
افکت ghost را 50 قرار بده

افکت‌ها را پاک کن

  • کاربرد: حذف تمام افکت‌های اعمال شده
وقتی کلید r فشرده شد
افکت‌ها را پاک کن

نمایش

  • کاربرد: نمایش اسپرایت
وقتی پرچم سبز کلیک شد
نمایش

مخفی

  • کاربرد: مخفی کردن اسپرایت
وقتی کلید h فشرده شد
مخفی

بلوک‌های صدا برای پخش و کنترل صداها استفاده می‌شوند.

صدای () پخش کن

  • کاربرد: پخش صدا بدون انتظار
وقتی این اسپرایت کلیک شد
صدای meow پخش کن

صدای () پخش کن و تا تمام شدن صبر کن

  • کاربرد: پخش صدا با انتظار تا پایان
وقتی کلید m فشرده شد
صدای music پخش کن و تا تمام شدن صبر کن

همه صداها را متوقف کن

  • کاربرد: توقف تمام صداهای در حال پخش
وقتی کلید s فشرده شد
همه صداها را متوقف کن

افکت () صدا را () تغییر بده

  • کاربرد: تغییر جلوه‌های صوتی
  • افکت‌ها: pitch، pan
وقتی کلید up arrow فشرده شد
افکت pitch صدا را 10 تغییر بده

افکت‌های صدا را پاک کن

  • کاربرد: بازگشت به تنظیمات پیش‌فرض
وقتی پرچم سبز کلیک شد
افکت‌های صدا را پاک کن

صدا را () تغییر بده

  • کاربرد: تغییر بلندی صدا
وقتی کلید plus فشرده شد
صدا را 10 تغییر بده

بلوک‌های رویداد (Events) 🟡

Section titled “بلوک‌های رویداد (Events) 🟡”

بلوک‌های رویداد برای شروع اجرای اسکریپت‌ها استفاده می‌شوند.

وقتی پرچم سبز کلیک شد

  • کاربرد: شروع برنامه
وقتی پرچم سبز کلیک شد
"بازی شروع شد!" بگو

وقتی کلید () فشرده شد

  • کاربرد: واکنش به فشردن کلید
وقتی کلید space فشرده شد
10 قدم حرکت کن

وقتی این اسپرایت کلیک شد

  • کاربرد: واکنش به کلیک روی اسپرایت
وقتی این اسپرایت کلیک شد
"کلیک شدم!" بگو

وقتی backdrop به () تغییر کرد

  • کاربرد: واکنش به تغییر پس‌زمینه
وقتی backdrop به forest تغییر کرد
"وارد جنگل شدیم!" بگو

() را broadcast کن

  • کاربرد: ارسال پیام به همه اسپرایت‌ها
وقتی کلید enter فشرده شد
"شروع بازی" را broadcast کن

() را broadcast کن و صبر کن

  • کاربرد: ارسال پیام و انتظار تا پردازش
وقتی پرچم سبز کلیک شد
"آماده‌سازی" را broadcast کن و صبر کن

وقتی () دریافت شد

  • کاربرد: واکنش به دریافت پیام
وقتی "شروع بازی" دریافت شد
به موقعیت تصادفی برو

بلوک‌های کنترل (Control) 🟠

Section titled “بلوک‌های کنترل (Control) 🟠”

بلوک‌های کنترل برای مدیریت جریان اجرای برنامه استفاده می‌شوند.

() ثانیه صبر کن

  • کاربرد: توقف موقت اجرای اسکریپت
وقتی پرچم سبز کلیک شد
"آماده باش..." بگو
3 ثانیه صبر کن
"شروع!" بگو

همیشه

  • کاربرد: تکرار بی‌نهایت
وقتی پرچم سبز کلیک شد
همیشه
10 قدم حرکت کن
اگر touching edge
180 درجه بچرخ
پایان
پایان

() بار تکرار کن

  • کاربرد: تکرار تعداد مشخص
وقتی کلید r فشرده شد
4 بار تکرار کن
90 درجه راست بچرخ
10 قدم حرکت کن
پایان

تا () تکرار کن

  • کاربرد: تکرار تا برقراری شرط
وقتی پرچم سبز کلیک شد
تا touching edge
5 قدم حرکت کن
پایان

اگر () آنگاه

  • کاربرد: اجرای شرطی
وقتی کلید space فشرده شد
اگر touching Sprite1
"برخورد!" بگو
پایان

اگر () آنگاه وگرنه

  • کاربرد: اجرای شرطی با جایگزین
همیشه
اگر key space pressed?
"فضا فشرده شده" بگو
وگرنه
"فضا فشرده نشده" بگو
پایان
پایان

همه را متوقف کن

  • کاربرد: توقف تمام اسکریپت‌ها
وقتی کلید q فشرده شد
همه را متوقف کن

سایر اسکریپت‌های این اسپرایت را متوقف کن

  • کاربرد: توقف اسکریپت‌های همین اسپرایت
وقتی "توقف" دریافت شد
سایر اسکریپت‌های این اسپرایت را متوقف کن

کلون () را ایجاد کن

  • کاربرد: ایجاد کپی از اسپرایت
وقتی کلید c فشرده شد
کلون خودم را ایجاد کن

وقتی به عنوان کلون شروع شدم

  • کاربرد: اجرای کد برای کلون‌های جدید
وقتی به عنوان کلون شروع شدم
به موقعیت تصادفی برو
5 ثانیه صبر کن
این کلون را حذف کن

این کلون را حذف کن

  • کاربرد: حذف کلون فعلی
وقتی touching edge
این کلون را حذف کن

بلوک‌های حس‌گر (Sensing) 🔵

Section titled “بلوک‌های حس‌گر (Sensing) 🔵”

بلوک‌های حس‌گر برای دریافت اطلاعات از محیط استفاده می‌شوند.

touching ()?

  • کاربرد: بررسی تماس با اسپرایت یا لبه
  • بازگشت: true/false
همیشه
اگر touching Sprite1
"برخورد!" بگو
پایان
پایان

touching color ()?

  • کاربرد: بررسی تماس با رنگ خاص
همیشه
اگر touching color [قرمز]
"روی قرمز هستم!" بگو
پایان
پایان

color () is touching ()?

  • کاربرد: بررسی تماس دو رنگ
اگر color [آبی] is touching [سبز]
"رنگ‌ها تماس دارند!" بگو
پایان

distance to ()

  • کاربرد: محاسبه فاصله تا اسپرایت یا ماوس
  • بازگشت: عدد (پیکسل)
همیشه
اگر distance to mouse-pointer < 50
"ماوس نزدیک است!" بگو
پایان
پایان

() بپرس و منتظر باش

  • کاربرد: دریافت ورودی متنی از کاربر
وقتی پرچم سبز کلیک شد
"اسم شما چیست؟" بپرس و منتظر باش
join "سلام " answer بگو

answer

  • کاربرد: دریافت آخرین پاسخ کاربر
  • بازگشت: متن

key () pressed?

  • کاربرد: بررسی فشرده بودن کلید
  • بازگشت: true/false
همیشه
اگر key up arrow pressed?
y را 5 تغییر بده
پایان
پایان

mouse down?

  • کاربرد: بررسی فشرده بودن ماوس
  • بازگشت: true/false
همیشه
اگر mouse down?
به سمت mouse-pointer برو
پایان
پایان

mouse x

  • کاربرد: موقعیت افقی ماوس
  • بازگشت: عدد

mouse y

  • کاربرد: موقعیت عمودی ماوس
  • بازگشت: عدد

timer

  • کاربرد: زمان سپری شده از شروع پروژه
  • بازگشت: عدد (ثانیه)
همیشه
اگر timer > 60
"یک دقیقه گذشت!" بگو
timer را reset کن
پایان
پایان

timer را reset کن

  • کاربرد: صفر کردن تایمر
وقتی پرچم سبز کلیک شد
timer را reset کن

بلوک‌های عملگر (Operators) 🟢

Section titled “بلوک‌های عملگر (Operators) 🟢”

بلوک‌های عملگر برای محاسبات ریاضی و منطقی استفاده می‌شوند.

() + ()

  • کاربرد: جمع دو عدد
امتیاز را امتیاز + 10 قرار بده

() - ()

  • کاربرد: تفریق دو عدد
انرژی را انرژی - 5 قرار بده

() * ()

  • کاربرد: ضرب دو عدد
مساحت را طول * عرض قرار بده

() / ()

  • کاربرد: تقسیم دو عدد
میانگین را مجموع / تعداد قرار بده

() mod ()

  • کاربرد: باقی‌مانده تقسیم
اگر شماره mod 2 = 0
"زوج است" بگو
وگرنه
"فرد است" بگو
پایان

round ()

  • کاربرد: گرد کردن به نزدیک‌ترین عدد صحیح
نمره_نهایی را round نمره قرار بده

() of ()

  • کاربرد: توابع ریاضی مختلف
  • توابع: abs، floor، ceiling، sqrt، sin، cos، tan، asin، acos، atan، ln، log، e^، 10^
فاصله را sqrt ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)) قرار بده

() < ()

  • کاربرد: مقایسه کوچک‌تر
  • بازگشت: true/false
اگر امتیاز < 100
"نیاز به تمرین بیشتر!" بگو
پایان

() = ()

  • کاربرد: مقایسه برابری
  • بازگشت: true/false
اگر پاسخ = "بله"
"عالی!" بگو
پایان

() > ()

  • کاربرد: مقایسه بزرگ‌تر
  • بازگشت: true/false
اگر سرعت > 50
"خیلی سریع!" بگو
پایان

() and ()

  • کاربرد: عملگر منطقی “و”
  • بازگشت: true اگر هر دو شرط درست باشند
اگر (امتیاز > 50) and (زمان < 60)
"عملکرد خوب!" بگو
پایان

() or ()

  • کاربرد: عملگر منطقی “یا”
  • بازگشت: true اگر حداقل یک شرط درست باشد
اگر (key space pressed?) or (mouse down?)
"ورودی دریافت شد!" بگو
پایان

not ()

  • کاربرد: عملگر منطقی “نه”
  • بازگشت: برعکس مقدار ورودی
اگر not touching edge
10 قدم حرکت کن
پایان

join () ()

  • کاربرد: اتصال دو متن
پیام را join "سلام " نام قرار بده

letter () of ()

  • کاربرد: دریافت کاراکتر مشخص از متن
اولین_حرف را letter 1 of نام قرار بده

length of ()

  • کاربرد: طول متن
اگر length of رمز < 8
"رمز خیلی کوتاه است!" بگو
پایان

() contains ()?

  • کاربرد: بررسی وجود زیرمتن
  • بازگشت: true/false
اگر نام contains "علی"
"سلام علی!" بگو
پایان

بلوک‌های متغیر (Variables) 🟠

Section titled “بلوک‌های متغیر (Variables) 🟠”

بلوک‌های متغیر برای ذخیره و مدیریت داده‌ها استفاده می‌شوند.

() را () قرار بده

  • کاربرد: تنظیم مقدار متغیر
وقتی پرچم سبز کلیک شد
امتیاز را 0 قرار بده

() را () تغییر بده

  • کاربرد: تغییر مقدار متغیر
وقتی touching Star
امتیاز را 10 تغییر بده

() را نمایش بده

  • کاربرد: نمایش متغیر روی صحنه
وقتی پرچم سبز کلیک شد
امتیاز را نمایش بده

() را مخفی کن

  • کاربرد: مخفی کردن متغیر از صحنه
وقتی بازی تمام شد
امتیاز را مخفی کن

() را به () اضافه کن

  • کاربرد: اضافه کردن آیتم به انتهای لیست
"سیب" را به میوه‌ها اضافه کن

() را از () حذف کن

  • کاربرد: حذف آیتم از موقعیت مشخص
1 را از میوه‌ها حذف کن

همه () را حذف کن

  • کاربرد: پاک کردن تمام آیتم‌های لیست
همه میوه‌ها را حذف کن

() را در موقعیت () از () قرار بده

  • کاربرد: قرار دادن آیتم در موقعیت مشخص
"موز" را در موقعیت 2 از میوه‌ها قرار بده

() را با () در () جایگزین کن

  • کاربرد: تغییر آیتم در موقعیت مشخص
1 را با "انگور" در میوه‌ها جایگزین کن

item () of ()

  • کاربرد: دریافت آیتم از موقعیت مشخص
  • بازگشت: مقدار آیتم
میوه_انتخابی را item 1 of میوه‌ها قرار بده

item # of () in ()

  • کاربرد: پیدا کردن موقعیت آیتم در لیست
  • بازگشت: شماره موقعیت (0 اگر پیدا نشود)
موقعیت را item # of "سیب" in میوه‌ها قرار بده

length of ()

  • کاربرد: تعداد آیتم‌های لیست
  • بازگشت: عدد
تعداد را length of میوه‌ها قرار بده

() contains ()?

  • کاربرد: بررسی وجود آیتم در لیست
  • بازگشت: true/false
اگر میوه‌ها contains "سیب"
"سیب موجود است!" بگو
پایان

استفاده از متغیرهای محلی

Section titled “استفاده از متغیرهای محلی”
// بهتر از استفاده از متغیرهای سراسری برای محاسبات موقت
نتیجه_موقت را x position + y position قرار بده

محدود کردن حلقه‌های بی‌نهایت

Section titled “محدود کردن حلقه‌های بی‌نهایت”
همیشه
// اضافه کردن شرط خروج
اگر بازی_تمام_شده
همه را متوقف کن
پایان
// باقی کد...
پایان

استفاده مؤثر از کلون‌ها

Section titled “استفاده مؤثر از کلون‌ها”
// محدود کردن تعداد کلون‌ها
اگر تعداد_کلون‌ها < 10
کلون خودم را ایجاد کن
تعداد_کلون‌ها را 1 تغییر بده
پایان
همیشه
اگر حالت = "منتظر"
// کد حالت انتظار
وگرنه
اگر حالت = "در_حال_بازی"
// کد حالت بازی
وگرنه
اگر حالت = "تمام_شده"
// کد حالت پایان
پایان
پایان
پایان
پایان
// ارسال‌کننده
وقتی کلید space فشرده شد
"بازیکن_پرید" را broadcast کن
// دریافت‌کننده 1
وقتی "بازیکن_پرید" دریافت شد
صدای jump پخش کن
// دریافت‌کننده 2
وقتی "بازیکن_پرید" دریافت شد
افکت brightness را 20 تغییر بده

نمایش مقادیر برای دیباگ

Section titled “نمایش مقادیر برای دیباگ”
همیشه
join join "x: " x position " y: " y position بگو
پایان

استفاده از رنگ‌ها برای تست

Section titled “استفاده از رنگ‌ها برای تست”
اگر touching color [قرمز]
"خطر!" بگو
وگرنه
اگر touching color [سبز]
"امن!" بگو
پایان
پایان
// تست هر بخش جداگانه
وقتی کلید 1 فشرده شد
// تست حرکت
10 قدم حرکت کن
وقتی کلید 2 فشرده شد
// تست صدا
صدای meow پخش کن
  1. تمرین مداوم: هر بلوک را در پروژه‌های مختلف امتحان کنید
  2. ترکیب خلاقانه: بلوک‌ها را به روش‌های جدید ترکیب کنید
  3. خواندن مستندات: همیشه توضیحات بلوک‌ها را بخوانید
  4. تست و آزمایش: کدهای خود را مرتب تست کنید
  5. یادگیری از دیگران: پروژه‌های دیگران را بررسی کنید
  • مستندات رسمی Scratch: scratch.mit.edu
  • انجمن‌های کاربری: برای پرسش سوال و اشتراک تجربه
  • آموزش‌های ویدیویی: برای یادگیری بصری
  • کتاب‌های تخصصی: برای مطالعه عمیق‌تر

موفق باشید در برنامه‌نویسی با Scratch! 🚀