مهارتهای لازم:
ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
برای اجرای پروژه، باید NodeJS
و npm
را از قبل نصب کرده باشید.
snake-game
، دستور npm install
را برای نصب نیازمندیها اجرا کنید.npm start
را برای راهاندازی پروژه اجرا کنید.http://localhost:3000/
میتوانید نتیجه را ببینید.در این سوال شما باید هوک useSnake که در فایل hooks/use-snake.js
تعریف شده را کامل کنید. این هوک در کامپوننت game.js
استفاده شده و آبجکتی شامل تمام اعضای وضعیت اولیه بازی برمیگرداند که در ابتدا برابر با آن است و سپس براساس موارد زیر تغییر میکند. شما در این سوال باید تغییرات لازم را در هر ۱۰۰ میلیثانیه (سرعت بازی) و کلیک شدن دکمههای w s a d در کیبورد روی وضعیت بازی اعمال کنید. (وضعیت اولیه بازی را حتما از فایل initialState.js
بخوانید)
وضعیت اولیه بازی
مختصات
مختصاتها در بازی مار به صورت یه ابجکت هستند. مبدا مخصات {x: 0, y: 0}
گوشه بالا سمت چپ بورد بازی است.
مربع ابی نشان داده شده در مختصات
{x: 2, y: 1}
است.
hooks/use-snake.js
و logic.js
هستید.logic.js
فقط یک فایل اضافه است که بتوانید توابعی که مربوط به logic بازی است را در آن تعریف کنید. این فایل میتواند خالی باشدnode_modules
در فایل ارسالی نباشد.