Foros del Web » Programando para Internet » Javascript »

ayudadme , me falta un ultimo retoque ami aplicacion javascript..

Estas en el tema de ayudadme , me falta un ultimo retoque ami aplicacion javascript.. en el foro de Javascript en Foros del Web. el problema esta en la funcion comprobar ......el numero de acierto siempre me sale 0....y el contador no sube (acierto++)estoy comparando dos arrays su posicion ...
  #1 (permalink)  
Antiguo 05/12/2010, 12:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
ayudadme , me falta un ultimo retoque ami aplicacion javascript..

el problema esta en la funcion comprobar ......el numero de acierto siempre me sale 0....y el contador no sube (acierto++)estoy comparando dos arrays su posicion y valor: aqui pongo la funcion: podeis probar el programa....introduciendo todos los numeros correctamente separado con coma....me sale 0 aciertos siempre...

instruccion para jugar: solo teneis que copiar el codigo en .html...

1-le dais a boton jugar....os sale 10 numeros aleatorios del 1 al 100.
2-a los 5 segundos desaprecen dichos numeros y te sale un mensaje para introducir los numeros anteriormente que viste en el orden correcto.
3-una vez introducidos los numeros le dais a aceptar .
4- y finalmente le dais al boton comprobar resultado (donde deberia aparecer vuestros numeros de aciertos )

function comprobar(){
var acierto=0;
for (i=0;i<arai1.lenght;i++)
{
for (j=0;j<arai2.length;j++)
{
if(arai1[i].join()==arai2[j].join())
acierto++;
}
}
alert('tienes '+acierto+' aciertos' );
insertar();
}





Código:
<html>
<head>
<title>holaaaa</title>
</head>

 
<script type="text/javascript">

var arai1 = [], arai2 = []; // [] equivale a new Array()

function genNumero(){
  var i, impi=document.getElementById("ale");
  for(i = 0; i < 10; i++) {
   arai1[i] = Math.round (Math.random()*100); 
  }
  
impi.innerHTML=arai1.join(); 
}
  /* 
     join() sirve para mostrar los valores 
     que tiene guardados un array
     puedes poner un separador especial,
     por ejemplo 'Hola-mundo', que sería join('-')
     si no pones nada saldrá una coma
  */

function guardar(str){
 var nums = str.split(',');
 for(i=0;act=nums[i];i++){
  arai2[i] = act;
 }
 return arai2;
}
function borrar() {
 setTimeout('document.getElementById("ale").innerHTML=""; insertar();', 5000);
}
function insertar(){
 guardar(prompt("Introduce el orden correcto separando los números con comas:", ''));
}
function comprobar(){
var acierto=0;
for (i=0;i<arai1.lenght;i++)
{
for (j=0;j<arai2.length;j++) 
{
if(arai1[i].join()==arai2[j].join())
acierto++;
}
}
  alert('tienes '+acierto+' aciertos' );
  insertar();
}


function refresh()      //refresca la pagina
{
  
    window.location.reload( false );
}




</script>

<body>

<p id="ale">     </p>

<form>



<br><br>
  <input type="button" value="Jugar"
         onclick="genNumero();  borrar()";>

<input type="button" value="Comprobar resultado"
         onclick="comprobar();";>
</form>



</body>

</html>

Última edición por sapu01; 05/12/2010 a las 12:57
  #2 (permalink)  
Antiguo 06/12/2010, 08:37
 
Fecha de Ingreso: diciembre-2010
Mensajes: 15
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: ayudadme , me falta un ultimo retoque ami aplicacion javascript..

nadie me puede ayudar como comparar 2 arai de tamaño indeterminado, su posicion y valor?????? o decirme por lo menos si esta bien la estructura?
  #3 (permalink)  
Antiguo 06/12/2010, 09:27
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 7 meses
Puntos: 9
Respuesta: ayudadme , me falta un ultimo retoque ami aplicacion javascript..

Hola.

Tienes un error de tipeo en el for de comprobar:

for (i=0;i<arai1.lenght;i++){

deberia decir length

un consejo :

cuando no tengas el resultado que deseas en una funcion, incluye un alert dentro de los bucles para ver que esta procesando.

Saludos
  #4 (permalink)  
Antiguo 06/12/2010, 09:39
 
Fecha de Ingreso: septiembre-2004
Ubicación: La Plata Argentina
Mensajes: 128
Antigüedad: 19 años, 7 meses
Puntos: 9
Respuesta: ayudadme , me falta un ultimo retoque ami aplicacion javascript..

y en la comprobacion no deberias usar el join() , deberias hacer :

if(arai1[i]==arai2[j]) acierto++;

saludos

Etiquetas: falta, retoque, ultimo, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:24.