Comunidad de diseño web y desarrollo en internet online

problema con juego de preguntas y respuestas

Citar            
MensajeEscrito el 26 Abr 2013 01:07 pm
Hola buenos días a todos, soy nuevo en esto, tengo el siguiente problema, por favor me podrian ayudar a correguir mi código que no me responde al cargar las preguntas y marcarlas como buenas, gracias

dinámica del juego:
Es un juego de preguntas que salen aleatoriamente, el usuario recibe una pregunta que es reflejada al momento de buscar la respuesta en una acción de un personaje(objeto), esta acción esta dada en muñecos(personajes), cuando seleccione el personaje que correponde a la pregunta, se marca buena y en una casilla superior se marca un chulo (visto bueno), tiene tres intentos para descubrir el personaje que corresponde a la acción de la pregunta, por cada intento fallido marca en una casilla inferior una X (mala) a los tres intentos fallidos vuelve y carga una nueva pregunta aleatoriamente y se limpian las casillas de malas

Nota: cuando el jugador descubre elpersonaje, la pregunta es descontada de las demás y no vuelve a salir, al descubrir todas las respuesta a las preguntas, carga un mensaje final de felicitaciones y tiene un botón con la opción de volver a jugar.

Código ActionScript :

stop();
var preguntas = new Array();
preguntas.push(-1);
preguntas.push("que comes, es tu reflejo.");
preguntas.push("come bien, come sano.");
preguntas.push("practica deporte, cuerpo sano.");
preguntas.push("trabaja a tiempo, descanso seguro tendré.");
preguntas.push("respira sano, vive mas.");
preguntas.push("cuida la vida de los demas, conduce con cuidado.");
preguntas.push("nuves negras, lluvia segura.");
preguntas.push("muy rapido como la liebre, despacio y seguro como la tortuga.");
preguntas.push("paso a paso, caminar es sano.");
var respuestas = new Array(-1, 1, 2, 3, 4, 5, 6, 7, 8, 9);[color=#888A85]/*estos son los personajes clip1 clip2 clip3...clip9*/[/color]
var preguntadas = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
var numClips = 100;
var efectoElastic = mx.transitions.easing.Elastic.easeOut;
var efectoBounce = mx.transitions.easing.Bounce.easeOut;
var pregunta = 0;
var correctas = 0;
var malas = 0;
var logo_mc;
var actividad = false;
iniciar();

function animaClips() [color=#888A85]/*aca los personajes tienen nombre de instancia clip1 clip2 clip3 ... clip9*/[/color]
{
   var Register_2_ = 1;
   while (Register_2_ < numClips)
   {
      var Register_3_ = this[("clip" + Register_2_)].createEmptyMovieClip("clipo32", this[("clip" + Register_2_)].getNextHighestDepth());
      var Register_7_ = this[("clip" + Register_2_)]._width;
      var Register_6_ = this[("clip" + Register_2_)]._height;
      var Register_5_ = Register_7_ / 2 * -1;
      var Register_4_ = Register_6_ / 2 * -1;
      Register_3_.lineStyle(1, 0, 0, true, "none", "round", "miter", 1);
      Register_3_.beginFill(16777215, 0);
      Register_3_.moveTo(Register_5_, Register_4_);
      Register_3_.lineTo(Register_5_, Register_6_ / 2);
      Register_3_.lineTo(Register_7_ / 2, Register_6_ / 2);
      Register_3_.lineTo(Register_7_ / 2, Register_4_);
      Register_3_.lineTo(Register_5_, Register_4_);
      this[("clip" + Register_2_)].onRollOver = function()
      {
         crecer(this, 2, 180);
      };
      this[("clip" + Register_2_)].onRollOut = function()
      {
         decrecer(this, 5, 100);
      };
      this[("clip" + Register_2_)].valor = Register_2_;
      this[("clip" + Register_2_)].onReleaseOutside = this[("clip" + Register_2_)].onRollOut;
      this[("clip" + Register_2_)].onRelease = function()
      {
         if (!actividad && malas < 3)
         {
            verificar(this.valor);
         }
      };
      Register_2_++;
   }
}
function crecer(clip, escala, hasta)[color=#888A85]/*cuando pongo el mouse sobre el personaje este aumenta de tamaño*/[/color]
{
   var Register_2_ = new mx.transitions.Tween(clip, "_xscale", efectoElastic, clip._xscale, hasta, 2.40000000000000002, true);
   var Register_2_ = new mx.transitions.Tween(clip, "_yscale", efectoElastic, clip._yscale, hasta, 2.40000000000000002, true);
}
function decrecer(clip, escala, hasta)
{
   var Register_2_ = new mx.transitions.Tween(clip, "_xscale", efectoElastic, clip._xscale, hasta, 0.90000000000000002, true);
   var Register_2_ = new mx.transitions.Tween(clip, "_yscale", efectoElastic, clip._yscale, hasta, 0.90000000000000002, true);
}
function alphaMenos(clip, escala, hasta)
{
   clip.onEnterFrame = function()
   {
      if (this._alpha > hasta)
      {
         this._alpha -=  escala;
      }
      else
      {
         delete this.onEnterFrame;
      }
   };
}
function alphaMas(clip, escala, hasta)
{
   clip.onEnterFrame = function()
   {
      if (this._alpha < hasta)
      {
         this._alpha +=  escala;
      }
      else
      {
         delete this.onEnterFrame;
      }
   };
}
function verificar(valor)
{
   actividad = true;
   if (valor == respuestas[pregunta])
   {
      correctas++;
      preguntadas[pregunta] = 1;
      crearBuena(pregunta);
   }
   else
   {
      malas++;
      if (malas < 4)
      {
         crearMala(malas, valor);
      }
   }
}
function crearBuena(numero)
{
   var Register_2_ = this.attachMovie("buena", ("buena" + pregunta), this.getNextHighestDepth());
   trace(Register_2_._name);
   Register_2_._alpha = 0;
   Register_2_._x = this._xmouse - Register_2_._width / 2;
   Register_2_._y = this._ymouse - Register_2_._height / 2;
   var xFin = (25 + (pregunta - 1) * 70);
   var yFin = 9;
   if (pregunta > 7)
   {
      var xFin = (25 + (pregunta - 8) * 70);
      var yFin = 65;
   }
   Register_2_.demora = 0;
   Register_2_.onEnterFrame = function()
   {
      if (this._alpha < 100 || this.demora < 200)
      {
         this._alpha +=  20;
         this.demora +=  20;
      }
      else
      {
         this._alpha = 100;
         delete this.onEnterFrame;
         var Register_3_ = new mx.transitions.Tween(this, "_x", efectoElastic, this._x, xFin, 1, true);
         var Register_2_ = new mx.transitions.Tween(this, "_y", efectoElastic, this._y, yFin, 1, true);
         Register_2_.onMotionFinished = function()
         {
            nuevaPregunta();
         };
      }
   };
}
function crearMala(malas, numero)
{
   var Register_2_ = this.attachMovie("mala", ("mala" + malas), this.getNextHighestDepth());
   Register_2_._alpha = 0;
   Register_2_._x = this._xmouse - Register_2_._width / 2;
   Register_2_._y = this._ymouse - Register_2_._height / 2;
   var xFin = (510 + (malas - 1) * 70);
   var yFin = 592;
   Register_2_.demora = 0;
   Register_2_.onEnterFrame = function()
   {
      if (this._alpha < 100 || this.demora < 200)
      {
         this._alpha +=  20;
         this.demora +=  20;
      }
      else
      {
         this._alpha = 100;
         delete this.onEnterFrame;
         var Register_3_ = new mx.transitions.Tween(this, "_x", efectoElastic, this._x, xFin, 0.5, true);
         var Register_2_ = new mx.transitions.Tween(this, "_y", efectoElastic, this._y, yFin, 0.5, true);
         actividad = false;
         Register_2_.onMotionFinished = function()
         {
            if (malas == 3)
            {
               malas = 0;
               esconderMalas();
               nuevaPregunta();
            }
         };
      }
   };
}
function esconderMalas()
{
   malas = 0;
   var Register_2_ = 1;
   while (Register_2_ < 4)
   {
      this[("mala" + Register_2_)].onEnterFrame = function()
      {
         if (this._alpha > 0)
         {
            this._alpha -=  20;
         }
         else
         {
            this.removeMovieClip();
         }
      };
      Register_2_++;
   };
   var Register_2_ = attachMovie("preguntas", "pregunta", getNextHighestDepth());
         Register_2_._x = 600;
         Register_2_._y = 240;
         Register_2_.numero.text = pregunta;
         Register_2_.texto.text = preguntas[pregunta];
         var Register_3_ = new mx.transitions.Tween(Register_2_, "_xscale", efectoElastic, 5, 100, 0.69999999999999996, true);
         var Register_3_ = new mx.transitions.Tween(Register_2_, "_yscale", efectoElastic, 5, 100, 0.69999999999999996, true);
         Register_2_.boton.onRelease = function()
         {
            this._parent.onEnterFrame = function()
            {
               if (this._alpha > 0)
               {
                  this._alpha -=  40;
                  mascara._alpha -=  40;
      };
   }
  }
}
function nuevaPregunta()
{
   var mascara = this.attachMovie("mascara", "mascara", this.getNextHighestDepth());
   mascara._x = 461.80000000000001;
   mascara._y = 329;
   mascara._alpha = 0;
   preguntas.swapDepths(_root.getNextHighestDepth());
   if (retornaPregunta() > 0)
   {
      var Register_4_ = new mx.transitions.Tween(mascara, "_alpha", efectoBounce, 0, 100, 0.40000000000000002, true);
      Register_4_.onMotionFinished = function()
      {
         esconderMalas();
         var Register_2_ = attachMovie("preguntas", "pregunta", getNextHighestDepth());
         Register_2_._x = 496;
         Register_2_._y = 300;
         Register_2_.numero.text = pregunta;
         Register_2_.texto.text = preguntas[pregunta];
         var Register_3_ = new mx.transitions.Tween(Register_2_, "_xscale", efectoElastic, 5, 100, 0.69999999999999996, true);
         var Register_3_ = new mx.transitions.Tween(Register_2_, "_yscale", efectoElastic, 5, 100, 0.69999999999999996, true);
         Register_2_.boton.onRelease = function()
         {
            this._parent.onEnterFrame = function()
            {
               if (this._alpha > 0)
               {
                  this._alpha -=  40;
                  mascara._alpha -=  40;
               }
               else
               {
                  delete this.onEnterFrame;
                  this.removeMovieClip();
                  mascara.removeMovieClip();
                  actividad = false;
               }
            };
         };
      };
   }
   else
   {
      var Register_4_ = new mx.transitions.Tween(mascara, "_alpha", efectoBounce, 0, 100, 0.40000000000000002, true);
      Register_4_.onMotionFinished = function()
      {
         var Register_1_ = attachMovie("final", ("final" + pregunta), getNextHighestDepth());
         Register_1_._x = 496;
         Register_1_._y = 300;
         Register_1_.numero.text = pregunta;
         Register_1_.texto.text = preguntas[pregunta];
         var Register_2_ = new mx.transitions.Tween(Register_1_, "_xscale", efectoElastic, 5, 100, 0.69999999999999996, true);
         var Register_2_ = new mx.transitions.Tween(Register_1_, "_yscale", efectoElastic, 5, 100, 0.69999999999999996, true);
      };
   }
   mascara.useHandCursor = false;
   mascara.onPress = function()
   {
   };
}
function esconderBuenas()
{
   var Register_2_ = 1;
   while (Register_2_ < 15)
   {
      this[("buena" + Register_2_)].removeMovieClip();
      Register_2_++;
   }
}
function retornaPregunta()
{
   var Register_1_ = 0;
   var Register_2_ = 0;
   if (correctas < (preguntas.length - 1))
   {
      while (false)
      {
         var Register_1_ = (Math.round(Math.random() * 13) + 1);
         if (preguntadas[Register_1_] == 0)
         {
            pregunta = Register_1_;
            return pregunta;
            break;
         }
      }
   }
   else
   {
      return -1;
   }
   
}
function iniciar()
{
   animaClips();
   logo_abajo.removeMovieClip();
   logo_mc = _root.attachMovie("logo", "logo_abajo", _root.getNextHighestDepth(), {_x:591.30000000000001, _y:570.19999999999999});
   nuevaPregunta();
}
function reiniciar()
{
   var Register_3_ = new mx.transitions.Tween(mascara, "_height", efectoElastic, mascara._height, 680, 1, true);
   var Register_1_ = new mx.transitions.Tween(mascara, "_alpha", efectoBounce, mascara._alpha, 300, 1, true);
   logo_mc.removeMovieClip();
   Register_1_.onMotionFinished = function()
   {
      esconderBuenas();
      prevFrame();
      trace(logo_mc._name);
      var Register_1_ = new mx.transitions.Tween(mascara, "_y", efectoElastic, mascara._x, 1200, 2.5, true);
      Register_1_.onMotionFinished = function()
      {
         mascara.removeMovieClip();
      };
   };
}



[color=#888A85]nota: acá iría el final las felicitaciones que las puse aparte para que las llame de la biblioteca[/color]


jugarNuevo.onRelease = function()
{
   this._parent.onEnterFrame = function()
   {
      if (this._alpha > 0)
      {
         this._alpha -=  20;
      }
      else
      {
         delete this.onEnterFrame;
         this._parent.reiniciar();
         this.removeMovieClip();
      }
   };
};

Por edwnar

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Abr 2013 02:21 am
360 lineas de código sin formato ... nice !

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

 

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