Menu
CoddyTech

Kaçış Odası

Coddy'nin Unity Journey'sinin Fizik ve Oynanış bölümünün bir parçası. Ders 70 / 71.

Kod kilitli bir kaçış odası. Yerde üç gri basınç plakası var ve kuzey duvarındaki kapı yalnızca oyuncu üzerlerine doğru sırayla bastığında açılıyor: 1. plaka, 2. plaka, 3. plaka. Odada hangi plakanın hangisi olduğunu belirten hiçbir şey yok. Yanlış plakaya basılması kodu baştan başlatır ve tüm plakalar bir saniyeliğine kırmızı renkte yanıp söner. Açılan kapı birkaç saniye açık kalır, sonra tekrar kapanır; ancak oyuncunun üzerine asla kapanmaz: oyuncu kapı aralığında dururken kapı bekler.

Player betiği hazır: ok tuşları, Player etiketi verilmiş ve Player katmanında bulunan oyuncuyu hareket ettiriyor. İki betik yaz: her plakaya Plate ve Lock üzerine CodeLock.

challenge icon

Görev

Zor

Plakaları ve kodu şu sırayla bağla: 1, 2, 3.

  1. Plate içinde, Player içeri girdiğinde codeLock.Press(number); çağır.
  2. Press içinde, int next = 1 ile: eşleşme olursa "Plate " + number günlüğe yazılır ve 1 eklenir; 3'ten sonra Unlocked günlüğe yazılır ve next sıfırlanır.
  3. Aksi hâlde Wrong plate günlüğe yazılır, next sıfırlanır ve bir coroutine çalıştırılır: plakalar Color.red olur, 1 saniye beklenir, ardından Color.gray olur.

“Oyna” düğmesine bas ve sıralamayı bul. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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)
    {
        // kodu kontrol et; yanlış bir girişte plates öğelerini yanıp söndür; plate 3'ten sonra kapıyı aç
    }
}

Fizik ve Oynanış bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground