شرلوک هلمز کاراگاه باهوش داستان ما، پس از مدت زیادی سروکله زدن با پروندههای جنایی با اجبار بقیه میخواهد به تعطیلات برود که ناگهان پست، بستهای را برای شرلوک میآورد. هنگامی که شرلوک بسته را باز میکند یک نامه را مشاهده میکند که یک سری خطوط کشیده شده است که حدس میزند این خطها رمز شدهاند و باید آنها را رمزگشایی کند. شرلوک پس از فکر کردن درمورد الگوی خطوط متوجه میشود که این خطوط در اصل کد مورس هستند. شما در نقش دستیار جوان شرلوک باید به او کمک کنید تا این نامه را رمزگشایی کند.
ظاهر کلی برنامه به صورت زیر است:
پروژه اولیه
پروژه اولیه را از این لینک دانلود کنید.
ساختار فایلها
MorseCode
├── style
│ └── style.css
├── template
│ └── index.html
├── morseCode.js
└── assets
├── background.jpeg
└── magnifying-glass.png
توضیحات
متغیرهای مورد نیاز
متغیر | تعریف |
---|---|
morseCodeMap |
این متغیر معادل هر یک از کدهای مورس را به صورت مپ نگه میدارد |
magnifyingGlass |
این متغیر المان circle را نگه میدارد |
morseCode |
این متغیر کد مورس در نامه را به صورت یک آرایه نگه میدارد |
توابع مورد نیاز
تابع | تعریف |
---|---|
fetchMorseCodeMap |
شما باید داخل این تابع دادههای متغیر morseCodeMap را از فایل morseMap.json داخل فولدر server به دست بیاورید |
initializeElements |
شما باید داخل این تابع المان متغیر magnifyingGlass را مقداردهی کنید، سپس تابع createMorseCodeElements را صدا بزنید |
createMorseCodeElements |
شما باید داخل این تابع هرکدام از المانهای آرایه morseCode را داخل یک المان با تگ p ، داخل المان morseCodeContainer قرار دهید و به هرکدام از المانها کلاس codeElement را اضافه کنید |
addMouseMoveEvent |
شما باید داخل این تابع رفتار حرکت المان magnifyingGlass با حرکت موس را پیادهسازی کنید و در صورتی که المانهای کد مورس درون متغیر magnifyingGlass قرار گرفت تابع decodeMorseCode را صدا بزنید و در صورتی که المانهای کد مورس درون آن قرار نگرفت خود کد مورس را نمایش دهید |
decodeMorseCode |
شما باید داخل این تابع معادل کد مورس ارسال شده برگردانید |
خواسته مسئله
در فایل morseCode.js
یک کلاس خالی بهنام MorseCode
به شما داده شده است که شما تنها قادر به پیادهسازی توضیحات مسئله در آن هستید.
نکات
- شما تنها قادر به تغییر فایل
morseCode.js
هستید. - برای حرکت المان
magnifyingGlass
باید از مشخصههایleft
وtop
استفاده کنید. - برای بدست آوردن فاصله بین المان کد مورس و
magnifyingGlass
شما باید از متغیرهایwidth
,height
,left
وtop
استفاده کنید. - برای بارگذاری، فایل morseCode.js را به تنهایی ارسال کنید.
ارسال پاسخ برای این سؤال