دومین دوره نبرد پلتفرم‌های سخت افزاری

گروه مهندسی معماری کامپیوتر دانشگاه اصفهان، میزبان برگزاری مسابقات ملی نبرد پلتفرم‌های سخت‌افزاری در ۶ دی ماه ۱۴۰۲می‌باشد.

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

در این مسابقه، تیمهای شرکت کننده، یکی از پلتفرمهای سخت افزاری را انتخاب می کنند و برنامه فوتبال کاغذی را روی آن پیاده سازی می نمایند سپس در روز مسابقه برنامه های تیمها با همدیگر رقابت خواهند کرد.

هدف از برگزاری این مسابقه در سطح ملی، ایجاد فضاي خود باوري، اعتماد به نفس و کسب تجربه و تبادل تجارب در ميان شرکت کنندگان است.

آخرین به روزرسانی:۱۴۰۲/۰۴/۰۹

اعضا کمیته علمی

تیم اجرایی

کلیت مسابقه

بازی فوتبال کاغذی [1]

صفحه بازی به صورت زیر است که به عنوان زمین فوتبال و دو مربع در دو طرف کوتاه زمین به عنوان دروازه دو تیم در نظر گرفته می شود.
board
در هنگام شروع بازی، توپ فوتبال با یک نقطه در وسط صفحه بازی نشان داده می شود. هر بازیکن به نوبت با رسم یک خط توپ را از مکان فعلی به مکان جدید منتقل می کند. هر حرکت باید به نقطه مجاور در راستای عمودی، افقی یا مورب انجام شود. هیچ حرکتی نمی تواند توپ را از زمین بازی خارج کند. همچنین حرکت از روی خطوط ضخیم که در حال حاضر کشیده شده است مجاز نیست. بازیکنی که بازی را شروع می کند به صورت رندم انتخاب می شود.
اگر توپ به نقطه ای برسد که قبلا توسط یکی از بازیکنان پیمایش شده باشد (شامل خطوط محیطی زمین بازی) بازیکن می تواند یک حرکت دیگر نیز انجام دهد تا اینکه به نقطه ای برسد که قبلا توسط هیچیک از بازیکنان پیمایش نشده باشد یا اینکه توپ وارد دروازه گردد(در واقع، بازیکن ممکن است در هر گام بازی، بیش از یک حرکت انجام دهد)
برنده بازی کسی است که بتواند توپ را به داخل دروازه حریف برساند. اگر بازیکنی به نقطه ای برسد که نتواند حرکت مجازی انجام دهد بازنده خواهد بود.
بازیکنها نمی توانند از روی خطوطی که قبلا توسط یکی از بازیکنان پیموده شده اند حرکت کنند.

ارتباط نرم افزار داور با بازیکن ها


تمامی ارتباط ها ، از داور به بازیکن و برعکس از طریق پورت سریال کامپیوتر انجام خواهد شد.
هر پیام ارتباطی به کاراکتر n\ با کد هگز (0x0A) ختم می شود
در ابتدای بازی کامپیوتر میزبان کاراکترهای wx\n را به هر دو برد ارسال می کند. در این دستور کاراکتر w (0x77) نماد عرض زمین بازی و x عدد باینری زوجی از 2 تا 254 است که مقدار عرض زمین بازی را مشخص می کند. پس از این دستور، دستور ly\n ارسال میشود که مشابه دستور قبلی، کاراکتر l (0x6C) نماد طول زمین بازی و y عدد باینری زوجی از 2 تا 254 است که مقدار طول زمین بازی را مشخص می کند. (در این مسابقه ابعاد زمین ثابت و به صورت 8x10 می باشد و بوردها باید این پیغام را نادیده بگیرند)
سپس رنگ بازیکن با دستور cr\n یا cb\n به ترتیب به معنی رنگ قرمز و رنگ آبی به بازیکن ها اعلام می شود. توجه شود که تمامی حروف کوچک هستند.
داور به صورت رندم یک بازیکن را انتخاب کرده و دستور شروع بازی را با کاراکترهای\n {} به آن بازیکن ارسال می کند. در مدت حداکثر یک ثانیه، بازیکن فرصت اعلام حرکت یا حرکت های مد نظر خود را دارد. این حرکت ها با کاراکترهای {abc…}\n مشخص می شوند که a، b، c و ... کاراکترهای متناظر با حرکات هستند که در شکل زیر مشخص شده اند.

board
نرم افزار داور پس از دریافت حرکت از یک بازیکن و بررسی صحت آن، حرکت مذکور را بدون هر گونه تغییری به بازیکن مقابل ارسال می نماید و منتظر دریافت حرکت از بازیکن مقابل می ماند. این روند تا اتمام بازی ادامه خواهد داشت.

شروط اتمام بازی


به ثمر رساندن گل توسط یک بازیکن (گل به خودی هم گل محسوب می شود).
عدم انجام حرکت کامل (رسیدن به نقطه ای که توپ از آن رد نشده است) توسط یک بازیکن که منجر به پیروزی حریف می شود (مگر هنگام گل زدن).
انجام هر گونه حرکت اشتباه توسط یک بازیکن منجر به پیروزی حریف می شود. اتمام حرکت در نقطه ای که قبلاً توپ از آن عبور کرده است، گذر از روی خطوط موجود (شامل خطوط حرکت، خط وسط و خطوط کناری) و یا حرکت به بیرون از زمین بازی، حرکت های اشتباه محسوب می شوند.
دانلود برنامه داور

تاریخ‌های مهم


شروع ثبت نام تیمها: جمعه ۱۵ اردیبهشت ۱۴۰۲
پایان ثبت نام: ۱۵ آذرماه ۱۴۰۲
برگزاری مسابقه: ۶ دیماه
اعلام نتایج: ۶ دیماه

لینک ثبت نام

آموزش‌ها


سناریوهای پیاده‌سازی(از آسان به دشوار)
برنامه VHDL برای پیاده‌سازی استراتژی اول
نمونه برنامه نوشته شده به زبان سی برای آردوینو
مراحل پیاده‌سازی بازی با استفاده از آردوینو


حامیان

انجمن علمی مهندسی کامپیوتر دانشگاه اصفهان پژوهشگاه ارتباطات و فناوری اطلاعات دانشگاه اصفهان