You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/he/6-space-game/6-end-condition/assignment.md

11 KiB

בניית משחק לדוגמה

סקירת המשימה

עכשיו, כששלטתם בתנאי סיום המשחק ובפונקציונליות של התחלה מחדש במשחק החלל שלכם, הגיע הזמן ליישם את הרעיונות הללו בחוויית משחק חדשה לחלוטין. תעצבו ותבנו משחק משלכם שמדגים דפוסים שונים של תנאי סיום ומכניקות התחלה מחדש.

המשימה הזו מאתגרת אתכם לחשוב בצורה יצירתית על עיצוב משחק תוך כדי תרגול הכישורים הטכניים שלמדתם. תחקור תרחישי ניצחון והפסד שונים, תיישם התקדמות שחקן ותיצור חוויות התחלה מחדש מרתקות.

דרישות הפרויקט

תכונות ליבה של המשחק

המשחק שלכם חייב לכלול את האלמנטים החיוניים הבאים:

מגוון תנאי סיום: יישמו לפחות שתי דרכים שונות שבהן המשחק יכול להסתיים:

  • ניצחון מבוסס נקודות: השחקן מגיע לניקוד יעד או אוסף פריטים מסוימים
  • הפסד מבוסס חיים: השחקן מאבד את כל החיים או נקודות הבריאות הזמינות
  • השלמת משימה: כל האויבים מובסים, פריטים מסוימים נאספים או מטרות מושגות
  • מבוסס זמן: המשחק מסתיים לאחר משך זמן מוגדר או כשהספירה לאחור מגיעה לאפס

פונקציונליות התחלה מחדש:

  • ניקוי מצב המשחק: הסרת כל אובייקטי המשחק הקודמים ואיפוס משתנים
  • אתחול מערכות מחדש: התחלה חדשה עם נתוני שחקן, אויבים ומטרות חדשים
  • שליטה ידידותית למשתמש: מתן הוראות ברורות להתחלת המשחק מחדש

משוב לשחקן:

  • הודעות ניצחון: חגיגת הישגי השחקן עם משוב חיובי
  • הודעות הפסד: מתן הודעות מעודדות שמניעות לנסות שוב
  • מדדי התקדמות: הצגת הניקוד הנוכחי, החיים או מצב המטרות

רעיונות למשחק והשראה

בחרו אחד מהרעיונות הבאים או צרו רעיון משלכם:

1. משחק הרפתקאות בקונסולה

צרו משחק הרפתקאות מבוסס טקסט עם מכניקות קרב:

Hero> Strikes with broadsword - orc takes 3p damage
Orc> Hits with club - hero takes 2p damage  
Hero> Kicks - orc takes 1p damage
Game> Orc is defeated - Hero collects 2 coins
Game> ****No more monsters, you have conquered the evil fortress****

תכונות מרכזיות ליישום:

  • קרב מבוסס תורות עם אפשרויות תקיפה שונות
  • נקודות בריאות לשחקן ולאויבים
  • מערכת מלאי לאיסוף מטבעות או פריטים
  • סוגי אויבים מרובים עם רמות קושי משתנות
  • תנאי ניצחון כאשר כל האויבים מובסים

2. משחק איסוף

  • מטרה: איסוף פריטים מסוימים תוך הימנעות ממכשולים
  • תנאי סיום: הגעה למספר פריטים יעד או איבוד כל החיים
  • התקדמות: הפריטים הופכים לקשים יותר להשגה ככל שהמשחק מתקדם

3. משחק פאזלים

  • מטרה: פתרון פאזלים ברמות קושי הולכות וגוברות
  • תנאי סיום: השלמת כל הרמות או סיום מהלכים/זמן
  • התחלה מחדש: איפוס לרמה הראשונה עם ניקוי ההתקדמות

4. משחק הגנה

  • מטרה: הגנה על הבסיס מפני גלים של אויבים
  • תנאי סיום: הישרדות כל הגלים (ניצחון) או הרס הבסיס (הפסד)
  • התקדמות: גלי האויבים הופכים לקשים יותר וגדולים יותר

הנחיות ליישום

איך להתחיל

  1. תכננו את עיצוב המשחק שלכם:

    • שרטטו את לולאת המשחק הבסיסית
    • הגדירו בבירור את תנאי הסיום שלכם
    • זיהוי אילו נתונים יש לאפס בהתחלה מחדש
  2. הגדירו את מבנה הפרויקט שלכם:

    my-game/
    ├── index.html
    ├── style.css
    ├── game.js
    └── README.md
    
  3. צרו את לולאת המשחק המרכזית שלכם:

    • אתחול מצב המשחק
    • טיפול בקלט משתמש
    • עדכון לוגיקת המשחק
    • בדיקת תנאי סיום
    • הצגת המצב הנוכחי

דרישות טכניות

השתמשו ב-JavaScript מודרני:

  • השתמשו ב-const ו-let להצהרת משתנים
  • השתמשו בפונקציות חץ במידת הצורך
  • יישמו תכונות ES6+ כמו תבניות טקסט ופירוק משתנים

ארכיטקטורה מבוססת אירועים:

  • צרו מטפלי אירועים לאינטראקציות משתמש
  • יישמו שינויים במצב המשחק דרך אירועים
  • השתמשו במאזיני אירועים לפונקציונליות התחלה מחדש

שיטות קוד נקיות:

  • כתבו פונקציות עם אחריות יחידה
  • השתמשו בשמות משתנים ופונקציות תיאוריים
  • הוסיפו הערות שמסבירות את לוגיקת המשחק והחוקים
  • ארגנו את הקוד למקטעים לוגיים

דרישות הגשה

תוצרים

  1. קבצי משחק מלאים: כל קבצי HTML, CSS ו-JavaScript הדרושים להפעלת המשחק שלכם
  2. README.md: תיעוד שמסביר:
    • איך לשחק במשחק שלכם
    • אילו תנאי סיום יישמתם
    • הוראות להתחלה מחדש
    • כל תכונה או מכניקה מיוחדת
  3. הערות בקוד: הסברים ברורים על לוגיקת המשחק והאלגוריתמים

רשימת בדיקות

לפני ההגשה, ודאו שהמשחק שלכם:

  • פועל ללא שגיאות בקונסול הדפדפן
  • מיישם תנאי סיום מרובים כפי שצוין
  • מתחיל מחדש כראוי עם איפוס מצב נקי
  • מספק משוב ברור לשחקנים על מצב המשחק
  • משתמש בסינטקס ובשיטות עבודה מודרניות של JavaScript
  • כולל תיעוד מקיף ב-README.md

קריטריונים להערכה

קריטריון מצטיין (4) טוב (3) מתפתח (2) מתחיל (1)
פונקציונליות המשחק משחק מלא עם תנאי סיום מרובים, התחלה מחדש חלקה וחוויית משחק מלוטשת משחק מלא עם תנאי סיום בסיסיים ומנגנון התחלה מחדש פונקציונלי משחק חלקי עם כמה תנאי סיום מיושמים, ייתכן שיש בעיות בהתחלה מחדש משחק לא שלם עם פונקציונליות מוגבלת ובאגים משמעותיים
איכות הקוד קוד נקי, מאורגן היטב, משתמש בשיטות JavaScript מודרניות, הערות מקיפות ומבנה מצוין ארגון קוד טוב עם סינטקס מודרני, הערות מספקות ומבנה ברור ארגון קוד בסיסי עם כמה שיטות מודרניות, הערות מינימליות ארגון קוד גרוע, סינטקס מיושן, חסר הערות ומבנה
חוויית משתמש משחק אינטואיטיבי עם הוראות ברורות, משוב מצוין וחוויית סיום/התחלה מחדש מרתקת משחק טוב עם הוראות ומשוב מספקים, סיום/התחלה מחדש פונקציונליים משחק בסיסי עם הוראות מינימליות, משוב מוגבל על מצב המשחק משחק מבלבל עם הוראות לא ברורות ומשוב משתמש לקוי
יישום טכני מפגין שליטה במושגי פיתוח משחקים, טיפול באירועים וניהול מצב מראה הבנה טובה של מושגי משחק עם יישום טוב הבנה בסיסית עם יישום מקובל הבנה מוגבלת עם יישום לקוי
תיעוד README מקיף עם הוראות ברורות, קוד מתועד היטב ועדויות בדיקה יסודיות תיעוד טוב עם הוראות ברורות והערות קוד מספקות תיעוד בסיסי עם הוראות מינימליות תיעוד לקוי או חסר

סולם ציונים

  • מצטיין (16-20 נקודות): עולה על הציפיות עם תכונות יצירתיות ויישום מלוטש
  • טוב (12-15 נקודות): עומד בכל הדרישות עם ביצוע מוצק
  • מתפתח (8-11 נקודות): עומד ברוב הדרישות עם בעיות קלות
  • מתחיל (4-7 נקודות): עומד בחלק מהדרישות אך דורש שיפור משמעותי

משאבי למידה נוספים

💡 טיפ מקצועי: התחילו פשוט והוסיפו תכונות בהדרגה. משחק פשוט ומלוטש עדיף על משחק מורכב עם באגים!


כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס AI Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי אנושי. איננו אחראים לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.