Menu
CoddyTech

חדר בריחה

חלק מהיחידה פיזיקה ומשחקיות במסלול ה-Unity של Coddy. שיעור 63 מתוך 63.

חדר בריחה עם מנעול קוד. שלוש לוחיות לחץ אפורות מונחות על הרצפה, והדלת בקיר הצפוני נפתחת רק כשהשחקן דורך עליהן בסדר הנכון: לוחית 1, לוחית 2, לוחית 3. שום דבר בחדר לא מציין איזו לוחית היא איזו. דריכה על לוחית שגויה מתחילה את הקוד מחדש, וכל הלוחיות מהבהבות באדום למשך שנייה. הדלת שנפתחה נשארת פתוחה לכמה שניות ואז נסגרת שוב, אבל אף פעם לא על השחקן: כשהשחקן עומד בפתח, הדלת ממתינה.

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

challenge icon

אתגר

קשה

Plate, על כל לוח (טריגר). ב-Inspector נותנים לו number (1, 2 או 3) ו-codeLock (סקריפט ה-CodeLock של המנעול).

  • כשהשחקן (עם התג Player) דורך על הלוח, קוראים ל-codeLock.Press(number). כל דבר אחר שנוחת עליו לא עושה כלום.

CodeLock, על המנעול. ב-Inspector נותנים לו plates (ה-Renderers של שלושת הלוחות, לפי הסדר), door (הדלת), doorway (נקודה באמצע הפתח) ו-openTime (4).

  • מתודה ציבורית Press(int number). כאשר number הוא הלוח שהקוד מצפה לו כעת (1, אחר כך 2 ואז 3), רושמים אותו ביומן, למשל Plate 2. אם זה היה לוח 3, רושמים גם Unlocked, מתחילים את הקוד מחדש מלוח 1 ומתחילים קורוטינה שפותחת את הדלת.
  • כל לוח אחר גורם לרישום Wrong plate, מתחיל את הקוד מחדש מלוח 1 ומתחיל קורוטינה שהופכת כל לוח לאדום (Color.red) למשך שנייה אחת, ואז מחזירה אותו לאפור (Color.gray).
  • קורוטינת הדלת משביתה את הדלת וממתינה openTime שניות. לאחר מכן היא ממשיכה להמתין, פריים אחד בכל פעם, כל עוד משהו בשכבת Player נמצא במרחק של יחידה אחת מ-doorway. לבסוף היא מפעילה שוב את הדלת ורושמת Door closed.

לחצו על Play, מצאו את הסדר וצאו, ואז לחצו על Check.

נסו בעצמכם

using System.Collections;
using UnityEngine;

public class CodeLock : MonoBehaviour
{
    [SerializeField] private Renderer[] plates;
    [SerializeField] private GameObject door;
    [SerializeField] private Transform doorway;
    [SerializeField] private float openTime = 4f;

    public void Press(int number)
    {
        // בדוק את הקוד; הבהב את הלוחיות אם הוזן קוד שגוי; פתח את הדלת אחרי לוחית 3
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה פיזיקה ומשחקיות