Story Transcript
MEMORAMA. TABLA PERIÓDICA Memorama que permite relacionar la información de personajes con sus contribuciones al desarrollo de la actual tabla periódica.
package { import flash.display.MovieClip; import flash.events.MouseEvent; import flash.events.Event; import flash.events.TimerEvent; import flash.utils.Timer; import flash.utils.getDefinitionByName; import flash.display.DisplayObject; public class Main extends MovieClip { private var tiempojuego:Cronometro; public var xy:Array=new Array(); public var parbueno:Array=new Array(0, 0, 0, 0, 0, 0); //Los 6 trios posibles public var nc:uint; //Saber si es carta 1, 2 o 3 public var np:uint; //Número de tercias encontradas public var par:Pares=new Pares(); //variable para comprobar pares public var endgame:Boolean=false; public var voltear:Boolean=false; public var myTimer:Timer; public var cadena:String; public var ArrayObjetos:Array; public var indexObjetos:uint; public function Main() { this.stop(); nc=1; np=0; ArrayObjetos = new Array(); indexObjetos=0; convertirbotones(); quitagregaboton("iniciar"); ordenar(); desaparececartas(); //Manejar 10 minutos para resolver crucigrama tiempo.border=true; tiempojuego=new Cronometro(tiempo); tiempojuego.iniciarCronometro(); tiempojuego.addEventListener(Cronometro.VALUE_CHANGED, Findejuego); startbtn.addEventListener(MouseEvent.CLICK, iniciar); } private function convertirbotones(){ henning.buttonMode = true; henning.useHandCursor = true; p.buttonMode = true; p.useHandCursor = true; cerillo.buttonMode = true; cerillo.useHandCursor = true; dobereiner.buttonMode = true; dobereiner.useHandCursor = true; elementos.buttonMode = true; elementos.useHandCursor = true; triadas.buttonMode = true; triadas.useHandCursor = true; beguyer.buttonMode = true; beguyer.useHandCursor = true; helicoidal.buttonMode = true;
helicoidal.useHandCursor = true; tornillo.buttonMode = true; tornillo.useHandCursor = true; newlands.buttonMode = true; newlands.useHandCursor = true; octavas.buttonMode = true; octavas.useHandCursor = true; f1863.buttonMode = true; f1863.useHandCursor = true; mendeleiev.buttonMode = true; mendeleiev.useHandCursor = true; masas.buttonMode = true; masas.useHandCursor = true; tabla.buttonMode = true; tabla.useHandCursor = true; ramsey.buttonMode = true; ramsey.useHandCursor = true; cero.buttonMode = true; cero.useHandCursor = true; sne.buttonMode = true; sne.useHandCursor = true; } public function iniciar(event:MouseEvent):void{ nc=1; np=0; indexObjetos=0; parbueno= new Array(0, 0, 0, 0, 0, 0); tiempojuego.reiniciarCronometro(); tiempojuego.iniciarCronometro(); //ordenar de manera aleatoria ordenar(); desaparececartas(); //reiniciar valores de cartas par.setcarta1(null); par.setcarta2(null); par.setcarta3(null); juego.text=""; endgame=false; quitagregaboton("iniciaar"); muevecartasar("","","","quitar"); ArrayObjetos = new Array(); } public function quitagregaboton(opcion:String){ if(opcion=="quita"){ henning.removeEventListener(MouseEvent.CLICK, mhenning); p.removeEventListener(MouseEvent.CLICK, mp); cerillo.removeEventListener(MouseEvent.CLICK, mcerillo); dobereiner.removeEventListener(MouseEvent.CLICK, mdobereiner); elementos.removeEventListener(MouseEvent.CLICK, melementos); triadas.removeEventListener(MouseEvent.CLICK, mtriadas); beguyer.removeEventListener(MouseEvent.CLICK, mbeguyer); helicoidal.removeEventListener(MouseEvent.CLICK, mhelicoidal); tornillo.removeEventListener(MouseEvent.CLICK, mtornillo); newlands.removeEventListener(MouseEvent.CLICK, mnewlands); octavas.removeEventListener(MouseEvent.CLICK, moctavas); f1863.removeEventListener(MouseEvent.CLICK, mf1863); mendeleiev.removeEventListener(MouseEvent.CLICK, mmendeleiev); masas.removeEventListener(MouseEvent.CLICK, mmasas); tabla.removeEventListener(MouseEvent.CLICK, mtabla); ramsey.removeEventListener(MouseEvent.CLICK, mramsey); cero.removeEventListener(MouseEvent.CLICK, mcero); sne.removeEventListener(MouseEvent.CLICK, msne); } else{
if(!endgame){ if(parbueno[0]!=1){ henning.addEventListener(MouseEvent.CLICK, mhenning); p.addEventListener(MouseEvent.CLICK, mp); cerillo.addEventListener(MouseEvent.CLICK, mcerillo); } if(parbueno[1]!=1){ dobereiner.addEventListener(MouseEvent.CLICK, mdobereiner); elementos.addEventListener(MouseEvent.CLICK, melementos); triadas.addEventListener(MouseEvent.CLICK, mtriadas); } if(parbueno[2]!=1){ beguyer.addEventListener(MouseEvent.CLICK, mbeguyer); helicoidal.addEventListener(MouseEvent.CLICK, mhelicoidal); tornillo.addEventListener(MouseEvent.CLICK, mtornillo); } if(parbueno[3]!=1){ newlands.addEventListener(MouseEvent.CLICK, mnewlands); octavas.addEventListener(MouseEvent.CLICK, moctavas); f1863.addEventListener(MouseEvent.CLICK, mf1863); } if(parbueno[4]!=1){ mendeleiev.addEventListener(MouseEvent.CLICK, mmendeleiev); masas.addEventListener(MouseEvent.CLICK, mmasas); tabla.addEventListener(MouseEvent.CLICK, mtabla); } if(parbueno[5]!=1){ ramsey.addEventListener(MouseEvent.CLICK, mramsey); cero.addEventListener(MouseEvent.CLICK, mcero); sne.addEventListener(MouseEvent.CLICK, msne); } } } } private function desaparececartas(){ //DESAPARECER CARTAS henning.alpha=0; p.alpha=0; cerillo.alpha=0; dobereiner.alpha=0; elementos.alpha=0; triadas.alpha=0; beguyer.alpha=0; helicoidal.alpha=0; tornillo.alpha=0; newlands.alpha=0; octavas.alpha=0; f1863.alpha=0; mendeleiev.alpha=0; masas.alpha=0; tabla.alpha=0; ramsey.alpha=0; cero.alpha=0; sne.alpha=0; } //MOSTRAR CARTA SELECCIONADA private function mhenning(myEvent:MouseEvent){ henning.alpha=1; if(nc==1){ par.setcarta1("henning"); } else if(nc==2){ par.setcarta2("henning");
} else{ par.setcarta3("henning"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("henning"); mostrarcarta(); } } nc++; } private function mp(myEvent:MouseEvent){ p.alpha=1; if(nc==1){ par.setcarta1("p"); } else if(nc==2){ par.setcarta2("p"); } else{ par.setcarta3("p"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("p"); mostrarcarta(); } } nc++; } private function mcerillo(myEvent:MouseEvent){ cerillo.alpha=1; if(nc==1){ par.setcarta1("cerillo"); } else if(nc==2){ par.setcarta2("cerillo"); } else{ par.setcarta3("cerillo"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("cerillo"); mostrarcarta(); } } nc++; } private function mdobereiner(myEvent:MouseEvent){ dobereiner.alpha=1; if(nc==1){ par.setcarta1("dobereiner"); } else if(nc==2){ par.setcarta2("dobereiner"); } else{ par.setcarta3("dobereiner"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas();
nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("dobereiner"); mostrarcarta(); } } nc++; } private function melementos(myEvent:MouseEvent){ elementos.alpha=1; if(nc==1){ par.setcarta1("elementos"); } else if(nc==2){ par.setcarta2("elementos"); } else{ par.setcarta3("elementos"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("elementos"); mostrarcarta(); } } nc++; } private function mtriadas(myEvent:MouseEvent){ triadas.alpha=1; if(nc==1){ par.setcarta1("triadas"); } else if(nc==2){ par.setcarta2("triadas"); } else{ par.setcarta3("triadas"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("triadas"); mostrarcarta(); } } nc++; } private function mbeguyer(myEvent:MouseEvent){ beguyer.alpha=1; if(nc==1){ par.setcarta1("beguyer"); } else if(nc==2){ par.setcarta2("beguyer"); } else{ par.setcarta3("beguyer"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("beguyer"); mostrarcarta();
} } nc++; } private function mhelicoidal(myEvent:MouseEvent){ helicoidal.alpha=1; if(nc==1){ par.setcarta1("helicoidal"); } else if(nc==2){ par.setcarta2("helicoidal"); } else{ par.setcarta3("helicoidal"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("helicoidal"); mostrarcarta(); } } nc++; } private function mtornillo(myEvent:MouseEvent){ tornillo.alpha=1; if(nc==1){ par.setcarta1("tornillo"); } else if(nc==2){ par.setcarta2("tornillo"); } else{ par.setcarta3("tornillo"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("tornillo"); mostrarcarta(); } } nc++; } private function mnewlands(myEvent:MouseEvent){ newlands.alpha=1; if(nc==1){ par.setcarta1("newlands"); } else if(nc==2){ par.setcarta2("newlands"); } else{ par.setcarta3("newlands"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("newlands"); mostrarcarta(); } } nc++; }
private function moctavas(myEvent:MouseEvent){ octavas.alpha=1; if(nc==1){ par.setcarta1("octavas"); } else if(nc==2){ par.setcarta2("octavas"); } else{ par.setcarta3("octavas"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("octavas"); mostrarcarta(); } } nc++; } private function mf1863(myEvent:MouseEvent){ f1863.alpha=1; if(nc==1){ par.setcarta1("f1863"); } else if(nc==2){ par.setcarta2("f1863"); } else{ par.setcarta3("f1863"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("f1863"); mostrarcarta(); } } nc++; } private function mmendeleiev(myEvent:MouseEvent){ mendeleiev.alpha=1; if(nc==1){ par.setcarta1("mendeleiev"); } else if(nc==2){ par.setcarta2("mendeleiev"); } else{ par.setcarta3("mendeleiev"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("mendeleiev"); mostrarcarta(); } } nc++; } private function mmasas(myEvent:MouseEvent){ masas.alpha=1; if(nc==1){ par.setcarta1("masas"); }
else if(nc==2){ par.setcarta2("masas"); } else{ par.setcarta3("masas"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("masas"); mostrarcarta(); } } nc++; } private function mtabla(myEvent:MouseEvent){ tabla.alpha=1; if(nc==1){ par.setcarta1("tabla"); } else if(nc==2){ par.setcarta2("tabla"); } else{ par.setcarta3("tabla"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("tabla"); mostrarcarta(); } } nc++; } private function mramsey(myEvent:MouseEvent){ ramsey.alpha=1; if(nc==1){ par.setcarta1("ramsey"); } else if(nc==2){ par.setcarta2("ramsey"); } else{ par.setcarta3("ramsey"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("ramsey"); mostrarcarta(); } } nc++; } private function mcero(myEvent:MouseEvent){ cero.alpha=1; if(nc==1){ par.setcarta1("cero"); } else if(nc==2){ par.setcarta2("cero"); } else{ par.setcarta3("cero");
voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("cero"); mostrarcarta(); } } nc++; } private function msne(myEvent:MouseEvent){ sne.alpha=1; if(nc==1){ par.setcarta1("sne"); } else if(nc==2){ par.setcarta2("sne"); } else{ par.setcarta3("sne"); voltear=par.comprueba(); //VOLTEAR CARTAS SI RESPUESTAS ES INCORRECTA controlCartas(); nc=0; if(!voltear){ quitagregaboton("quita"); setcarta("sne"); mostrarcarta(); } } nc++; } public function controlCartas(){ if(voltear){ //SI LA RESPUESTA ES CORRECTA if(par.getcarta1()=="henning"||par.getcarta1()=="p"||par.getcarta1()=="cerillo") //determinar que carta dejar volteada { henning.alpha=0.7; p.alpha=0.7; cerillo.alpha=0.7; henning.removeEventListener(MouseEvent.CLICK, mhenning); p.removeEventListener(MouseEvent.CLICK, mp); cerillo.removeEventListener(MouseEvent.CLICK, mcerillo); parbueno[0]=1; np++; muevecartasar("henning","p","cerillo","agrega");//mueve cartas a respuestas encontradas } else if(par.getcarta1()=="dobereiner"||par.getcarta1()=="elementos"||par.getcarta1()=="triadas"){ dobereiner.alpha=0.7; elementos.alpha=0.7; triadas.alpha=0.7; dobereiner.removeEventListener(MouseEvent.CLICK, mdobereiner); elementos.removeEventListener(MouseEvent.CLICK, melementos); triadas.removeEventListener(MouseEvent.CLICK, mtriadas); parbueno[1]=1; np++; muevecartasar("dobereiner","elementos","triadas","agrega");//mueve cartas a respuestas encontradas } else if(par.getcarta1()=="beguyer"||par.getcarta1()=="helicoidal"||par.getcarta1()=="tornillo"){ beguyer.alpha=0.7; helicoidal.alpha=0.7; tornillo.alpha=0.7; beguyer.removeEventListener(MouseEvent.CLICK, mbeguyer); helicoidal.removeEventListener(MouseEvent.CLICK, mhelicoidal); tornillo.removeEventListener(MouseEvent.CLICK, mtornillo);
parbueno[2]=1; np++; muevecartasar("beguyer","helicoidal","tornillo","agrega");//mueve cartas a respuestas encontradas } else if(par.getcarta1()=="newlands"||par.getcarta1()=="octavas"||par.getcarta1()=="f1863"){ newlands.alpha=0.7; octavas.alpha=0.7; f1863.alpha=0.7; newlands.removeEventListener(MouseEvent.CLICK, mnewlands); octavas.removeEventListener(MouseEvent.CLICK, moctavas); f1863.removeEventListener(MouseEvent.CLICK, mf1863); parbueno[3]=1; np++; muevecartasar("newlands","octavas","f1863","agrega");//mueve cartas a respuestas encontradas } else if(par.getcarta1()=="mendeleiev"||par.getcarta1()=="masas"||par.getcarta1()=="tabla"){ mendeleiev.alpha=0.7; masas.alpha=0.7; tabla.alpha=0.7; mendeleiev.removeEventListener(MouseEvent.CLICK, mmendeleiev); masas.removeEventListener(MouseEvent.CLICK, mmasas); tabla.removeEventListener(MouseEvent.CLICK, mtabla); parbueno[4]=1; np++; muevecartasar("mendeleiev","masas","tabla","agrega");//mueve cartas a respuestas encontradas } else if(par.getcarta1()=="ramsey"||par.getcarta1()=="cero"||par.getcarta1()=="sne"){ ramsey.alpha=0.7; cero.alpha=0.7; sne.alpha=0.7; ramsey.removeEventListener(MouseEvent.CLICK, mramsey); cero.removeEventListener(MouseEvent.CLICK, mcero); sne.removeEventListener(MouseEvent.CLICK, msne); parbueno[5]=1; np++; muevecartasar("ramsey","cero","sne","agrega");//mueve cartas a respuestas encontradas } } else { volteacarta(par.getcarta1(),0); volteacarta(par.getcarta2(),0); volteacarta(par.getcarta3(),0); } if(np==6) juego.text="Felicidades"; } public function volteacarta(carta:String, transparecia:Number):void{ if(carta=="henning") henning.alpha=transparecia; else if(carta=="p") p.alpha=transparecia; else if(carta=="cerillo") cerillo.alpha=transparecia; else if(carta=="dobereiner") dobereiner.alpha=transparecia; else if(carta=="elementos") elementos.alpha=transparecia; else if(carta=="triadas") triadas.alpha=transparecia; else if(carta=="beguyer") beguyer.alpha=transparecia; else if(carta=="helicoidal")
helicoidal.alpha=transparecia; else if(carta=="tornillo") tornillo.alpha=transparecia; else if(carta=="newlands") newlands.alpha=transparecia; else if(carta=="octavas") octavas.alpha=transparecia; else if(carta=="f1863") f1863.alpha=transparecia; else if(carta=="mendeleiev") mendeleiev.alpha=transparecia; else if(carta=="masas") masas.alpha=transparecia; else if(carta=="tabla") tabla.alpha=transparecia; else if(carta=="ramsey") ramsey.alpha=transparecia; else if(carta=="cero") cero.alpha=transparecia; else if(carta=="sne") sne.alpha=transparecia; } public function mostrarcarta(){ myTimer = new Timer(1000, 1); // 1 second myTimer.addEventListener(TimerEvent.TIMER, mosc); myTimer.start(); volteacarta(getcarta(),1); } function mosc(event:TimerEvent):void { volteacarta(getcarta(),0); quitagregaboton("agrega"); myTimer.stop(); } function getcarta():String{ return cadena; } function setcarta(cadena:String):void{ this.cadena=cadena; } private function ordenar():void{ var aleatorio:Array=new Array(); var i:int; var na:int; //cx:Coordenadas en 'x' cy:Coordenadas en 'y' var cx:Array=new Array(7.0,137.1,267.1); var cy:Array=new Array(81.0,141.0,201.0,262.0,323.0,381.0); var j:int; var h:int; h=0; //valor aleatorio entre 0 y 18. (18 cartas), sin repetir valores aleatorio[0]=randomNumber(1, 18); for(i=1;i