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<18;i++){ na=randomNumber(1, 18); if(validAleatorio(aleatorio,na)) while(validAleatorio(aleatorio,na)) na=randomNumber(1, 18); aleatorio[i]=na; } //COORDENADAS DEL TABLERO for(i=0;i<6;i++){ for(j=0;j<3;j++){ xy[h]=cx[j]; h++; xy[h]=cy[i]; h++; } } henning.x=xy[getcoordenadaX(aleatorio[0])]; henning.y=xy[getcoordenadaY(aleatorio[0])]; p.x=xy[getcoordenadaX(aleatorio[1])]; p.y=xy[getcoordenadaY(aleatorio[1])]; cerillo.x=xy[getcoordenadaX(aleatorio[2])]; cerillo.y=xy[getcoordenadaY(aleatorio[2])]; dobereiner.x=xy[getcoordenadaX(aleatorio[3])]; dobereiner.y=xy[getcoordenadaY(aleatorio[3])]; elementos.x=xy[getcoordenadaX(aleatorio[4])]; elementos.y=xy[getcoordenadaY(aleatorio[4])]; triadas.x=xy[getcoordenadaX(aleatorio[5])]; triadas.y=xy[getcoordenadaY(aleatorio[5])]; beguyer.x=xy[getcoordenadaX(aleatorio[6])]; beguyer.y=xy[getcoordenadaY(aleatorio[6])]; helicoidal.x=xy[getcoordenadaX(aleatorio[7])]; helicoidal.y=xy[getcoordenadaY(aleatorio[7])]; tornillo.x=xy[getcoordenadaX(aleatorio[8])]; tornillo.y=xy[getcoordenadaY(aleatorio[8])]; newlands.x=xy[getcoordenadaX(aleatorio[9])]; newlands.y=xy[getcoordenadaY(aleatorio[9])]; octavas.x=xy[getcoordenadaX(aleatorio[10])]; octavas.y=xy[getcoordenadaY(aleatorio[10])]; f1863.x=xy[getcoordenadaX(aleatorio[11])]; f1863.y=xy[getcoordenadaY(aleatorio[11])]; mendeleiev.x=xy[getcoordenadaX(aleatorio[12])]; mendeleiev.y=xy[getcoordenadaY(aleatorio[12])]; masas.x=xy[getcoordenadaX(aleatorio[13])]; masas.y=xy[getcoordenadaY(aleatorio[13])]; tabla.x=xy[getcoordenadaX(aleatorio[14])]; tabla.y=xy[getcoordenadaY(aleatorio[14])]; ramsey.x=xy[getcoordenadaX(aleatorio[15])]; ramsey.y=xy[getcoordenadaY(aleatorio[15])]; cero.x=xy[getcoordenadaX(aleatorio[16])]; cero.y=xy[getcoordenadaY(aleatorio[16])]; sne.x=xy[getcoordenadaX(aleatorio[17])]; sne.y=xy[getcoordenadaY(aleatorio[17])]; } private function randomNumber(low:Number=0, high:Number=1):Number { return Math.floor(Math.random() * (1+high-low)) + low; } public static function validAleatorio(aleatorio:Array, na:int):Boolean { if (aleatorio.indexOf(na) > -1) return true; else return false; } public function getcoordenadaX(a:int):int { var i:int; i=(a*2)-2; return i; } public function getcoordenadaY(a:int):int { var i:int; i=(a*2)-1; return i; } private function Findejuego(e:Event):void { if(np<6){ juego.text="Game Over"; } endgame=true; quitagregaboton("quita"); } public function muevecartasar(ca1:String,ca2:String,ca3:String,opcion:String){ var R1:Class; var R2:Class; var R3:Class; if(opcion=="agrega"){ if(ca1=="henning"){ R1 = getDefinitionByName("cHenning") as Class; R2 = getDefinitionByName("cP") as Class; R3 = getDefinitionByName("cCerillo") as Class; } else if(ca1=="dobereiner"){ R1 = getDefinitionByName("cDobereiner") as Class; R2 = getDefinitionByName("cElementos") as Class; R3 = getDefinitionByName("cTriadas") as Class; } else if(ca1=="beguyer"){ R1 = getDefinitionByName("cBeguyer") as Class; R2 = getDefinitionByName("CHelicoidal") as Class; R3 = getDefinitionByName("cTelurico") as Class; } else if(ca1=="newlands"){ R1 = getDefinitionByName("cNewland") as Class; R2 = getDefinitionByName("cOctavas") as Class; R3 = getDefinitionByName("c1863") as Class; } else if(ca1=="mendeleiev"){ R1 = getDefinitionByName("cMendeleiev") as Class; R2 = getDefinitionByName("cMasas") as Class; R3 = getDefinitionByName("cTabla") as Class; } else if(ca1=="ramsey"){ R1 = getDefinitionByName("cRamsey") as Class; R2 = getDefinitionByName("cCero") as Class; R3 = getDefinitionByName("cNe") as Class; } var objeto1:Object = new R1(); var objeto2:Object = new R2(); var objeto3:Object = new R3(); ArrayObjetos[indexObjetos]=objeto1; indexObjetos++; ArrayObjetos[indexObjetos]=objeto2; indexObjetos++; ArrayObjetos[indexObjetos]=objeto3; indexObjetos++; objeto1.x=404.9; objeto2.x=534.9; objeto3.x=665.0; if(ca1=="henning"){ objeto1.y=81.0; objeto2.y=81.0; objeto3.y=81.0; } else if(ca1=="dobereiner"){ objeto1.y=141.0; objeto2.y=141.0; objeto3.y=141.0; } else if(ca1=="beguyer"){ objeto1.y=201.0; objeto2.y=201.0; objeto3.y=201.0; } else if(ca1=="newlands"){ objeto1.y=262.2; objeto2.y=262.2; objeto3.y=262.2; } else if(ca1=="mendeleiev"){ objeto1.y=323.0; objeto2.y=323.0; objeto3.y=323.0; } else if(ca1=="ramsey"){ objeto1.y=381; objeto2.y=381; objeto3.y=381; } this.addChild(DisplayObject(objeto1)); this.addChild(DisplayObject(objeto2)); this.addChild(DisplayObject(objeto3)); } else { var i:uint=0; while(ArrayObjetos[i]!=null){ this.removeChild(DisplayObject(ArrayObjetos[i])); i++; } } } } } package { /** * Recibe el nombre de las cartas en n1,n2,n3. Compara que se * hayan hecho las tercias */ public class Pares { public var n1:String; public var n2:String; public var n3:String; public function Pares() { } public function setcarta1(c1:String) { this.n1=c1; } public function setcarta2(c2:String) { this.n2=c2; } public function setcarta3(c3:String) { this.n3=c3; } public function getcarta1():String { return this.n1; } public function getcarta2():String { return this.n2; } public function getcarta3():String { return this.n3; } public function comprueba():Boolean{ var resultado:Boolean=false; var cc:String; cc=n1+n2+n3; if(cc=="henningpcerillo"||cc=="henningcerillop"||cc=="cerillophenning"||cc=="phenningcerillo"||cc=="cerillohenningp "||cc=="pcerillohenning") resultado=true; else if(cc=="dobereinerelementostriadas"||cc=="dobereinertriadaselementos"||cc=="triadaselementosdobereiner"||cc=="elementos dobereinertriadas"||cc=="triadasdobereinerelementos"||cc=="elementostriadasdobereiner") resultado=true; else if(cc=="beguyerhelicoidaltornillo"||cc=="beguyertornillohelicoidal"||cc=="tornillohelicoidalbeguyer"||cc=="helicoidalbeguyertornill o"||cc=="tornillobeguyerhelicoidal"||cc=="helicoidaltornillobeguyer") resultado=true; else if(cc=="newlandsoctavasf1863"||cc=="newlandsf1863octavas"||cc=="f1863octavasnewlands"||cc=="octavasnewlandsf1863"| |cc=="f1863newlandsoctavas"||cc=="octavasf1863newlands") resultado=true; else if(cc=="mendeleievmasastabla"||cc=="mendeleievtablamasas"||cc=="tablamasasmendeleiev"||cc=="masasmendeleievtabla"|| cc=="tablamendeleievmasas"||cc=="masastablamendeleiev") resultado=true; else if(cc=="ramseycerosne"||cc=="ramseysnecero"||cc=="sneceroramsey"||cc=="ceroramseysne"||cc=="sneramseycero"||cc=="ce rosneramsey") resultado=true; return resultado; } } } package { import flash.display.*; import flash.events.*; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.utils.getTimer; import flash.events.Event; import flash.events.EventDispatcher; public class Cronometro extends EventDispatcher { private var milesimasXcentecima:uint=10; private var milesimasXsegundo:uint=1000; private var milesimasXminuto:uint=1000 * 60;// 60,000 private var minuto:uint; private var segundo:uint; private var centesima:uint; private var minuto_txt:String; private var segundo_txt:String; private var centesima_txt:String; private var milesimasTranscurridas:uint; private var copiaDe_GetTimer:uint; private var referenciaTemporal:uint; private var temporizador:Timer=new Timer(10,0); private var LIMITE:uint=10; //LIMITE DE TIEMPO DEL JUEGO var led_txt:Object=null; public static const VALUE_CHANGED:String = 'value_changed'; private var finjuego:Boolean=false; public function Cronometro(led_txt:Object) { finjuego=false; this.led_txt=led_txt; led_txt.text="00 : 00 : 00"; temporizador.addEventListener(TimerEvent.TIMER,tickTack); } public function setsomeVariable(newVal:Boolean):void { finjuego = newVal; this.dispatchEvent(new Event(Cronometro.VALUE_CHANGED)); } private function tickTack(e:TimerEvent):void { milesimasTranscurridas=getTimer() - copiaDe_GetTimer; // Si por ejemplo el .SWF lleva abierto 10 segundos (10000 milesimas) y el cronometro se inicio en el segundo 4, // entonses nuestro cronometro lleva 6 segundos transcurridos. 10000 - 4000 = 6000 (6 Segundos) minuto=Math.floor( milesimasTranscurridas / milesimasXminuto); // Ejem: referenciaTemporal es = 287,987 / milesimasXminuto (60,000) = 4.799.. Redondeando 4 Minutos // minuto nunca va ser mayor que 59 referenciaTemporal= milesimasTranscurridas - minuto * milesimasXminuto; // Ejem: referenciaTemporal es 287,987 - (4 Minutos * 60,000 = 240.000 ) = 47,987 // Aca referenciaTemporal nunca va ser mayor de 59.999 //REFERENCIA TEMPORAL LLEVA EL RESIDUO, LO QUE SOBREN DE LOS MINUTOS PARA CALCULAR SEGUNDOS segundo=Math.floor(referenciaTemporal / milesimasXsegundo); // Ejem: referenciaTemporales 47,987 / milesimasXsegundo que son 1000 es = a 47.987 Redondeando 47 segundos // segundo nunca va ser mayor que 59 referenciaTemporal=referenciaTemporal - segundo * milesimasXsegundo; // Ejem: referenciaTemporal es 47,987 - (segundo 47 * milesimasXsegundo que son 1000 = 47,000) = 987 // Aca referenciaTemporal nunca va ser mayor que 999 //REFERENCIA TEMPORAL LLEVA EL RESIDUO, LO QUE SOBREN DE LOS SEGUNDOS PARA CALCULAR CENTESIMAS centesima=Math.floor(referenciaTemporal / milesimasXcentecima); // Ejem: ahora referenciaTemporal es 987 / milesimasXcentecima que son 10 es = a 98.7 redondeando 98 centecimas // centesima nunca va ser mayor que 99 // Condicinales que hacen que todos los numeros tengan siempre dos digitos y no uno if(minuto<LIMITE){ if (minuto < 10) { minuto_txt="0" + minuto.toString(); } else { minuto_txt=minuto.toString(); } if (segundo < 10) { segundo_txt="0" + segundo.toString(); } else { segundo_txt=segundo.toString(); } if (centesima < 10) { centesima_txt="0" + centesima.toString(); } else { centesima_txt=centesima.toString(); } // Pasanos todo al campo de texto led_txt.text=minuto_txt + " : " + segundo_txt + " : " + centesima_txt; } else{ reiniciarCronometro(); led_txt.text="00 : 00 : 00"; setsomeVariable(true); } } public function iniciarCronometro():void { finjuego=false; copiaDe_GetTimer=getTimer();// Toma una foto, de las milesimas que han pasado desde el inicio. temporizador.start(); } public function reiniciarCronometro():void { finjuego=false; temporizador.stop(); led_txt.text="00 : 00 : 00"; milesimasTranscurridas=0; } } }