Grâce au récent défi de MD XF , nous pouvons désormais lire les mots de passe dans de nombreuses langues différentes! Le problème est que nous devons maintenant porter nos applications sur des appareils mobiles, et ils saisissent un mot de passe un peu différemment.
Défi
- Lisez une chaîne du clavier.
- Chaque fois qu'un caractère
kest entré, affichez-le pendant un court intervalle de temps. - Une fois l'intervalle de temps écoulé OU l'utilisateur a entré un autre caractère, remplacez-le
kpar un caractèrec.
Règles
cdoit être constant; ce doit être le même personnage.cpeut être n'importe quel caractère visible (c'est-à-dire qu'il ne peut pas s'agir d'une nouvelle ligne, d'un espace, d'une tabulation ou non imprimable).cne peut pas être basé sur une entréek;cdoit être défini / constant avant la premièreklecture.cdoit être le même à chaque exécution du programme.cpeut être l'une des valeurs données commekpar accident, tant que toutes les autres règles sont respectées.- Vous devez imprimer
ken temps réel. Dès que l'utilisateur saisit un nouveauk, vous devez l'afficher immédiatement. kdoit être visible par l'utilisateur final avant d'être remplacé parc; l'intervalle de temps ne doit pas être inférieur à 0,5 seconde.kdevrait être remplacé parcdans un délai raisonnable; l'intervalle de temps ne doit pas dépasser 5 secondes.- Dès qu'un nouveau caractère est entré, que l'intervalle de temps soit expiré ou non, vous devez remplacer
kparcet utiliser la clé entrée comme nouveaukimmédiatement. - Il est acceptable d'effacer et de redessiner l'écran chaque fois que vous devez changer un personnage.
- Vous pouvez utiliser toutes les méthodes d'entrée et de sortie raisonnables tant que toutes les autres règles sont respectées.
- Vous pouvez supposer que le nombre de caractères saisis n'est jamais supérieur à la largeur du terminal / de la fenêtre graphique.
- Si vous utilisez un terminal, votre programme doit se terminer après la saisie d'une nouvelle ligne ou lorsque l'EOF est atteint.
- Votre programme devrait fonctionner comme indiqué ici sur les environnements mobiles et autres.
- Votre programme peut supposer que l'entrée ne contiendra que des caractères imprimables (lettres, chiffres, symboles) et éventuellement une nouvelle ligne de fin (pas de retour arrière, de touches fléchées, de suppression, etc.).
- Votre programme peut se terminer lorsque vous appuyez sur Ctrl + C.
- Vous pouvez terminer votre programme en fermant une fenêtre, si votre programme en lance une.
Notation
C'est le code-golf , donc la réponse la plus courte dans chaque langue gagne!
Exemple
Voici un exemple de ce à quoi cela devrait ressembler. Notez que cela est enregistré sur une plate-forme mobile, mais devrait également fonctionner sur une plate-forme de bureau.
