Foros del Web » Programando para Internet » Javascript »

Variable no cambia

Estas en el tema de Variable no cambia en el foro de Javascript en Foros del Web. Nuevo problema, nueva duda. Veamos, tengo creado el juego de MEMO PAREJAS (el de buscar y encontrar 2 cartas iguales) "Creado en Equipos en Clase" ...
  #1 (permalink)  
Antiguo 13/05/2015, 10:27
 
Fecha de Ingreso: mayo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Pregunta Variable no cambia

Nuevo problema, nueva duda.

Veamos, tengo creado el juego de MEMO PAREJAS (el de buscar y encontrar 2 cartas iguales) "Creado en Equipos en Clase" Esta es una parte de código miá que no comprendo porque no va. El juego funciona perfectamente pero para ello hay un While que hace el barrido de imágenes y en función a lo que diga una variable (cantidad) se decide el tamaño del tablero. Para entenderlo:
Lo que hace esta variable es coger unicamente la cantidad necesaria de imágenes para hacer la mezcla de imágenes y que no rellene celdas que no están en pantalla, que si el tablero es de 6 casillas pues variable es 6 y asi luego el while solo coge 3 imágenes y las repite 2 veces cada una y las otras celdas quedan en blanco y sin rellenar.

La cosa esta aquí.

Código:
 
var cantidad = 0;


$("input[value='super_hard']").click(function(){
           $("#r4, #r3, ... , #22, #23").show("slow"); 
		cantidad = 24; 
 });

while (cantidad--){ 
		aleatorio = Math.floor(Math.random()* (cantidad+1)); 
		$("#" + cantidad).css("background-image", "url("+imagenes[aleatorio]+")"); // <-- Aqui CANTIDAD Es 0
		posicion.unshift(imagenes[aleatorio]); 
		imagenes.splice(aleatorio, 1); 
}
Al hacer click en el radio, aqui por ejemplo le digo que es 24. si le pongo un Alert que me muestre cantidad evidentemente me dice que es 24. sin embargo, luego mas abajo de esto tengo puesto la variable (cantidad) que ahora al ser 24 me debería generar un tablero de 24 casillas con las imágenes del array completamente mezcladas sin embargo NO LO HACE, la variable (cantidad) es igual a 0, el primer valor de la variable.

Entonces la pregunta es, ¿Porque si le digo que (cantidad = X numero) no me lo coge?. Hay otras variables que están igual que esta y funcionan. No lo entiendo :(. Ni siquiera mi profesor ha sabido porque no cogía el valor cuando otras variables que están fuera cogen un valor que se le indica dentro de una función.

Gracias de antemano.


EDIT: El Return no funciona, ya que el While solo se ejecuta si cantidad == al numero para que asi While se ejecute y haga el barrido, sino lo hace con cantidad = 0 y no añade ni una imagen en la tabla :(.

Última edición por mmiiqquueell; 13/05/2015 a las 10:59
  #2 (permalink)  
Antiguo 13/05/2015, 13:57
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 3 meses
Puntos: 578
Respuesta: Variable no cambia

Ten en cuenta que la variable cambia su valor al hacer click en el input, entonces llegará al bucle con el mismo valor. Intenta declararla desde fuera.
  #3 (permalink)  
Antiguo 13/05/2015, 14:33
 
Fecha de Ingreso: mayo-2015
Mensajes: 15
Antigüedad: 9 años, 7 meses
Puntos: 0
Respuesta: Variable no cambia

Ya lo he solucionado, metiendolo en una funcion. Ahora el problema es que el While tiene un (unShift) que me borra las imagenes del Array en el orden que las va eliminado. .... ya esta. Lo he arreglado de forma chapucera, diciéndole al array que vuelva a listar las imágenes. No es correcto porque estoy copiando el array de imagenes de nuevo pero en caso de que quisiera volver a recuperar el array original que debería hacer? (sin tener que volver a poner var imagenes = ["imagenURL", etc...] )

Última edición por mmiiqquueell; 13/05/2015 a las 16:09

Etiquetas: coger, function, valor, variable
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:50.