Buenas noches comunidad, este dia empece una iniciativa personal, que consiste en tomarme un rato del viernes por la noche para programar algo no por obligacion, ni trabajo sino simplemente por diversion y ocio (si! se puede hacer
) que he llamado "Friday of Code" y en esta primera version, quize revivir mis tiempos de cuando jugaba Contra en el NES y hacia el truco para las 30 vidas, el famosos arriba, arriba, abajo...etc.
El codigo completo se los dejo aca:
var KonamiCode = function(v){
this.v = v;
this.secuencia = false;
this.index = 0;
this.teclas_presionadas = new Array();
this.id = 0;
this.secuencia_correcta = [38,38,40,40,37,39,37,39,66,65];
this.reset = function(){
thisObject = this;
clearInterval(thisObject.id);
this.secuencia = false;
this.index = 0;
this.teclas_presionadas = new Array();
}
this.secuencial = function(){
this.reset();
}
this.corroborar = function(){
if(this.index!=10){
this.v(this.teclas_presionadas[this.index-1],this.index-1,false);
}
if(!this.secuencia)return;
if(this.secuencia_correcta[this.index-1]!=this.teclas_presionadas[this.index-1]){
this.reset();
return;
}
//Si es la ultima tecla entonces es que se cumplio la secuencia;
if(this.index==10){
this.v(this.teclas_presionadas[this.index-1],this.index-1,true);
this.reset();
}
}
this.check = function(key){
thisObject = this;
clearInterval(thisObject.id);
this.secuencia = true;
this.teclas_presionadas[this.index] = key;
this.index++;
this.corroborar();
thisObject.id = setInterval(function(){
thisObject.secuencial();
}, 1000);
}
this.keychek = function(e){
var KeyId = (document.all) ? e.keyCode : e.which;
switch(KeyId){
case 37:
this.check(KeyId);
break;
case 38:
this.check(KeyId);
break;
case 39:
this.check(KeyId);
break;
case 40:
this.check(KeyId);
break;
case 65:
this.check(KeyId);
break;
case 66:
this.check(KeyId);
break;
}
}
thisObject = this;
thisObject.id = setInterval(function(){
thisObject.secuencial();
}, 1000);
}
Se que hay en internet otras implementaciones mejores, pero simplemente quize aprender un poco y divertirme e hice una desde cero, como mejor lo pude hacer. Programar no siempre trata de grandes y poderosos sistemas, por momentos hay que recordar que tambien es para divertirse.
Post completo:
http://www.hkadejo.com/blog/2010/11/26/friday-of-code-1/ Demo:
http://www.hkadejo.com/demos/demo1.htmlBueno, mejoren el codigo que se puede y mucho
Feliz noche.