Solucio joc Rol
De wikiserver
La revisió el 10:58, 28 nov 2014 per Jnoguera (Discussió | contribucions)
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) { //Es pot utilitzar un Try {}Catch per a controlar els valors
console.log("No es possible ser tan fort");
}else{
this.forza=forza;
}
} //tanca afegir forza
Mag.prototype.afegir_intel=function(intel){
if (intel<17) { //Es pot utilitzar un Try {}Catch per a controlar els valors
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) { //Es pot utilitzar un Try {}Catch per a controlar els valors
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());
}
}
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();
*/