פרויקט סיום קורס JavaScript
עליכם לבנות בעזרת HTML, CSS ו-JavaScript את משחק הזיכרון הבא:
https://www.damada.co.il/topics/inventions/fun/matching_cards/matching_cards.shtml
חוקי
המשחק:
בתחילת המשחק כל התמונות מוסתרות (כפי שרואים בלינק הנ"ל).
לחיצה על תמונה ראשונה מציגה את התמונה שנלחצה ומשאירה אותה גלויה.
לחיצה על תמונה שנייה מציגה את התמונה השנייה שנלחצה ומשאירה אותה גלויה.
אם התמונות אינן זהות – יש להשאיר אותן גלויות למשך שנייה אחת ואז להסתיר את
שתיהן.
אם התמונות זהות – יש להשאיר אותן פתוחות עד סוף המשחק.
אין להגיב אם משתמש לוחץ על תמונה פתוחה כלשהי.
אין
להגיב אם המשתמש לוחץ על כל תמונה שהיא (סגורה או פתוחה) בזמן ההמתנה של השנייה.
כלומר משתמש לא יכול ללחוץ על יותר מ-2 תמונות בבת אחת.
על הלוח להכול זוגות של תמונות זהות, אך לא יותר משתי תמונות זהות.
יש לסדר את כל הלוח בצורה רנדומלית בכל תחילת משחק.
בלינק הנ"ל גודל הלוח הוא 8 על 8. יש לאפשר למשתמש לבחור מבין מספר אפשרויות
של גדלי לוחות:
- 4 על 4
- 6 על 6
- 8 על 8
יש לאפשר למשתמש להתחיל משחק חדש אם הוא רוצה, כולל בחירת גודל לוח אחר.
אם המשתמש רוצה להתחיל משחק חדש באמצע משחק קיים או להחליף לוח באמצע משחק קיים (מה שחייב לגרום לסיום המשחק הנוכחי) יש לשאול אותו אם הוא בטוח שברצונו לסיים את המשחק הנוכחי ולהתחיל משחק חדש ורק אם הוא מאשר יש לבצע את הפעולה.
יש להציג את זמן הפעילות של המשתמש מהרגע בו משחק מתחיל. פורמט הזמן הינו: MM:SS, לדוגמה 03:07 מתאר שלוש דקות ושבע שניות שעברו מתחילת המשחק. בכל שנייה יש לעדכן את הזמן המוצג. בסיום משחק יש להפסיק את העלאת הזמן אך להמשיך להציג אותו כך שהמשתמש יראה כמה זמן לקח לו לשחק.
דגשים עבור הפיתוח:
יש לכתוב קוד נקי, מסודר ואסתטי.
יש לבצע חלוקה נכונה לפונקציות.
יש לתת שמות משמעותיים למשתנים, פונקציות, קבצים וכדומה.
אין לשכפל קוד.
יש לתעד את הקוד באנגלית.
על הפרויקט לרוץ ללא שגיאות וללא קריסות ולבצע את כלל האפיון הנ"ל.
הגשה:
קובץ zip אחד ויחיד מתיקיית הפרויקט.
בהצלחה