Solucio joc Rol

De wikiserver
Dreceres ràpides: navegació, cerca
var raza = ["mag","elfo","topo","orco"];
var encantos =[];

function Personatge(nom,raza,forza,intel,vida_max,vida_act){
    
    //inicializa los atributos del constructor
    this.nom=nom;
    this.raza=raza;
    this.forza=forza;
    this.intel=intel;
    this.vida_max=vida_max;
    this.vida_act=vida_act;
    
 }   
    Personatge.prototype.afegir_nom=function(nom){
        this.nom=nom;
    }
    
    Personatge.prototype.obtindre_nom=function(){
    return this.nom;
    }
    
     Personatge.prototype.afegir_raza=function(raza){
        this.raza=raza;
    }
    
    Personatge.prototype.obtindre_raza=function(){
    return this.raza;
    }
    
     Personatge.prototype.afegir_forza=function(forza){
        this.forza=forza;
    }
    
    Personatge.prototype.obtindre_forza=function(){
    return this.forza;
    }
    
     Personatge.prototype.afegir_intel=function(intel){
        this.intel=intel;
    }
    
    Personatge.prototype.obtindre_intel=function(){
    return this.intel;
    }
    
     Personatge.prototype.afegir_vida_max=function(vida_max){
        this.vida_max=vida_max;
    }
    
    Personatge.prototype.obtindre_vida_max=function(){
    return this.vida_max;
    }
    
    
     Personatge.prototype.afegir_vida_act=function(vida_act){
        this.vida_act=vida_act;
    }
    
    Personatge.prototype.obtindre_vida_act=function(){
    return this.vida_act;
    }
    
    Personatge.prototype.mostrar=function(){
        document.write("<br>intel·ligència: "+this.obtindre_intel());
        document.write("<br>Nom: "+this.obtindre_nom());
        document.write("<br>raza: "+this.obtindre_raza());
        document.write("<br>vida_actual: "+this.obtindre_vida_act());
        document.write("<br>vida_max: "+this.obtindre_vida_max());
    }



function Mag(nom,raza,forza,intel,vida_max,vida_act,encanteri){

Personatge.call(this,nom,raza,forza,intel,vida_max,vida_act);
///inicializa los parametros del contructor hijo
this.encanteri=encanteri;
}

//
Mag.prototype= new Personatge();
Mag.prototype.constructor=Mag;


Mag.prototype.afegir_forza=function(forza){

if (forza>15) {
console.log("No es possible ser tan fort");

}else{

this.forza=forza;
}

}  //tanca afegir forza


Mag.prototype.afegir_intel=function(intel){

if (intel<17) {
console.log("No es possible ser tan mediano");

}else{

this.intel=intel;
}
}  //tanca afegir intel·ligència


Mag.prototype.aprenEncanteri=function(encanteri){
    if (encantos.length==4) {
       document.write("El numero de encantos supera a 4");
    }else{ 
        encantos[encantos.length]=encanteri;
    }
}//cierra aprenEncateri

Mag.prototype.llenzaEncanteri= function(Personatge){
 
 
Personatge.vida_act-=10;
encantos[encantos.length-1]="";

}//tanca llença encateri


Mag.prototype.mostrar_mag=function(){

this.mostrar();
document.write("<br>encanteri: "+this.encanteri);
document.write("<br>");
}


function Monjo(nom,raza,forza,intel,vida_max,vida_act,deu){

Personatge.call(this,nom,raza,forza,intel,vida_max,vida_act);
this.deu=deu;
}

Monjo.prototype= new Personatge();
Monjo.prototype.constructor=Monjo;

Monjo.prototype.sanar=function(Personatge){
Personatge.vida_act+=10;
}


Monjo.prototype.mostrar_monjo=function(){

this.mostrar();
document.write("deu: "+this.deu);
document.write("<br>");
}





var magoA= new Mag("julio",raza[0],1,1,1,13,"Encanto1");
var magoB= new Mag("irene",raza[1],2,2,2,14,"Encanto2");
var monje= new Monjo("rafa",raza[2],3,3,3,15,"DiosFuego");


magoA.aprenEncanteri("NuevoEncanto1");
magoA.aprenEncanteri("NuevoEncanto2");
magoA.mostrar_mag();
magoB.mostrar_mag();
magoA.llenzaEncanteri(magoB);
magoB.llenzaEncanteri(magoA);
monje.sanar(magoB);
magoA.llenzaEncanteri(magoB);
magoA.mostrar_mag();
magoB.mostrar_mag();
monje.mostrar_monjo();

Otra forma de hacerlo pero que consume más memoria

var raza = ["mag","elfo","topo","orco"];
var encantos =[];

function Personatge(nom,raza,forza,intel,vida_max,vida_act){
    
    //inicializa los atributos del constructor
    this.nom=nom;
    this.raza=raza;
    this.forza=forza;
    this.intel=intel;
    this.vida_max=vida_max;
    this.vida_act=vida_act;
    
    
    this.afegir_nom=function(nom){
        this.nom=nom;
    }
    
    this.obtindre_nom=function(){
    return this.nom;
    }
    
     this.afegir_raza=function(raza){
        this.raza=raza;
    }
    
    this.obtindre_raza=function(){
    return this.raza;
    }
    
     this.afegir_forza=function(forza){
        this.forza=forza;
    }
    
    this.obtindre_forza=function(){
    return this.forza;
    }
    
     this.afegir_intel=function(intel){
        this.intel=intel;
    }
    
    this.obtindre_intel=function(){
    return this.intel;
    }
    
     this.afegir_vida_max=function(vida_max){
        this.vida_max=vida_max;
    }
    
    this.obtindre_vida_max=function(){
    return this.vida_max;
    }
    
    
     this.afegir_vida_act=function(vida_act){
        this.vida_act=vida_act;
    }
    
    this.obtindre_vida_act=function(){
    return this.vida_act;
    }
    
    this.mostrar=function(){
        document.write("<br>intel·ligència: "+this.obtindre_intel());
        document.write("<br>Nom: "+this.obtindre_nom());
        document.write("<br>raza: "+this.obtindre_raza());
        document.write("<br>vida_actual: "+this.obtindre_vida_act());
        document.write("<br>vida_max: "+this.obtindre_vida_max());
    }

}
//("Pepe",raza[1],2,3,4,14,"topoEncanto");
function Mag(nom,raza,forza,intel,vida_max,vida_act,encanteri){

Personatge.call(this,nom,raza,forza,intel,vida_max,vida_act);
///inicializa los parametros del contructor hijo
this.encanteri=encanteri;

this.afegir_forza=function(forza){

if (forza>15) {
console.log("No es possible ser tan fort");

}else{

this.forza=forza;
}

}  //tanca afegir forza


this.afegir_intel=function(intel){

if (intel<17) {
console.log("No es possible ser tan mediano");

}else{

this.intel=intel;
}
}  //tanca afegir intel·ligència


this.aprenEncanteri=function(encanteri){
    if (encantos.length==4) {
       document.write("El numero de encantos supera a 4");
    }else{ 
        encantos[encantos.length]=encanteri;
    }
}//cierra aprenEncateri

this.llenzaEncanteri= function(Personatge){
 
 
Personatge.vida_act-=10;
encantos[encantos.length-1]="";

}//tanca llença encateri


this.mostrar_mag=function(){

this.mostrar();
document.write("<br>encanteri: "+this.encanteri);
document.write("<br>");
}


}//cierra Mag

Mag.prototype= Personatge;


function Monjo(nom,raza,forza,intel,vida_max,vida_act,deu){

Personatge.call(this,nom,raza,forza,intel,vida_max,vida_act);
this.deu=deu;


this.sanar=function(Personatge){
Personatge.vida_act+=10;
}


this.mostrar_monjo=function(){

this.mostrar();
document.write("deu: "+this.deu);
document.write("<br>");
}

}
Monjo.prototype=Personatge;


var magoA= new Mag("julio",raza[0],1,1,1,13,"Encanto1");
var magoB= new Mag("irene",raza[1],2,2,2,14,"Encanto2");
var monje= new Monjo("rafa",raza[2],3,3,3,15,"DiosFuego");


magoA.aprenEncanteri("NuevoEncanto1");
magoA.aprenEncanteri("NuevoEncanto2");
magoA.mostrar_mag();
magoB.mostrar_mag();
magoA.llenzaEncanteri(magoB);
magoB.llenzaEncanteri(magoA);
monje.sanar(magoB);
magoA.llenzaEncanteri(magoB);
magoA.mostrar_mag();
magoB.mostrar_mag();
monje.mostrar_monjo();

/*var Persona= new Personatge("julio",raza[0],1,15,5,15);
var mago= new Mag("Pepe",raza[1],2,3,4,14,"Encanto1");
monj.mostrar();
var mago= new Mag("Pepe",raza[1],2,3,4,14,"Encanto2");
mago.afegir_intel(21);
mago.mostrar_mag();
*/