مقالات علمی

معرف دوره اسکرچ پیشرفته

🧠 دوره پیشرفته اسکرچ – الگوریتم‌سازی و ساخت بازی‌های پیچیده

پیش‌نیاز: گذراندن دوره اسکرچ مقدماتی (آشنایی با متغیر، شرط، حلقه، مختصات، رویدادها)

هدف: تقویت مهارت‌های برنامه‌نویسی، آشنایی با الگوریتم‌های پایه (جستجو، مرتب‌سازی، بازگشت ساده، تشخیص الگو)، مدیریت داده‌ها با لیست‌ها، توابع، ساخت بازی‌های حرفه‌ای با کدنویسی تمیز و بهینه


📚 سرفصل‌های دوره

بخش اول: مرور و تثبیت مفاهیم پایه

  • حلقه‌های تو در تو

  • شرط‌های چندلایه

  • پیام‌رسانی (Broadcast) و هماهنگی بین اسپرایت‌ها

  • اشکال‌زدایی با استفاده از بلوک «بگو» و متغیرهای موقتی

بخش دوم: کلون‌سازی (Clone) – ساخت اشیاء پویا

  • دستورات به عنوان کلون شروع کن، ساخت کلون از خودم، حذف این کلون

  • ساخت باران اشیاء، دشمنان تکراری، گلوله‌های چندگانه

  • مدیریت کلون‌ها با متغیرهای فقط برای این اسپرایت

  • پروژه کوچک: ساخت بازی «دفاع از شهر» با موج‌های متعدد دشمنان

بخش سوم: لیست‌ها (آرایه‌ها) – ذخیره و پردازش داده

  • تعریف لیست، اضافه کردن، حذف، خواندن بر اساس اندیس

  • حلقه روی لیست (برای هر آیتم)

  • جستجوی ساده در لیست (الگوریتم جستجوی خطی)

  • مرتب‌سازی حبابی (Bubble Sort) – پیاده‌سازی در اسکرچ

  • ذخیره امتیازات بالا (High Score) با لیست و مرتب‌سازی

  • پروژه کوچک: دفترچه تلفن ساده (ذخیره اسم و شماره با دو لیست هم‌اندیس)

بخش چهارم: توابع سفارشی (بلوک‌های خودم) – کدنویسی ماژولار

  • ساخت بلوک بدون خروجی (انجام یک کار تکراری)

  • ساخت بلوک با ورودی عددی/متنی

  • ساخت بلوک با خروجی (رپورتر)

  • مزایای توابع: خوانایی، عدم تکرار کد، اشکال‌زدایی آسان

  • پروژه کوچک: ساخت تابع محاسبه فاصله دو نقطه، تابع تشخیص برخورد پیشرفته

بخش پنجم: الگوریتم‌های حرکتی و هوش مصنوعی ساده

  • الگوریتم تعقیب (پیدا کردن کوتاه‌ترین مسیر به سمت بازیکن)

  • الگوریتم گریز (فرار از بازیکن)

  • الگوریتم حرکت تصادفی هوشمند (تغییر جهت هنگام برخورد به دیوار)

  • الگوریتم پیدا کردن مسیر با روش BFS ساده (در یک گرید ۵×۵)

  • پروژه کوچک: ساخت دشمنی که از بازیکن فرار می‌کند ولی موانع را دور می‌زند

بخش ششم: مدیریت زمان و رویدادهای همزمان

  • استفاده از کرونومتر و تایمرهای مستقل

  • ساخت افکت زمان کند (با تغییر متغیر سرعت کلی)

  • مدیریت همزمان چند اسپرایت بدون ایجاد اختلال

  • الگوریتم نوبت‌دهی (Turn-based)

بخش هفتم: ساخت بازی‌های حرفه‌ای

در این بخش هر هفته یک بازی کامل ساخته می‌شود و دانش‌آموز مجبور است از تمام مفاهیم قبلی (کلون، لیست، تابع، الگوریتم) استفاده کند.

بازی الگوریتم‌ها و مهارت‌های کلیدی
Alien Escape کلون برای دشمنان، لیست برای ذخیره موقعیت سکوها، الگوریتم پرش از روی سکو، تشخیص برخورد شعاعی
Car Chase هوش مصنوعی ساده برای ماشین پلیس (تعقیب با خطای دید)، لیست برای ذخیره مسیر طی شده، افکت اسکرول با متغیر دوربین
Fruit Ninja تشخیص مسیر کشیدن ماوس با لیست نقاط، الگوریتم برخورد خط با دایره، کلون‌سازی میوه‌ها در زمان‌های تصادفی
Forgotten (بازی معمایی مخفیگاه) لیست دو بعدی برای نقشه اتاق‌ها، الگوریتم جستجوی کلیدها، ذخیره وضعیت بازی در لیست‌ها، پیام‌رسانی بین اسپرایت‌ها
ROCKET LAUNCHER الگوریتم پرتابه با شبیه‌سازی جاذبه و مقاومت هوا، هدف‌گیری با زاویه و قدرت، حلقه برای پیش‌بینی مسیر
Drifty Car الگوریتم فیزیک ماشین (شتاب، اصطکاک، لغزش با ضریب چسبندگی)، سنسورهای مجازی لبه پیست، بهینه‌سازی حلقه‌ها برای روان‌بودن
Car Parking Chaos الگوریتم برخورد با دیوار با استفاده از حسگرهای مجازی (چند نقطه اطراف ماشین)، ذخیره موقعیت‌های قبلی برای برگشت، سطوح مختلف با آرایه دو بعدی

بخش هشتم: پروژه نهایی – انتخاب آزاد

  • هر دانش‌آموز یک بازی یا ابزار (مثل ماشین حساب، نقاش، شبیه‌ساز) با رعایت اصول زیر طراحی می‌کند:

    • استفاده حداقل از ۳ الگوریتم (مثلاً جستجو، مرتب‌سازی، مسیریابی)

    • استفاده از لیست و کلون

    • حداقل ۲ تابع سفارشی

  • ارائه پروژه به کلاس + دریافت بازخورد


✅ مهارت‌هایی که در این دوره کسب می‌شود

  • نوشتن کدهای ماژولار و قابل استفاده مجدد با توابع

  • پیاده‌سازی الگوریتم‌های جستجو و مرتب‌سازی ساده

  • مدیریت داده‌های حجیم با لیست‌ها

  • طراحی هوش مصنوعی ساده برای دشمنان

  • اشکال‌زداری سیستماتیک (پیدا کردن باگ بدون سردرگمی)

  • آمادگی کامل برای یادگیری زبان‌های متنی (پایتون، جاوااسکریپت)


🎁 تفاوت با دوره مقدماتی

  • در مقدماتی: ساخت بازی با بلوک‌های ساده و مفاهیم پایه

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


📞 ثبت‌نام

برای هماهنگی و مشاهده ساعات برگزاری دوره، با آموزشگاه تماس بگیرید یا از طریق سایت ثبت‌نام آنلاین اقدام کنید.

🌐 www.cofecode.ir
📱 051-44230221
📱 09338200410
📧 info@cofecode.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *