مهارتهای لازم:
JS
در این سوال قصد داریم یک بازی مشابه puzzle-8 را با استفاده از js
و بدون استفاده از کتابخانه جانبی پیاده سازی کنیم.ظاهر کلی برنامه بدین صورت است:
پروژه اولیه را از این لینک دانلود کنید. ساختار فایلهای این پروژه به صورت زیر است.
index.html
را در مرورگر خود باز کنید.این بازی مشابه با بازی 8-puzzle می باشد.با این تفاوت که در این بازی فرض شده است که سطر اول و آخر و همچنین ستون اول و آخر با هم مجاور هستند.برای فهم دقیق گیف قرار داده شده در ابتدا سوال را با دقت مشاهده کنید. برای پیاده سازی نکات زیر را در نظر بگیرید:
game_status
نمایش دهید.moves
نمایش دهید.reset
بازی به حالت اول بر می گردد.app.js
اعمال کنید. تغییرات در بقیه فایل ها نادیده گرفته می شوند.در این قسمت راهنماییهای سوال، به مرور اضافه میشود. مشکلاتتان در راستای حل سوال را میتوانید از بخش "سوال بپرسید" مطرح کنید.
در این قسمت راهنماییهای سوال، به مرور اضافه میشود. مشکلاتتان در راستای حل سوال را میتوانید از بخش "سوال بپرسید" مطرح کنید.
a[-1]
(ایندکس های منفی یا بزرگتر از اندازه لیست) را نیز پشتیبانی کند (همانند پایتون). این قابلیت با استفاده از Proxy ها در جاوا اسکریپت قابل پیاده سازی است.به عنوان مثال :برای رندر کردن ماتریس شما باید تمامی cell ها را داشته باشید. برای دریافت تمامی cell شما می توانید از کد زیر استفاده کنید.
در نهایت می توانید با استفاده از یک حلقه for روی این لیست یا با استفاده از forEach*، محتوای هر کدام از *cell ها را مقدار دهی کنید.به عنوان نمونه:
می توانید کد زیر را کامل کنید.