Hola amigos se me ha dado por intentar romperme la cabeza "otra vez" con la programación concretamente con el intento de la realización de un (ejemplo tuto) juego, basado en varias estrategias JS.
Dispongo del siguiente codigo.
Código PHP:
<script language="javascript" type="text/javascript">
function Animal(especie) {
//objeto Animal.
//propiedades
this.vidas=7;
this.sonido="Miau!!!!";
this.especie=especie;
//metodos
this.maulla=Maulla;
this.muerde=Muerde;
//eventos
this.onMuerde=new Function();
this.onMaulla=new Function();
return this;
}
function Maulla() {
//Metodo del objeto Animal
alert(this.sonido);
this.onMaulla(); // <<-- da una incogruencia aki
}
function Muerde(aQuien) {
//Metodo del objeto Animal
aQuien.vidas-=1;
this.onMuerde();
}
var Roger=new Animal("Gato");
var Michael=new Animal("Perro");
Roger.onMaulla=Michael.muerde(Roger);
Michael.onMuerde=RogerEsMordido();
function RogerEsMordido() {
if (Roger.vidas>0) Roger.maulla();
else Roger=null;
}
//window.addEventListener("onload", Roger.maulla(), false);
Roger.maulla();
</script>
En teoria deberia ocurrir una especie de blucle, en la realidad es que me dice que this.OnMaulla no es una función.
Michael ["perro"] muerde a Roger ["gato"] cada vez que maulla
El gato maulla cada vez que lo muerden
Cada vez que lo muerden pierde 1 vida hasta que muere [objeto null].
NO se porque no funciona.