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

شروع:
چهارشنبه ۲۵ اردیبهشت ۹۸ ۰۹:۰۰
پایان:
چهارشنبه ۲۵ اردیبهشت ۹۸ ۱۲:۰۰
نبرد پلتفرم‌های سخت‌افزاری
برگزارکننده‌ی رویداد
مهلت ثبت‌نام برای این رویداد به پایان رسیده است.

معرفی فوتبال کاغذی[1]

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

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

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

برنده بازی کسی است که بتواند توپ را به داخل دروازه حریف برساند. اگر بازیکنی به نقطه ای برسد که نتواند حرکت مجازی انجام دهد بازنده خواهد بود.

بازیکنها نمی توانند از روی خطوطی که قبلا توسط یکی از بازیکنان پیموده شده اند حرکت کنند.

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

تمامی ارتباط ها ، از داور به بازیکن و برعکس از طریق پورت سریال کامپیوتر انجام خواهد شد.

هر پیام ارتباطی به کاراکتر 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 و ... کاراکترهای متناظر با حرکات هستند که در شکل زیر مشخص شده اند.

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

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

به ثمر رساندن گل توسط یک بازیکن (گل به خودی هم گل محسوب می شود).

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

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

---------------------

مرجع:

[1] http://fpgasoc.ut.ac.ir/fpga.html

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