در این سؤال قصد داریم از شما برای طراحی یک سودوکوی ساده کمک بگیریم. این سودوکو در ابتدا به این شکل است:
قوانین این سودوکو به این ترتیب هستند:
همه خانههای این جدول باید با اعداد ۱ تا ۸ پر شود.
در هر ردیف افقی یا مورب (در جهاتی که در شکل زیر مشخص شده است) و همچنین در هر شش خانه مجاور هریک از خانههای رنگی شکل زیر (مثلاً خانههای ۶، ۷، ۱۱، ۱۳، ۱۷ و ۱۸)، نباید عدد تکراری وجود داشته باشد.
Check
،درصورتی که تمام خانهها به درستی
پر شده باشند، جدول به شکلی مشابه تصویر زیر در میآید:Check
با نتیجهای مانند تصویر زیر مواجه میشویم:New
، جدول خالی میشود و بازی تازهای آغاز میشود.کد HTML و CSS نوشته شده است و به شما داده میشود. از شما میخواهیم عملکردهای خواستهشده را با JavaScript پیادهسازی کنید.
مثالی از نحوهی عملکرد:
فایلهای اولیه را از اینجا دانلود کنید. ساختار این فایلها به شرح زیر است:
همانطور که در فایل HTML دادهشده میبینید، هرکدام از خانههای جدول، یک
عنصر input
با کلاس cell
و شناسه cell_i
است.
همچنین کلیدهایCheck
و New
هر کدام یک عنصر button
هستند
که به ترتیب شناسهی check
و new
دارند.
از شما میخواهیم بر اساس توضیحات زیر، پیادهسازی عملکرد را انجام دهید.
با فشردن کلید Check
:
disable
میشوند.#37B75E
میشود.#F5BB88
میشود.
خانههایی که دارای مقادیر تکراری هستند رنگ #DE480D
خواهند داشت.
رنگ بقیهی خانههای پر نیز #F37540
میشود.1
داشته باشند،
هر سه دچار تغییر گفته شده خواهند شد.با فشردن کلید New
محتوای تمام خانهها خالی میشود،
رنگ پس زمینه و رنگ متن به حالت اولیه برمیگردد و میتوانند ورودی جدید بپذیرند.
در هر خانه، تنها یکی از ارقام 1
تا 8
میتواند قرار بگیرد.
در صورت وارد شدن چند رقم متوالی، تنها اولین رقم در خانه قرار میگیرد
و کاراکترهای دیگر نیز به کلی پذیرفته نمیشوند. مثلاً در صورتی که در خانهای
رقم 9
یا حرف a
تایپ شود، این حرف نباید وارد input شود، یا در صورتی که
در یک خانه که با رقم 1
پر شده است، رقم 2
تایپ شود، این حرف نیز نباید
وارد input شود.
(میتوانید پس از ورود حروف غیرمجاز، آنها را از input حذف کنید.)
a925
تایپ شود،
انتظار داریم داخل خانه رقم 2
قرار بگیرد.اطلاعات دقیقتر در مورد ویژگی های هر کلاس و هر عنصر در فایلهای اولیهی دادهشده موجود است. لذا این فایلها به طور دقیق بررسی کنید.
توجه کنید که داوری خودکار بر مبنای شناسه (id) عناصر انجام میشود. پس دقت کنید که عناصر شناسهی صحیح داشته باشند.
ساختار فایل ارسالی باید دقیقاً مطابق زیر باشد. در این غیر این صورت، کد شما قابل دسترسی برای داوری آنلاین نخواهد بود.