قوانین مسابقات لیگ خانه هوشمند
آییننامهی مسابقهی شبیهسازی ربات جاروبرقی، به زبان ساده و کامل: از ردههای سنی و سنسورهای ربات تا نحوهی امتیازدهی، بازی جوانمردانه و آییننامهی اخلاقی. این صفحه همان محتوای اسناد رسمی لیگ است که برای خواندن روی موبایل و پیدا شدن در جستوجو بازنویسی شده است.
🆕 بهروزرسانی ۳۰ شهریور ۱۴۰۵، همراه با انتشار نسخهی ۲٫۱٫۰ برنامه.
قوانین امسال عوض شد و برنامه هم با آن عوض شد: هر سه رده ۱۸۰ ثانیه بازی میکنند، ناظرِ گیرکردن ۱۰ ثانیهای است، جریمهی جابهجایی ۲ کاشیِ ثابت است (زیر ۱۰ کاشی جریمهای نیست) و وقت اضافه برداشته شد — تساوی، تساوی میماند و بازی حذفیِ مساوی دوباره اجرا میشود. بخش ۸-۴ میگوید هر تعداد تیم با چه فرمتی بازی میکند (تا ۸ تیم لیگ کامل، از ۹ تیم سوییس). نسخهی ۲٫۱٫۱ را دانلود کنید تا برنامهتان با همین قوانین بازی کند.
تقدم اسناد رسمی: این صفحه یک روایت خوانا و کامل از قوانین است، اما مرجع نهایی کتابچهی رسمی قوانین (PDF) و کتابچهی قوانین (PDF) است. اگر جایی میان این صفحه و اسناد رسمی تفاوتی دیده شد، اسناد رسمی ملاک عمل هستند.
وضعیت فعلی: نتایج و جوایز آخرین دوره در صفحههای جوایز و رتبههای نهایی و نتایج مسابقات منتشر شدهاند. قوانین زیر همان قوانینی است که مبنای برگزاری بوده و برای تمرین و آمادهسازی دورههای بعدی معتبر است.
۱. هدف لیگ
لیگ خانه هوشمند (Smart Home League) یک بستر آموزشی و رقابتی زیر چتر مسابقات جهانی FIRA است. هدف آن، پیش از هر چیز، آموزش و ایجاد انگیزه است: دانشآموز بهجای حفظکردن مفاهیم، یک مسئلهی واقعی را حل میکند — چطور یک ربات جاروبرقی میتواند تنها با دادهی سنسورها یک خانهی ناشناخته را بگردد و تمیز کند؟
به همین دلیل قوانین لیگ طوری نوشته شدهاند که هزینه و مانع ورود را حداقل کنند: تمام مسابقه در یک شبیهساز رایگان انجام میشود، هیچ سختافزاری لازم نیست و همهی نمونهکدها و نقشهها بهصورت عمومی منتشر شدهاند. اگر هنوز با کلیت مسابقه آشنا نیستید، ابتدا راهنمای «لیگ ربات جاروبرقی چیست» را بخوانید و بعد به این صفحه برگردید.
۲. ردههای سنی و شرایط شرکت
لیگ سه بخش سنی دارد. هر تیم فقط در یک رده ثبتنام میکند و شرایط سنی باید برای همهی اعضای تیم برقرار باشد:
| رده | محدودهی سنی | کد پایه | ربات چه چیزی میتواند داشته باشد |
|---|---|---|---|
| First Step (قدم اول) | زیر ۱۳ سال — بدون حداقل سن | خود برنامه بازش میکند | ریگ ثابت: سه سنسور فاصلهی جلو، حلقهی ضربهگیر و سنسور رنگ |
| U14 | زیر ۱۴ سال | خود برنامه بازش میکند | همان ریگ آماده بهعلاوهی قطبنما |
| U19 | زیر ۱۹ سال | خود برنامه بازش میکند | ریگ آماده با سنسور موقعیت و goto()، بهعلاوهی باتری و پد شارژ بیسیم؛ امکان زبانهای پیشرفتهتر |
ردهی First Step عمداً حداقل سن ندارد؛ هدف این است که کودکی که تازه با مفهوم حلقه و شرط آشنا شده هم بتواند بدون ترس وارد شود. ردهی U19 سختترین رده است و امکانات بیشتری (موقعیتیابی دقیق و مدیریت انرژی) در اختیار تیم میگذارد و در عوض انتظار الگوریتم پیچیدهتری دارد.
اگر مربی یا معلمی هستید که میخواهید چند تیم را با هم ثبتنام کنید، بخش عملی کار — چیدمان کلاس، ترتیب درسها و تقسیم دانشآموزان بین ردهها — در صفحهی مدارس و مربیان توضیح داده شده است.
۳. زبان برنامهنویسی
زبان رسمی لیگ پایتون است. دلیلش ساده است: خوانایی بالا، منابع آموزشی فراوان به فارسی و انگلیسی، و اینکه دانشآموز میتواند در همان جلسهی اول یک ربات را به حرکت درآورد. کد پایهی همهی ردهها با پایتون نوشته شده است.
- چیزی برای نصب نیست: برنامه پایتون خودش را همراه دارد، پس همهی تیمها دقیقاً همان نسخهای را اجرا میکنند که داوران اجرا میکنند.
- در ردهی U19 استفاده از زبانهای پیشرفتهتر نیز امکانپذیر است؛ پیش از استفاده حتماً با کمیتهی فنی هماهنگ کنید تا کد شما روی سیستم داوری قابل اجرا باشد.
اگر تا حالا کد ربات ننوشتهاید، راهنمای قدمبهقدم برنامهنویسی ربات با پایتون شما را از یک فایل خالی تا رباتی میرساند که حرکت میکند، موانع را میبیند و تمیز میکند.
۴. پلتفرم و نرمافزار مسابقه
کل مسابقه داخل برنامهی رسمی لیگ برگزار میشود. تیمها باید دقیقاً همین نسخه را نصب کنند تا رفتار فیزیک، سنسورها و زمانبندی با سیستم داوری یکسان باشد.
۴-۱. چه چیزی باید نصب شود
فقط یک فایل. خانه، ربات، سنسورها، پایتون و درسها همه داخل خودِ برنامه هستند — نه شبیهساز جداگانهای لازم است، نه نسخهی پایتونی که باید با داوران یکی باشد، و نه کتابخانهای که باید اضافه شود.
- ویندوز — SmartHomeLeague-Windows.exe
- مک — SmartHomeLeague-Mac.zip
مراحل کامل نصب — با تصویر، برای ویندوز، مک و لینوکس، همراه با خطاهای رایج — در آموزش نصب برنامه آمده است.
۴-۲. داخل برنامه چه چیزی هست؟
| کجا | کاربرد |
|---|---|
| صفحهی آمادهسازی | رده، خانه، مدت مسابقه، نام و رنگ تیمها — و کنترلهای داور |
| ویرایشگر کد | پایتونِ ربات شما، با کد پایهی همان رده که از قبل باز شده است |
| ابزارهای کمکی | راهنمای پرسشوپاسخ و بلوکها که برای دانشآموزی که هنوز نمیتواند تایپ کند، پایتونِ واقعی مینویسند |
| درسها و کتابچهی قوانین | داخل خود برنامه: کارت قوانین هر رده (📖)، جزوههای درسی، و RULES.md با همهی عددهایی که داور با آنها کار میکند |
| هیچ نصبی لازم نیست | خانه، ربات، سنسورها و خودِ پایتون همه داخل همان یک فایلی هستند که دانلود کردهاید |
۵. ربات و سنسورهای آن
ربات آماده است و برای همه یکسان — هیچ تیمی سختافزار نمیسازد. برتری از دستگاه به دست
نمیآید، فقط از کیفیت الگوریتم. آنچه بین ردهها فرق میکند این است که ربات اجازهی کدام حسها را
دارد. هر متغیری که سنسورش بسته نشده باشد، -1 خوانده میشود.
| حس | کارکرد | First Step | U14 | U19 |
|---|---|---|---|---|
سه سنسور فاصلهی جلوfrontleft · front · frontright | فاصله تا دیوار و مبلمان در زاویههای +۳۰°، ۰° و −۳۰°، تا ۲ متر | |||
حلقهی ضربهگیرbumperfront · bumperback | میگوید به چیزی خوردهای و اینکه جلو بوده یا عقب | |||
سنسور رنگcolor | کف جلوی ربات را میخواند: سفیدِ تمیز، رنگ خودت، رنگ حریف، فرش یا فرشِ نشانهی در | |||
آگاهی از اتاقroom · clean1…clean5 | الان در کدامیک از شش ناحیهای، و چند درصد هر اتاق رنگ توست | |||
قطبنماheading | ربات رو به کدام طرف است، ۰ تا ۳۵۹ درجه | — | ||
سنسور موقعیتx · y · goto() · distto() | ربات واقعاً کجاست، و رفتن به یک مختصات — خانوادهی GPS فقط با این قطعه کار میکند | — | — | |
باتری و پد شارژbattery · dockx · docky | مدیریت انرژی، و جای ثابت پد شارژ بیسیم | — | — |
ساخت ربات در این فصل در هیچ ردهای فعال نیست: ربات هر رده آماده است و تنها انتخاب تیم، رنگ تیم است. قطبنما از U14 و سنسور موقعیت از U19 در دسترس است.
چون First Step و U14 سنسور موقعیت ندارند، ربات باید جای خودش را از ترکیب سنسورهای فاصله، قطبنما و رنگ کف حدس بزند — و همین محدودیت است که مسئله را جالب میکند.
۶. ساختار بازی و زمین مسابقه
- دو ربات، رودررو: هر مسابقه تیم ۱ در برابر تیم ۲ در یک خانه است. رنگ ربات را خودِ تیم انتخاب میکند (قرمز و آبی فقط پیشفرضاند) و سکهی داخل بازی تعیین میکند چه کسی از پایین-چپ و چه کسی از بالا-راست شروع کند.
- هر راند یک نقشه، یک ساعت زودتر: همهی بازیهای یک راند روی یک نقشه انجام میشود. تیمها آن نقشه را حدود یک ساعت پیش از بازی میگیرند و ۴۵ دقیقه تا یک ساعت و نیم در قرنطینه برایش کد میزنند؛ عدد دقیق هر راند اعلام میشود.
- خانه: ۲۲×۲۲ کاشیِ ۶۲٫۵ سانتیمتری — هال، آشپزخانه، سه اتاقخواب و سرویس. هر سه رده روی همین خانه بازی میکنند؛ فرقشان سنسورها و قانونهای روشن است. فرشها و زیر مبلمان هرگز امتیاز ندارند. یک اتاق در دارد که خودش باز میشود؛ U14 و U19 گربه و سگ را بهعنوان مانع متحرک دارند؛ U19 لکههای آب دارد که باتری میبرند.
- ۱۸۰ ثانیه: هر سه رده همین سه دقیقه را بازی میکنند و وقت اضافهای در کار نیست. زمان سوپرتیم روز مسابقه اعلام میشود.
نتیجهی طراحی این است که حفظکردن یک مسیر ثابت جواب نمیدهد. الگوریتم برنده الگوریتمی است که روی هر نقشهای، حتی نقشهای که تیم هرگز ندیده، خوب کار کند. برای تست شدن در برابر نقشههای متنوع میتوانید با مپساز سهبعدی خانههای تمرینی دلخواه خودتان را بسازید.
۷. سیستم باتری و شارژ بیسیم (ویژهی U19)
در ردهی U19 ربات با باتری کار میکند و انرژیاش در طول مسابقه کم میشود. پد شارژ
بیسیم جای ثابتی در خانه دارد و مختصاتش در شروع مسابقه به هر دو ربات داده میشود
(dockx و docky) — هیچ چیز پنهان نیست. عددهایی که شبیهساز واقعاً با
آنها کار میکند اینهاست:
| مورد | مقدار |
|---|---|
| یک شارژ کامل | ۱۰۰٪ یعنی حدود ۶۰ ثانیه رانندگی با تمام گاز (تقریباً ۱٫۷٪ در ثانیه) |
| ایستادن بیحرکت | یکچهارم مصرف رانندگی — حدود ۰٫۴۲٪ در ثانیه |
| روی پد | ۲۵٪ در ثانیه — از صفر تا صد در چهار ثانیه |
| باتری صفر | ربات را نمیکشد: با ۱۵٪ سرعت میخزد و هنوز میتواند خودش را به پد برساند. خودِ خزیدن مجازات است — بیشترِ مسابقه را میخورد |
| آب روی زمین | فقط U19. لکهها از ثانیهی اول روی زمین دیده میشوند؛ هر ورود تازه ۱۰٪ باتری هزینه دارد و هیچ کاشیای کم نمیکند. ایستادن داخل آب دوباره حساب نمیشود |
ساعتِ «گیر کردن» داور در حال شارژ متوقف است — ولی بهمحض رسیدن باتری به ۱۰۰٪ دوباره راه میافتد؛ پس چادر زدن روی پد راهبرد نیست: شارژ کن و برو. انتظار کنار پدی که ربات دیگری روی آن است، «صف» است و گیر کردن حساب نمیشود.
تخلیهی زباله در این فصل خاموش است. ایستگاه تخلیه در خانههای مسابقه گذاشته نمیشود،
مخزن هرگز پر نمیشود و dumpx / dumpy برابر -1 خوانده
میشوند. این بند برای فصلی که دوباره روشن شود در آییننامه میماند.
پس تیمهای U19 علاوه بر تمیزکاری یک مسئلهی دوم هم دارند: مدیریت انرژی. کِی تمیزکاری را
رها کنیم و برویم شارژ؟ آیا این دور زدن بهصرفه است یا چند کاشی دیگر؟ تخمین سرانگشتی سفرِ برگشت
distto(dockx, docky) / 25 درصد شارژ است — بهعلاوهی یک حاشیهی چاق، چون مسیر واقعی
هرگز خط مستقیم نیست. همین تصمیمها تفاوت تیمهای خوب و عالی را میسازد.
۸. امتیازدهی — معیار پاکیزگی
مسابقه با کاشی شمرده میشود. هر کاشی کفی که ربات تمیز کند رنگ او را میگیرد و یک امتیاز دارد؛ هر که با تمام شدن ۱۸۰ ثانیه کاشی بیشتری دارد، مسابقه را برده است.
| قانون | یعنی چه | چطور بازیاش کنیم |
|---|---|---|
| یک کاشی، یک امتیاز | فقط کف آزاد — فرشها و زیر مبلمان هرگز شمرده نمیشوند | پوشش منظم فضا (مارپیچ یا رفتوبرگشتی) بهجای حرکت تصادفی |
| آخرین تمیزکاری برنده است | روی کاشی حریف تمیزکاری کنی، مال تو میشود | هیچ کاشیای تا سوت پایان امن نیست؛ حرکت کن و به اتاقهای پرمناقشه برگرد |
| ۱۸۰ ثانیه، بدون وقت اضافه | ساعت مسابقه را تمام میکند؛ امتیاز برابر یعنی تساوی | گیر کردن زمانی را میسوزاند که هرگز برنمیگردد — گیر نکردن از هر ترفندی بیشتر میارزد |
برای دیدن اینکه این امتیازها در عمل چطور ثبت میشوند، به صفحهی نتایج مسابقات و صفحهی جوایز و رتبههای نهایی سر بزنید.
۸-۱. صاحب کاشی کیست؟ «آخرین تمیزکاری برنده است»
هر کاشی کفی که ربات از رویش رد شود رنگ آن ربات را میگیرد و یک امتیاز دارد، و آخرین تمیزکاری برنده است: روی کاشیای که حریف تمیز کرده تمیزکاری کنی، مال تو میشود. این قانون در هر سه رده روشن است. فرشها و کفِ زیر مبلمان اصلاً شمرده نمیشوند و تابلوی امتیاز درصد تمیزی خانه را هم نشان میدهد.
۸-۲. گیر کردن و جابهجایی
فقط یک چیز کاشیهای تمیزشده را از تیم پس میگیرد: جابهجایی. این قانون در هر سه رده یکی است و فرقی نمیکند سیستمِ داور آن را فعال کرده باشد یا خود داور دکمه را زده باشد.
| رویداد | شرط | هزینه |
|---|---|---|
| گیر کردن (خودکار) | ربات ۱۰ ثانیه داخل دایرهای به شعاع ۰٫۸۵ متر بماند — دور خود چرخیدن هم گیر کردن است | به یک کاشی آزادِ تصادفی در هر جای خانه، دستِکم ۶ کاشی دورتر از جای گیرکردن منتقل میشود و جریمهی زیر را میدهد |
| جابهجایی توسط داور | دکمهی Relocate در منوی ☰ | همان ۲ کاشی |
جریمه در فرستاستپ، U14 و U19 ۲ کاشیِ ثابت است و در سوپرتیم بار اول ۵، بار دوم ۱۰ و از بار سوم ۱۲ کاشی و از کفِ رنگشدهی خود تیم برداشته میشود — دو کاشی دوباره سفید میشود. زیر ۱۰ کاشی هیچ جریمهای نیست، تا یک گیرکردنِ زودهنگام تیم تازهکار را ته جدول نگه ندارد. سقفی برای جابهجایی نیست و چیزی هم برای درخواست نیست: ناظر خودش کار میکند. تصادفی و دور بودنِ نقطهی فرود عمدی است: جابهجایی نباید هرگز مثل یک آسانسور مجانی به جای بهتر باشد.
دو استثنا ناظرِ گیرکردن را منصف نگه میدارد: رباتِ در حال شارژ گیرکرده نیست (ساعت تا پر شدن باتری متوقف است) و باتری خالی هم گیر کردن نیست — رباتی که نمیتواند حرکت کند جابهجا و جریمه نمیشود.
۸-۳. تساوی، تساوی است
وقت اضافه نداریم. ساعت که تمام شد نتیجه همان است؛ امتیاز برابر تساوی ثبت میشود و در جدول به هر تیم یک امتیاز میدهد. بازی حذفیِ مساوی هم ثانیه نمیگیرد — همان دو تیم روی همان نقشه دوباره بازی میکنند تا یکی ببرد. اینطور برنامهی روز مسابقه قابل پیشبینی میماند: هیچ بازیای از ۱۸۰ ثانیه طولانیتر نمیشود.
۸-۴. چند تیم، کدام فرمت
ردهها رودررو بازی میکنند و فرمت را تعداد تیمها تعیین میکند. هر بازی حدود ۸ تا ۱۰ دقیقه از میدان میگیرد، یعنی هر میدان در روز حدود ۴۰ بازی؛ لیگ کامل n×(n−۱)÷۲ بازی میخواهد و مرز همینجاست.
| تعداد تیم | فرمت | بازی هر تیم |
|---|---|---|
| ۲ | فینال بهترین از ۳، با تعویض گوشه | ۳ |
| ۳ | لیگ کامل رفتوبرگشت | ۴ |
| ۴ تا ۶ | لیگ کامل تکدور — قهرمان از جدول | n−۱ |
| ۷ تا ۸ | لیگ کامل با دو میدان یا دو روز؛ وگرنه سوییس ۴ راند + نیمهنهایی | ۶ تا ۷ |
| ۹ تا ۱۶ | سوییس ۵ راند + پلیآف ۴ تیم بالا | ۵ (+۲) |
| ۱۷ تا ۳۲ | سوییس ۶ راند + پلیآف ۴ تیم بالا | ۶ (+۲) |
| ۳۳ تا ۶۴ | سوییس ۷ راند + پلیآف ۸ تیم بالا | ۷ (+۳) |
سوییس در چند خط: راند ۱ قرعهی تصادفی است؛ از راند ۲ جدول قرعه میکشد — تیمهای همامتیاز با هم بازی میکنند، تا جایی که ریاضی اجازه بدهد هیچکس دو بار با یک حریف روبهرو نمیشود، و در تعداد فرد، «بای» (برد بدون کاشی) به پایینترین تیمی میرسد که هنوز نگرفته. امتیاز: برد ۳، تساوی ۱، باخت ۰. تایبرک به ترتیب: امتیاز، تفاضل کاشی، کاشی زده، بوخهولتز (فقط سوییس)، قرعهی داور. جدول زنده در صفحهی رقابت است.
۸-۵. چالش فنی و مصاحبهی فنی
غیر از مسابقهها، تیمها یک چالش فنی (مأموریتهایی مثل دیوارگردی، ناوبری اتاقبهاتاق و دوری از مانع متحرک) و یک مصاحبهی فنی دارند که در آن هر عضو باید همهی بخشهای کد را توضیح بدهد، از جمله هر کتابخانه یا ابزار کمکیای که تیم استفاده کرده. نحوهی حساب شدن این دو هر سال یکجور نیست: بعضی سالها جایزهی جداگانه دارند و بعضی سالها مستقیم در امتیاز کل مینشینند. کدامیک و با چه وزنی، پیش از هر رویداد اعلام میشود.
۹. بازی جوانمردانه
لیگ خانه هوشمند پیش از آنکه یک مسابقه باشد، یک کلاس درس است. به همین دلیل رفتار حرفهای و جوانمردانه بخشی از قوانین است، نه یک توصیهی اخلاقی جانبی:
- تقلب ممنوع است — در هیچ شکلی؛ نه در کد، نه در سن اعضای تیم، نه در روند داوری.
- سوءاستفاده از حفرههای قوانین ممنوع است — اگر روشی از نظر فنی جواب میدهد ولی آشکارا خلاف روح مسابقه است (مثلاً دور زدن سازوکار شبیهسازی بهجای حل مسئلهی تمیزکاری)، تخلف محسوب میشود.
- دستکاری فایلهای دنیا، ناظر (supervisor) یا سازوکار امتیازدهی ممنوع است.
- احترام به تیمهای دیگر، داوران و کمیتهی فنی الزامی است.
جریمهها: برخورد با تخلف بسته به شدت آن تعیین میشود و میتواند از تذکر و کسر امتیاز تا حذف کامل تیم از مسابقات پیش برود. اگر دربارهی مجاز بودن روشی شک دارید، پیش از مسابقه از کمیتهی فنی بپرسید — پرسیدن هیچ هزینهای ندارد.
۱۰. آییننامهی اخلاقی و اصالت کد
کدی که هر تیم ارسال میکند باید اثر خودِ اعضای تیم باشد. سرقت ادبی و کپیبرداری از کد تیمهای دیگر یا کد آمادهی اینترنت ممنوع است و با آن مطابق بند ۹ برخورد میشود.
- استفاده از کنترلرهای نمونهی داخل پروژه بهعنوان نقطهی شروع کاملاً مجاز است — همین برای یادگیری ساخته شدهاند.
- استفاده از مستندات و آموزشها برای یادگیری مفاهیم مجاز است؛ کپی مستقیم راهحل یک تیم دیگر مجاز نیست.
- اعضای تیم باید بتوانند کد خود را توضیح بدهند. اگر کمیتهی فنی دربارهی بخشی از کد بپرسد، انتظار میرود تیم منطق آن را شرح دهد.
- تیمها مسئول پشتیبانگیری از کد خود و آماده داشتن نسخهی نهایی پیش از شروع مسابقه هستند.
۱۱. اختیارات برگزارکنندگان
در هر مسابقهای موقعیتهای پیشبینینشده پیش میآید: قطعی برق، خطای نرمافزاری، ابهام در یک بند قانون یا شرایط خاص یک تیم. در چنین مواردی، تصمیم برگزارکنندگان و کمیتهی فنی نهایی و لازمالاجراست.
برگزارکنندگان همچنین میتوانند در صورت لزوم جزئیات فنی (مانند زمان مسابقه یا جزئیات نقشهها) را پیش از شروع دوره بهروزرسانی کنند. هر تغییری از طریق کانالهای رسمی لیگ اعلام میشود، پس پیش از مسابقه حتماً کانال تلگرام را دنبال کنید.
۱۲. چکلیست روز مسابقه
پیش از شروع، این مسیر را یک بار کامل روی کامپیوتر خودتان تمرین کنید تا روز مسابقه غافلگیر نشوید:
- نرمافزار برنامهی لیگ نصب و باز است.
- ردهی خود را انتخاب کنید.
- کد تیم را در حالت مسابقه بارگذاری کنید و مطمئن شوید خط وضعیتِ کد همان فایلی را نشان میدهد که میخواستید.
- یک بار شروع را بزنید و یک مسابقهی کامل را بدون خطای کد ببینید.
- یک نسخهی پشتیبان از کد نهایی روی حافظهی جانبی یا فضای ابری داشته باشید.
راهنمای تصویری و گامبهگام نصب در بخش شروع سریع صفحهی اصلی و توضیح مفصلتر مسابقه در راهنمای لیگ ربات جاروبرقی آمده است.
۱۳. اسناد رسمی
نسخهی کامل و مرجع قوانین در دو سند زیر منتشر شده است. این صفحه برای خوانایی و جستوجوپذیری نوشته شده، اما در صورت هر گونه تفاوت، اسناد رسمی ارجحاند:
Rulebook (English PDF) کتابچهی قوانین (PDF)
پایگاه دانش و اطلاعیههای رسمی لیگ نیز در سایت smarthomerobot.ir و درسهای خود لیگ در smarthomeleague.ir/lessons در دسترس است.
۱۴. ارتباط با کمیتهی فنی
هر سؤالی دربارهی قوانین، ابهام در یک بند، یا مشکل فنی در اجرای شبیهساز دارید، از این مسیرها بپرسید:
| کانال | مناسب برای | نشانی |
|---|---|---|
| تلگرام | اطلاعیهها، ثبتنام، پرسشهای عمومی | t.me/firasmarthome |
| دیسکورد | پرسشهای فنی و رفع اشکال کد | discord.gg/Pf4ND7bbHR |
| سایت لیگ | قوانین، درسها و همهی دانلودها | smarthomeleague.ir |
سؤالات پرتکرار دربارهی قوانین
قوانین رسمی مسابقات لیگ خانه هوشمند را از کجا بگیرم؟
متن کامل و خوانای قوانین در همین صفحه آمده است. اسناد رسمی هم در دسترساند: کتابچهی قوانین (PDF). در صورت هرگونه تفاوت میان این صفحه و اسناد رسمی، اسناد رسمی ملاک عمل هستند.
برای شرکت در لیگ چه سنی لازم است؟
سه رده وجود دارد: First Step برای زیر ۱۳ سال که هیچ حداقل سنی ندارد، U14 برای زیر ۱۴ سال و U19 برای زیر ۱۹ سال. شرایط سنی باید برای همهی اعضای تیم برقرار باشد.
آیا میتوان بهجای پایتون از زبان دیگری استفاده کرد؟
زبان رسمی لیگ پایتون است و کد پایهی همهی ردهها با پایتون نوشته شده است. در ردهی U19 امکان استفاده از روشهای پیشرفتهتر هم وجود دارد، اما پیش از استفاده باید با کمیتهی فنی هماهنگ شود.
نقشهی خانه در روز مسابقه از قبل اعلام میشود؟
بله — حدود یک ساعت پیش از مسابقه. نقشهی کامل هر راند همزمان به همهی تیمها داده میشود و بعد ۴۵ دقیقه تا یک ساعت و نیم در قرنطینه وقت هست تا برایش کد بزنید. همهی بازیهای یک راند روی همان نقشه است.
امتیاز مسابقه چطور محاسبه میشود؟
با کاشی. دو ربات ۱۸۰ ثانیه رودررو بازی میکنند؛ هر کاشی که تمیز کنی یک امتیاز است و آخرین تمیزکاری برنده است. کاشی بیشتر در سوت پایان یعنی برد؛ تساوی به هر تیم یک امتیاز میدهد. ده ثانیه گیر کردن یعنی جابهجایی و ۲ کاشی جریمه (زیر ۱۰ کاشی بدون جریمه).
استفاده از کد آمادهی اینترنت یا کد تیم دیگر مجاز است؟
خیر. کد ارسالی هر تیم باید اثر خودِ اعضای تیم باشد. کپیبرداری و سرقت ادبی ممنوع است و میتواند تا حذف کامل تیم پیش برود. استفاده از کنترلرهای نمونهی داخل پروژه بهعنوان نقطهی شروع آزاد است.
اگر با تصمیم داور یا کمیتهی فنی اختلاف نظر داشتم چه کنم؟
پرسش یا اعتراض خود را از مسیرهای رسمی — کانال تلگرام یا سرور دیسکورد — مطرح کنید. تصمیم نهایی برگزارکنندگان و کمیتهی فنی قطعی و لازمالاجراست.
برای شرکت در مسابقه باید سختافزار بخرم؟
خیر. کل مسابقه در برنامهی لیگ انجام میشود و تنها به یک کامپیوتر معمولی ویندوز، مک یا لینوکس نیاز دارید.
قدم بعدی
حالا که قوانین را میدانید، بهترین کار این است که همین امروز ربات نمونه را روی کامپیوتر خودتان اجرا کنید و شروع کنید به تغییر دادن کد. اگر هنوز چیزی نصب نکردهاید، میتوانید بدون نصب و همین مسابقه در مرورگر هم باز میشود و میتوانید بدون هیچ نصبی تمرین کنید.
دانلود ابزارها و شروع جوایز و رتبههای نهایی لیگ ربات جاروبرقی چیست؟ Rules in English
