برای آشنایی با قالب صورت سوال در Quera اینجا را مشاهده کنید و برای آشنایی با نحوهی داوری فرانتاند، اینجا را ببینید. برای کسب اطلاعات بیشتر درباره نحوه برگزاری مسابقه و پخش جوایز هم اینجا را ببینید.
دو سوال آخر مسابقه مربوط به React هستند.
در این سوال قصد داریم یک بازی ساده چند مرحلهای را پیادهسازی کنیم. نحوه اجرای بازی به این گونه است که در هر مرحله یک نقطه از صفحه به عنوان گنج انتخاب میشود و هر چه قدر که موس را به آن نقطه نزدیکتر کنید رنگ صفحه روشنتر میشود.
همچنین این بازی باید شامل تعدادی مرحله باشد که در هر مرحله نقطهای که به عنوان گنج انتخاب میشود متفاوت است و باید اطلاعات مربوط به مکان گنج را از یک فایل JSON بخوانید.
برای درک جزئیات بیشتر میتوانید این نمونه را ببینید.
پروژه اولیه را از اینجا دانلود کنید.ساختار فایلهای این پروژه به صورت زیر است.
فایل levels.json
:
این فایل مراحل بازی را مشخص میکند و یک ویژگی به نام levels
دارد که حاوی یک آرایه است که مختصات گنج را در آن مرحله مشخص میکند.
اندازه لیست موجود در این فایل هم تعداد مراحل را مشخص میکند.
ویژگی background-color
برای square
:
#000
باشد.منظور از فاصله منهتنی دو نقطه در این سوال مجموع اختلاف مولفه و آنهاست، یعنی اگر دو نقطه و داشته باشیم فاصله آنها برابر با است.
مقدار متنی ویژگی level
:
level
هم باید مقدارش یکی بیشتر شود. در ابتدای بازی در مرحله ۰ هستیم و مقدار ویژگی level
هم باید به صورت Level #id
باشد که #id
شماره مرحله کنونی است.You won!
تغییر کند و رنگ square
هم برای همیشه سفید بماند. (حتی در زمانی که موس از صفحه خارج شد.)تغییرات لازم را در فایل index.html
و در صورت نیاز فایلهای .js
خود را اضافه کنید.
توجه کنید که در هنگام تستکردن ممکن است فایل levels.json
تغییر کند.
levels.json
با خطای Cross Origin
از طرف مرورگر مواجه شدید، به جای باز کردن مستقیم فایل HTML با مرورگر،
پوشه پروژه را با یک وبسرور (مثلاً
python -m http.server
و یا npx http-server
)
serve
کنید، و یا مرورگر FireFox را امتحان کنید.*
مشخص شده مجاز است
و ارسال سایر فایلها الزامی نیست.