Comunidad de diseño web y desarrollo en internet online

Secuencia de luces con setTimeout?

Citar            
MensajeEscrito el 16 Jun 2014 01:44 am
Buenas noches!
Estoy intentando realizar un juego de esos que tienen 4 colores, se muestra una secuencia prendiendo luces y luego el usuario debe repetir esa secuencia.
Estoy teniendo como problema que me muestra dos o tres luces (según la secuencia randómica) pero no secuencialmente sino que encienden y apagan todas juntas, al mismo tiempo. Yo preciso que prenda una, se apague, se prenda la segunda, se apague, se prenda la tercera, se apague y así.

Creo que es un problema con el setTimeout, les paso mi código por si pueden ayudarme, estaría muy agradecida!!!

Código :

function jugar() { 
// Asigna los valores randómicos al array 
for(n=0;n<=multi;n++) { 
//multi es definida antes según el nivel de juego seleccionado 
niveles[niveles.length]= parseInt(Math.random()*4)+1 
if(niveles[n]==1){ 
window.setTimeout('mostrarRojo()',1000); } 
else if(niveles[n]==2){ 
window.setTimeout('mostrarAmarillo()',1000); } 
else if(niveles[n]==3){ 
window.setTimeout('mostrarAzul()',1000); } 
else{ window.setTimeout('mostrarVerde()',1000); } 
} 
}


Y por otro lado tengo el código con las correspondientes funciones:

Código :

function mostrarRojo(){ 
$("#c1").html('<img src="imagenes/rojo.png">'); 
window.setTimeout(apagoRojo,1000); }
function ocultarRojo(){ 
$("#c1").html('<img src="imagenes/rojoApagado.png">'); } 
function mostrarAmarillo(){ 
$("#c2").html('<img src="imagenes/amarillo.png">'); 
window.setTimeout(apagoAmarillo,1000); } 
function ocultarAmarillo(){ 
$("#c3").html('<img src="imagenes/amarilloApagado.png">'); } 
function mostrarAzul(){ 
$("#c3").html('<img src="imagenes/azul.png">'); 
window.setTimeout(apagoAzul,1000); } 
function ocultarAzul(){ 
$("#c3").html('<img src="imagenes/azulApagado.png">'); } 
function mostrarVerde(){
$("#c4").html('<img src="imagenes/verde.png">'); 
window.setTimeout(apagoVerde,1000); } 
function ocultarVerde() { 
$("#c4").html('<img src="imagenes/verdeApagado.png">'); }



Agradezco mucho si pueden orientarme!!!!!
Saludos :)

Por vaneuy

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Jun 2014 06:46 pm

Código Javascript :

window.setTimeout('mostrarAmarillo()',1000*(n+1));

algo así... debes jugar con el tiempo de inicio

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

chrome
Citar            
MensajeEscrito el 17 Jun 2014 05:32 pm
Toda se prenden y apagan porque tienen el mismo tiempo, como sugiere @nasho una solucion es crear una variable N que aumente,lo tuyo es parecido como el juego de Simon dice.
Un ejemplo:

Código :

function actualizar(){
 if (secuenciaSimon)
    {   
        if (game.time.now - tiempo >700-N*40)
        { 
 setTimeout(function()
            {        
                if ( cuenta< N)
                {               
                    secuencia();
             juegoPausado=false;
               }
                else
                {               
                    secuenciaSimon= false;.
                    juegoPausado=false;
                }       
            }, 400 - N * 20); 
}

Por ignell

11 de clabLevel



Genero:Masculino  

Juegos con Html5

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.