Mostrando entradas con la etiqueta PROG. ORIEN. A OBJ.. Mostrar todas las entradas
Mostrando entradas con la etiqueta PROG. ORIEN. A OBJ.. Mostrar todas las entradas

Un video juego tiene Personajes. Cada personaje tiene un nombre (String) y un nivel propio de energía (int). Además implementa el método alimentarse, que recibe por parámetro una cantidad de energía (int) con el que incrementa el nivel propio de energía. Los personajes pueden ser: - Guerreros: tienen además un arma (String). Al momento de la instanciación reciben su nombre, arma y nivel propio de energía inicial. Los guerreros tienen un método combatir que recibe por parámetro la cantidad de energía a gastar en el ataque, la cual es descontada de su nivel propio de energía. El método combatir retorna el arma y la cantidad de energía del ataque concatenados. - Magos: tienen además un poder (String). Al momento de la instanciación reciben su nombre y poder. Los magos son siempre creados con un nivel propio de energía igual a 100. Proveen un método encantar, que disminuye en 2 unidades el nivel propio de energía y que retorna el poder del mago.








Clase Personaje

public class Personaje {

String nombre;

int energia;

public Personaje(String nombre, int energia) {

super();

this.nombre = nombre;

this.energia = energia;

}

public String getNombre() {

return nombre;

}

public void setNombre(String nombre) {

this.nombre = nombre;

}

public int getEnergia() {

return energia;

}

public void setEnergia(int energia) {

this.energia = energia;

}

public void Alimentarse(int energiaNueva) {

energia=energia+energiaNueva;

}

public void consumirEnergia(int gastoEnergia) {

energia=energia-gastoEnergia;

}

}

Clase Guerrero

public class Guerrero extends Personaje {

String arma;


public Guerrero(String nombre, int energia,String arma) {

super(nombre, energia);

this.arma=arma;

}

public String getArma() {

return arma;

}

public void setArma(String arma) {

this.arma = arma;

}

public String combatir(int energ) {

consumirEnergia(energ);

return energia+" y su arma es "+arma+" su energia disminuye a "+(getEnergia()-25);

}

}


Clase Mago

public class Mago extends Personaje {

String poder;


public Mago(String nombre, String poder) {

super(nombre, 100);

this.poder=poder;

}

public String encantar() {

consumirEnergia(2);

return poder;

}

public String getPoder() {

return poder;

}

public void setPoder(String poder) {

this.poder = poder;

}

}


Clase MainPersonaje

public class MainPersonaje {


public static void main(String[] args) {

Guerrero objeto=new Guerrero("Hercules",999,"Espada");

System.out.println("El nivel de energia de "+objeto.getNombre()+"  "+objeto.combatir(2));

Mago objeto1=new Mago("Merlin","Bola de fuego");

System.out.println(objeto1.getNombre()+" utiliza "+objeto1.poder+" su nivel de nergia es "+(objeto1.getEnergia()-15));

}


} 


Implemente las clases Vehículo, Autobús y Camión, dados los siguientes antecedentes:  Todo Vehículo tiene patente y marca. Los Autobuses y los Camiones son Vehículos. Todo Autobús tiene cantidad de asientos. Todo Camión tiene carga en toneladas. Jerarquía de clases

Suponga que se desea agregar al sistema un Camión con compartimientos, el cual posee patente, marca, carga máxima y una cantidad de compartimientos. Este camión es capaz de calcular la capacidad de carga por compartimiento (equivalente a la carga total, dividida por la cantidad de compartimientos). Además, provee un método que retorna un String de descripción, compuesto por Marca + Cantidad de compartimientos ¿Qué se debe hacer?


Clase Vehículo

public class Vehiculo {

String Patente,Marca;


public Vehiculo(String patente, String marca) {

super();

Patente = patente;

Marca = marca;

}


public String getPatente() {

return Patente;

}


public void setPatente(String patente) {

Patente = patente;

}


public String getMarca() {

return Marca;

}


public void setMarca(String marca) {

Marca = marca;

}

}


Clase Autobús

public class Autobus extends Vehiculo {

int cantidadAsientos;


public Autobus(String Patente, String Marca,int cantidadAsientos) {

super(Patente, Marca);

this.cantidadAsientos=cantidadAsientos;

}


public int getCantidadAsientos() {

return cantidadAsientos;

}


public void setCantidadAsientos(int cantidadAsientos) {

this.cantidadAsientos = cantidadAsientos;

}

}


Clase Camión

public class Camion extends Vehiculo {

double carga;

public Camion(String Patente, String Marca,double carga) {

super(Patente, Marca);

this.carga=carga;

}

public double getCarga() {

return carga;

}

public void setCarga(double carga) {

this.carga = carga;

}

}

Clase Camión con Compartimientos

public class CamionconCompartimientos extends Camion {

double Compartimientos;

public CamionconCompartimientos(String Patente, String Marca, double carga, double Compartimientos) {

super(Patente, Marca, carga);

this.Compartimientos=Compartimientos;

}

public double getCompartimientos() {

return Compartimientos;

}


public void setCompartimientos(double compartimientos) {

Compartimientos = compartimientos;

}

}


Clase Main Vehiculo

public class MainVehiculo {


public static void main(String[] args) {

Autobus objeto=new Autobus("Patente1","Ford",50);

System.out.println("La patente es "+objeto.getPatente()+" su marca es "+objeto.getMarca()+" y su numero de asientos es de: "+objeto.getCantidadAsientos());

Camion objeto1=new Camion("Patente2","Mercedes",1.5);

System.out.println("La patente es "+objeto1.getPatente()+" su marca es "+objeto1.getMarca()+" y su carga es de: "+objeto1.getCarga()+" toneladas");

CamionconCompartimientos objeto2=new CamionconCompartimientos("Patente3","Nissan",200,2);

System.out.println("La patente es "+objeto2.getPatente()+" su marca es "+objeto2.getMarca()+" y su carga es de: "+objeto2.getCarga()+" y sus compartimientos son "+objeto2.getCompartimientos());

}

}