Attualmente al mio lavoro ci siamo trasferiti in un nuovo edificio. Dovrebbe essere all'avanguardia e ha luci automatiche, tapparelle automatiche ed è ora noto come l'edificio più ecologico in questa città.
Tuttavia, non funziona davvero così bene .. Le persiane a volte scendono a volte nelle giornate nuvolose e si alzano quando il sole inizia a brillare, e le luci a volte causano effetti da discoteca alternando l'accensione e lo spegnimento ogni 5-10 minuti. Inoltre, non abbiamo alcun modo manuale per controllare queste tapparelle, né la temperatura, MA abbiamo un telecomando per le luci.
Questi telecomandi tuttavia sono arrivati senza manuale di istruzioni e contengono poco più di 20 pulsanti che fanno tutto il genere di cose tranne quello che sembri volere.
PS: ho scritto questa sfida 1,5 mesi fa nella Sandbox. Attualmente, sappiamo un po 'come funzionano i telecomandi.
Un grande vantaggio di questo edificio, è di oltre 30 gradi Celcius all'esterno, ma all'interno mantiene sempre la stessa temperatura ambiente di 21 volte.
Quindi, questa è stata l'introduzione e il telecomando per le luci ha ispirato questa sfida.
Sfida:
Diciamo che inizialmente abbiamo una lampada spenta:
L
Quindi premiamo tutti i tipi di pulsanti e successivamente emettiamo lo stato della lampada.
Utilizziamo i seguenti numeri per le diverse funzioni del telecomando per la lampada. Quando un simbolo meno è davanti a quel numero, facciamo il contrario.
1= ON;-1= OFF.2= Aumenta la forza del 25%;-2= Riduzione della forza (debole) del 25%.3= Aumenta lo spread del 50%;-3= Riduzione dello spread del 50%.4= Commutazione del tipo di luce.
Quindi, tutto questo è piuttosto vago, quindi andiamo un po 'più in profondità cosa significa ogni cosa:
Quindi, -1(OFF) è abbastanza ovvio e 1passerà allo stato ON iniziale (50% per 2e 50% per 3):
//
//
L ====
\\
\\
2ed -2è la distanza percorsa dalla luce ( ==aggiunta ogni 25%):
0% (equal to a light bulb that is OFF)
L
25%
L ==
50%
L ====
75%
L ======
100%
L ========
3ed -3è quanto lontano la luce si diffonde:
0%:
L ====
50%:
//
//
L ====
\\
\\
100%:
|| //
||//
L ====
||\\
|| \\
(NOTA: quando 2e 3sono entrambi al 100%, avrai questo stato:
|| //
|| //
|| //
||//
L ========
||\\
|| \\
|| \\
|| \\
4 è attivare / disattivare il tipo di luce.
Default:
//
L ==
\\
After toggling (note the single space before '/' instead of two):
/
L --
\
Ingresso:
Riceverai un input contenente le possibili pressioni dei pulsanti. Per esempio:
12-34
Produzione:
Lo stato della spia luminosa dopo aver premuto tutti i pulsanti dell'ingresso sub-sequenziali. Quindi, con l'input di esempio sopra, abbiamo il seguente output:
L ------
Regole della sfida:
- L'input contiene solo
1234-(e mai-prima4). - Non puoi mai andare sotto lo 0% o sopra il 100%. Se un numero aumenta / diminuisce oltre questi limiti, è possibile ignorarlo.
- Quando la lampada è spenta, è possibile ignorare tutte le azioni e quando poi in posizione ON si resetta di nuovo alla ON-stato iniziale (50% per entrambi
2e3, e di default4). Ad esempio:12-1-341stamperà solo lo stato ON iniziale menzionato sopra. (SUGGERIMENTO: puoi ignorare tutto prima della finale1dell'input - escluso-1.) - Spazi di trascinamento pari alla lunghezza della luce o una singola nuova linea di trascinamento non sono inibiti. L'aggiunta di nuove righe non necessarie non è tuttavia.
- È consentito accettare l'input come un elenco di numeri interi anziché come singola stringa. Quindi, invece di
12-34, puoi avere[1,2,-3,4]come input.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti, programmi completi. La tua chiamata.
- Le scappatoie predefinite sono vietate.
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
Casi test:
12-34
L ------
12-1-341
//
//
L ====
\\
\\
14-3224333-2
|| //
|| //
||//
L ======
||\\
|| \\
|| \\
142-1-314-3-322
L --------
1324-2-3
/
/
L ----
\
\
134
| /
|/
L ----
|\
| \
1-2-2-214-3-3-3
L ----
4). Grazie per avermelo chiesto.
1premuta, i parametri sono resettati?
134?