Comunidad de diseño web y desarrollo en internet online

¿Que funcion cumplen estos return?

Citar            
MensajeEscrito el 13 Oct 2006 04:34 am
//ESTO ES UN JUEGO DE SIMON QUE ENCONTRE POR INTERNET
// ALGUIEN ME PUEDE EXPLICAR LOS 2 RETURN QUE HAY EN EL CODIGO, NO ACABO DE
// ENTENDER QUE FUNCION CUMPLEN. SE QUE EL RETURN AL ESTAR SOLO DEVUELVE
// UNDEFINED, PERO EN QUE SITIO SE RECOGE ESTE VALOR O QUE HACE EXACTAMENTE AQUI?

Código :

var ID;
var cantidadAlfa = 50;
var contador = 0;
var primeraPieza;
var pulsaciones = 0;
arrayPiezas = new Array();
arrayMovimientos = new Array();
//Crea un nuevo objeto Sound para un clip de película especificado
var sonido0 = new Sound(this);
sonido0.attachSound("1.wav");
var sonido1 = new Sound(this);
sonido1.attachSound("2.wav");
var sonido2 = new Sound(this);
sonido2.attachSound("3.wav");
var sonido3 = new Sound(this);
sonido3.attachSound("4.wav");
//Añadir los clips al array arrayPiezas
for (var i = 1; i<5; i++) {
   arrayPiezas.push(this["P"+i]);
   this["P"+i].valor = i-1;
}
textoNivel_txt.text = 0;
//Forma de actuar de los botones
function eventosPiezas() {
   for (var i = 0; i<arrayPiezas.length; i++) {
      //Al presionar baja el alfa
      arrayPiezas[i].onPress = function() {
         this._alpha = cantidadAlfa;
      };
      //En rollOut recupera alfa
      arrayPiezas[i].onRollOut = function() {
         this._alpha = 100;
      };
      arrayPiezas[i].onRelease = function() {
         trace("pulsacionesA="+pulsaciones);
         trace("valor="+this.valor);
         //Recupera alfa
         this._alpha = 100;
         //Play sonido
         _root["sonido"+this.valor].start(0);
         if (arrayMovimientos[pulsaciones] != this.valor) {
            fallo();
            return;
         }
         //Añadir 1 a la variable pulsaciones                               
         pulsaciones++;
         trace("pulsacionesB="+pulsaciones);
         if (pulsaciones == arrayMovimientos.length) {
            textoNivel_txt.text = pulsaciones;
            siguienteNivel();
         }
      };
   }
}
function fallo() {
   textoPrincipal_txt.text = "Game Over";
   desactivarPiezas();
   //Set start button transparency back to 100%
   empezar_btn._alpha = 100;
   //Delete array of moves
   arrayMovimientos = new Array();
   //Recreate the start button
   empezar_btn.onRelease = function() {
      empezarJuego();
   };
}
function desactivarPiezas() {
   for (var i = 0; i<arrayPiezas.length; i++) {
      delete arrayPiezas[i].onPress;
      delete arrayPiezas[i].onRollOut;
      delete arrayPiezas[i].onRelease;
   }
}
function encenderLuz(numero) {
   clearInterval(ID);
   contador--;
   //Si no hay mas piezas para iluminar esperar por la secuencia del usuario
   if (contador == 0) {
      turnoJugador();
      return;
   }
   if (contador == 1) {
      //Si la ultima pieza ha sido iluminada elegir nuevo numero aleatorio
      numero = Math.floor(Math.random()*4);
   } else {
      //Elegir la siguiente pieza a iluminar
      numero = arrayMovimientos[arrayMovimientos.length+1-contador];
   }
   //Iluminar la pieza
   iluminar(numero);
}
function turnoJugador() {
   pulsaciones = 0;
   //Lets user interact with pieces
   eventosPiezas();
}
function iluminar(numero) {
   //disminucionAlfas the numero piece
   bajarAlfa(numero);
   //Light up the piece for half of a second
   ID = setInterval(pausa, 500, numero);
}
function pausa(numero) {
   clearInterval(ID);
   unDim(numero);
   ID = setInterval(encenderLuz, 50, numero);
}
function bajarAlfa(numero) {
   if (contador == 1) {
      arrayMovimientos.push(numero);
      trace(newline);
      trace("arrayMovimientos="+arrayMovimientos);
   }
   //Plays the sound when iluminaring a piece up                        
   _root["sonido"+numero].start(0);
   arrayPiezas[numero]._alpha = 50;
}
function unDim(numero) {
   arrayPiezas[numero]._alpha = 100;
}
function empezarJuego() {
   //Picks first piece
   primeraPieza = Math.floor(Math.random()*4);
   textoPrincipal_txt.text = "";
   for (var i = 0; i<arrayPiezas.length; i++) {
      //Sets all the pieces to 100% transparency
      arrayPiezas[i]._alpha = 100;
   }
   //Sets the start button to invisible
   empezar_btn._alpha = 0;
   //Deletes the start button onRelease function
   delete empezar_btn.onRelease;
   eventosPiezas();
   contador = 1;
   //Lights first piece
   iluminar(primeraPieza);
}
function siguienteNivel() {
   //Disables interacting with pieces
   desactivarPiezas();
   for (var i = 0; i<arrayPiezas.length; i++) {
      //Sets all pieces to 100% transparency
      arrayPiezas[i]._alpha = 100;
   }
   contador = arrayMovimientos.length+1;
   var reloj = getTimer();
   this.onEnterFrame = function() {
      //Wait 1 second before starting sequence display after input
      if (reloj<getTimer()-1000) {
         delete this.onEnterFrame;
         iluminar(primeraPieza);
      }
   };
}
empezar_btn.onRelease = function() {
   empezarJuego();
};

Por oxk4r

56 de clabLevel



 

Orense·España

firefox
Citar            
MensajeEscrito el 13 Oct 2006 05:45 am
Rompen la ejecucion de la funcion, mala práctica de programación pero es válido.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 27 Ene 2007 05:45 pm
Solo tres..

Por skelgon

10 de clabLevel



Genero:Masculino  

South America

msie

 

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