🧠 دوره پیشرفته اسکرچ – الگوریتمسازی و ساخت بازیهای پیچیده
پیشنیاز: گذراندن دوره اسکرچ مقدماتی (آشنایی با متغیر، شرط، حلقه، مختصات، رویدادها)
هدف: تقویت مهارتهای برنامهنویسی، آشنایی با الگوریتمهای پایه (جستجو، مرتبسازی، بازگشت ساده، تشخیص الگو)، مدیریت دادهها با لیستها، توابع، ساخت بازیهای حرفهای با کدنویسی تمیز و بهینه
📚 سرفصلهای دوره
بخش اول: مرور و تثبیت مفاهیم پایه
-
حلقههای تو در تو
-
شرطهای چندلایه
-
پیامرسانی (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