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>
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.