Menu
CoddyTech

La stanza della fuga

Fa parte della sezione Fisica e gameplay del percorso Unity di Coddy. Lezione 70 di 71.

Una stanza di fuga con una serratura a codice. Sul pavimento ci sono tre piastre a pressione grigie, e la porta nella parete nord si apre solo quando il giocatore ci sale sopra nell’ordine giusto: piastra 1, piastra 2, piastra 3. Nella stanza non c’è nulla che indichi quale piastra sia quale. Una piastra sbagliata fa ricominciare il codice da capo e fa lampeggiare in rosso tutte le piastre per un secondo. La porta aperta resta tale per alcuni secondi, poi si richiude, ma mai addosso al giocatore: finché il giocatore resta sulla soglia, la porta aspetta.

Lo script Player è pronto: le frecce fanno camminare il giocatore, contrassegnato con il tag Player e sul layer Player. Scrivi due script: Plate su ogni piastra e CodeLock sulla serratura.

challenge icon

Sfida

Difficile

Collega le piastre e il codice: 1, 2, 3.

  1. In Plate, quando entra Player, chiama codeLock.Press(number);.
  2. In Press, con int next = 1: una corrispondenza registra "Plate " + number e aggiunge 1; dopo 3, registra Unlocked e reimposta next.
  3. Altrimenti, registra Wrong plate, reimposta next ed esegui una coroutine: piastre Color.red, 1 secondo, poi Color.gray.

Premi «Gioca» e trova l’ordine. Poi premi «Verifica».

Provalo tu

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)
    {
        // controlla il codice; fai lampeggiare le piastre se il codice è errato; apri la porta dopo la piastra 3
    }
}

Tutte le lezioni di Fisica e gameplay

Esercitati da solo: Playground Unity