Grazie alla recente sfida di MD XF , ora possiamo leggere le password in molte lingue diverse! Il problema è che ora dobbiamo trasferire le nostre applicazioni su dispositivi mobili e l'immissione della password è leggermente diversa.
Sfida
- Leggi una stringa dalla tastiera.
- Ogni volta che
kviene inserito un carattere , visualizzalo per un breve intervallo di tempo. - Dopo che è trascorso l'intervallo di tempo OPPURE l'utente ha inserito un altro carattere, sostituirlo
kcon un altro caratterec.
Regole
cdeve essere costante; deve essere lo stesso personaggio.cpuò essere qualsiasi carattere visibile (ovvero non può essere una nuova riga, spazio, tabulazione o non stampabile).cnon può essere basato su nessuna immissionek;cdeve essere definito / costante prima dikleggere il primo .cdeve essere lo stesso ogni volta che si esegue il programma.cpuò essere uno dei valori indicati comekper caso, purché vengano seguite tutte le altre regole.- Devi stampare
kin tempo reale. Non appena l'utente immette un nuovok, è necessario visualizzarlo immediatamente. kdovrebbe essere visibile all'utente finale prima di essere modificato inc; l'intervallo di tempo non deve essere inferiore a 0,5 secondi.kdovrebbe essere sostituitocentro un termine ragionevole; l'intervallo di tempo non deve superare i 5 secondi.- Non appena viene inserito un nuovo carattere, indipendentemente dal fatto che l'intervallo di tempo sia scaduto, è necessario sostituirlo
kconce utilizzarekimmediatamente la chiave inserita come nuovo . - È accettabile cancellare e ridisegnare lo schermo ogni volta che è necessario modificare un personaggio.
- È possibile utilizzare qualsiasi metodo ragionevole di input e output purché vengano seguite tutte le altre regole.
- Si può presumere che il numero di caratteri immessi non sia mai più lungo della larghezza della finestra terminale / grafica.
- Se si utilizza un terminale, il programma dovrebbe terminare dopo aver inserito una nuova riga o aver raggiunto EOF.
- Il tuo programma dovrebbe funzionare come indicato qui su entrambi gli ambienti mobili e altri.
- Il tuo programma potrebbe presumere che l'input conterrà solo caratteri stampabili (lettere, numeri, simboli) e possibilmente una nuova riga che termina (senza backspace, tasti freccia, cancella, ecc.).
- Il programma può terminare quando si preme Ctrl + C.
- È possibile terminare il programma chiudendo una finestra, se il programma ne avvia uno.
punteggio
Questo è code-golf , quindi vince la risposta più breve in ogni lingua!
Esempio
Ecco un esempio di come dovrebbe apparire. Nota che questo è registrato su una piattaforma mobile, ma dovrebbe funzionare anche su una piattaforma desktop.
