Menu
CoddyTech

Escape Room

Teil des Abschnitts Physik und Gameplay der Unity-Journey von Coddy. Lektion 70 von 71.

Ein Escape Room mit einem Zahlenschloss. Drei graue Druckplatten liegen auf dem Boden, und die Tür in der Nordwand öffnet sich nur, wenn der Spieler in der richtigen Reihenfolge auf sie tritt: Platte 1, Platte 2, Platte 3. Nichts im Raum verrät, welche Platte welche ist. Eine falsche Platte setzt den Code zurück und lässt jede Platte eine Sekunde lang rot aufblinken. Die offene Tür bleibt einige Sekunden lang offen und schließt sich dann wieder, aber niemals, während der Spieler in der Türöffnung steht: Solange der Spieler dort steht, wartet sie.

Das Skript Player ist fertig: Mit den Pfeiltasten bewegt sich der Spieler, der mit Player gekennzeichnet ist und sich auf dem Player-Layer befindet. Schreibe zwei Skripte: Plate für jede Platte und CodeLock für das Schloss.

challenge icon

Aufgabe

Schwer

Verbinde die Platten und den Code: 1, 2, 3.

  1. Rufe in Plate, wenn der Player eintritt, codeLock.Press(number); auf.
  2. Bei Press mit int next = 1: Bei einer Übereinstimmung wird "Plate " + number protokolliert und 1 addiert; nach 3 protokolliere Unlocked und setze next zurück.
  3. Andernfalls protokolliere Wrong plate, setze next zurück und starte eine Coroutine: Platten auf Color.red, 1 Sekunde warten, dann Color.gray.

Klicke auf „Spielen“ und finde die Reihenfolge heraus. Klicke dann auf „Prüfen“.

Probier es selbst

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)
    {
        // Code prüfen; bei einer falschen Eingabe die plates aufblinken lassen; nach plate 3 die Tür öffnen
    }
}

Alle Lektionen in Physik und Gameplay

Übe selbstständig: Unity-Playground