Soy el nuevo usuario en el Foro del Web. Os voy a comentar que he intentado hacer un 'if' para descifrar el mensaje y me obliga a poner las comas en 'prompt' (Por ejemplo, AA,EA,DB,AE). ¿Ayúdame a solucionar sin comas?
Y también, a la hora de descifrar el mensaje, si yo introduzco una sola letra 'I', el resultado me sale 'IJ' porque en la tabla de Polybios, hay una celda con dos letras juntas. Eso lo quiero saber para solucionar, ¿Ayúdame a solucionar?.
Código:
Por favor y Gracias<script type="text/javascript" > var menu = "Elija la opción deseada (1-3):\n\ 1. Cifrar el mensaje\n\ 2. Descifrar el mensaje\n\ 3. Salir"; var opcion = prompt(menu); var normal = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' ']; var cifrado = ['AA','AB','AC','AD','AE','BA','BB','BC','BD','BD','BE','CA','CB','CC','CD','CE','DA','DB','DC','DD','DE','EA','EB','EC','ED','EE',' ']; var resultado = []; if ( opcion == "1" ) { var texto = prompt("Introduce un mensaje para cifrarlo: ").split(""); for ( var i = 0; i < texto.length; i++ ) { for ( var j = 0; j < normal.length; j++ ) { if ( texto[i] == normal[j] ) {resultado.push(cifrado[j])}; } } alert("Este mensaje cifrado es <<" +resultado.join("")+ ">>."); location.reload(); } else if (opcion == "2") { var texto = prompt("Introduce el mensaje cifrado para descifrarlo (Por ejemplo, AA,EA,DB): ").split(","); for ( var i = 0; i < texto.length; i++ ) { for ( var j = 0; j < normal.length; j++ ) { if ( texto[i] == cifrado[j] ) {resultado.push(normal[j])}; } } alert("Este mensaje descifrado es <<" +resultado.join("")+ ">>."); location.reload(); } else if (opcion == "3") { alert("Saliendo del programa, ¡hasta luego!"); } else { alert("¡Error, debes introducir (1-3)!"); location.reload(); } </script>
Un saludo!