Diferència entre revisions de la pàgina «Solucio joc Rol»
De wikiserver
Línia 1: | Línia 1: | ||
+ | <source lang="java"> | ||
+ | (function () { | ||
+ | |||
+ | var raza = ["mag", "elfo", "topo", "orco"]; | ||
+ | var encantos = []; | ||
+ | class Personatge { | ||
+ | constructor(nom, raza, forza, intel, vida_max, vida_act) { | ||
+ | |||
+ | this.nom = nom; | ||
+ | this.raza = raza; | ||
+ | this.forza = forza; | ||
+ | this.intel = intel; | ||
+ | this.vida_max = vida_max; | ||
+ | this.vida_act = vida_act; | ||
+ | } | ||
+ | |||
+ | set afegir_nom(nom) { | ||
+ | this.nom = nom; | ||
+ | } | ||
+ | |||
+ | get obtindre_nom() { | ||
+ | return this.nom; | ||
+ | } | ||
+ | |||
+ | set afegir_raza(raza) { | ||
+ | this.raza = raza; | ||
+ | } | ||
+ | |||
+ | get obtindre_raza() { | ||
+ | return this.raza; | ||
+ | } | ||
+ | |||
+ | set afegir_forza(forza) { | ||
+ | this.forza = forza; | ||
+ | } | ||
+ | |||
+ | get obtindre_forza() { | ||
+ | return this.forza; | ||
+ | } | ||
+ | |||
+ | set afegir_intel(intel) { | ||
+ | this.intel = intel; | ||
+ | } | ||
+ | |||
+ | get obtindre_intel() { | ||
+ | return this.intel; | ||
+ | } | ||
+ | |||
+ | set afegir_vida_max(vida_max) { | ||
+ | this.vida_max = vida_max; | ||
+ | } | ||
+ | |||
+ | get obtindre_vida_max() { | ||
+ | return this.vida_max; | ||
+ | } | ||
+ | |||
+ | set afegir_vida_act(vida_act) { | ||
+ | this.vida_act = vida_act; | ||
+ | } | ||
+ | |||
+ | get obtindre_vida_act() { | ||
+ | return this.vida_act; | ||
+ | } | ||
+ | |||
+ | mostrar() { | ||
+ | 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); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | class Mag extends Personatge { | ||
+ | |||
+ | constructor(nom, raza, forza, intel, vida_max, vida_act, encanteri) { | ||
+ | super(nom, raza, forza, intel, vida_max, vida_act); | ||
+ | this.encateri = encanteri; | ||
+ | } | ||
+ | |||
+ | set afegir_forza(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 | ||
+ | |||
+ | set afegir_intel(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 | ||
+ | |||
+ | set aprenEncanteri(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 | ||
+ | |||
+ | set llenzaEncanteri(Personatge) { | ||
+ | |||
+ | |||
+ | Personatge.vida_act -= 10; | ||
+ | encantos[encantos.length - 1] = ""; | ||
+ | }//tanca llença encateri | ||
+ | |||
+ | |||
+ | mostrar_mag() { | ||
+ | |||
+ | this.mostrar(); | ||
+ | document.write("<br>encanteri: " + this.encanteri); | ||
+ | document.write("<br>"); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | class Monjo extends Personatge { | ||
+ | |||
+ | constructor(nom, raza, forza, intel, vida_max, vida_act, deu) { | ||
+ | super(nom, raza, forza, intel, vida_max, vida_act); | ||
+ | this.deu = deu; | ||
+ | } | ||
+ | |||
+ | set Sanar(Personatge) { | ||
+ | Personatge.vida_act += 10; | ||
+ | } | ||
+ | |||
+ | mostrar_monjo() { | ||
+ | |||
+ | 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 = "NuevoEncanto"; | ||
+ | magoA.aprenEncanteri = "NuevoEncanto2"; | ||
+ | magoA.obtenerRazaMago; | ||
+ | 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(); | ||
+ | })(); | ||
+ | |||
+ | </source> | ||
+ | |||
+ | |||
<source lang="java"> | <source lang="java"> | ||
Revisió del 16:56, 17 oct 2017
(function () {
var raza = ["mag", "elfo", "topo", "orco"];
var encantos = [];
class Personatge {
constructor(nom, raza, forza, intel, vida_max, vida_act) {
this.nom = nom;
this.raza = raza;
this.forza = forza;
this.intel = intel;
this.vida_max = vida_max;
this.vida_act = vida_act;
}
set afegir_nom(nom) {
this.nom = nom;
}
get obtindre_nom() {
return this.nom;
}
set afegir_raza(raza) {
this.raza = raza;
}
get obtindre_raza() {
return this.raza;
}
set afegir_forza(forza) {
this.forza = forza;
}
get obtindre_forza() {
return this.forza;
}
set afegir_intel(intel) {
this.intel = intel;
}
get obtindre_intel() {
return this.intel;
}
set afegir_vida_max(vida_max) {
this.vida_max = vida_max;
}
get obtindre_vida_max() {
return this.vida_max;
}
set afegir_vida_act(vida_act) {
this.vida_act = vida_act;
}
get obtindre_vida_act() {
return this.vida_act;
}
mostrar() {
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);
}
}
class Mag extends Personatge {
constructor(nom, raza, forza, intel, vida_max, vida_act, encanteri) {
super(nom, raza, forza, intel, vida_max, vida_act);
this.encateri = encanteri;
}
set afegir_forza(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
set afegir_intel(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
set aprenEncanteri(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
set llenzaEncanteri(Personatge) {
Personatge.vida_act -= 10;
encantos[encantos.length - 1] = "";
}//tanca llença encateri
mostrar_mag() {
this.mostrar();
document.write("<br>encanteri: " + this.encanteri);
document.write("<br>");
}
}
class Monjo extends Personatge {
constructor(nom, raza, forza, intel, vida_max, vida_act, deu) {
super(nom, raza, forza, intel, vida_max, vida_act);
this.deu = deu;
}
set Sanar(Personatge) {
Personatge.vida_act += 10;
}
mostrar_monjo() {
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 = "NuevoEncanto";
magoA.aprenEncanteri = "NuevoEncanto2";
magoA.obtenerRazaMago;
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 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();
*/