Menu
CoddyTech

חדר בריחה

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

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

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

challenge icon

אתגר

קשה

חברו את הלוחות ואת הקוד: 1, 2, 3.

  1. ב־Plate, כאשר Player נכנס, קראו ל־codeLock.Press(number);.
  2. ב־Press, עם int next = 1: התאמה מתעדת את "Plate " + number ומוסיפה 1; אחרי 3, תעדו Unlocked ואפסו את next.
  3. אחרת, תעדו Wrong plate, אפסו את next והפעילו קורוטינה: הלוחות יהיו בצבע Color.red, למשך שנייה אחת, ואז בצבע Color.gray.

לחצו על "שחק" וגלו את הסדר. לאחר מכן לחצו על "בדיקה".

נסו בעצמכם

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
    }
}

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

תרגלו בעצמכם: Unity אונליין