Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FabiiChan

Acessando métodos com outros objetos - JAVA

Recommended Posts

Pessoal é o seguinte...

 

tenho um programa em java modelado para a instanciação de objetos que são diversos tipo de seres vivos (leão, vaca, alface, etc)...

os métodos desse programa "exercitam" os objetos, como andar, viver, comer... o métodos comer, no caso de animais carnívoros (comem outro animais), eu não sei como indicar que vaca come a grama, por exemplo, abaixo trechos do código:

 

public abstract class Ser {
//Parametros 	

   private String nome; //nome do ser 	
   private static int peso; // peso do ser em gramas 	
   private double energia; // capacidade max de energia 	
   private double acuEnergia; // energia acumulada 
   private int eficAtp; //Eficiência de Converter energia de 0 - 100 	
   private int atp; //quantidade de atp 	
   private String dna;//A – adenina, T – timina, C – citosina ou G – guanina. 			

//Métodos 	
   void converterEnergia() {
       setAcuEnergia(getAtp() * 7 * eficAtp / 100);
       setAtp(0); // zerar ATP depois que foi convertido em Energia  		
       if (getAcuEnergia() >= getEnergia()) {
           setAcuEnergia(energia);
       }
   }

//Construtores 		
   public Ser(
           String nome, int peso, double energia, double acuEnergia, int eficAtp, int atp, String dna) {
       super();
       this.nome = nome;
       Ser.peso = peso;
       this.energia = energia;
       this.acuEnergia = acuEnergia;
       this.eficAtp = eficAtp;
       this.atp = atp;
       this.dna = dna;
   } //...métod sget/set


public interface Carnivoro { 
   void comeAnimal();  
} 

public interface Herbivoro {  	
   void comeVegetal();  
}

public interface Predado {  	
   void ehPredado (); 	
   void escapa ();      
} 

public interface Predador {  	
   void preda (); 	
   void falha();           
}

public class T2POO {

   public static void main(String[] args) {

       //Contrução - nome, peso, energia, energiaAcu, eficAtp, atp, dna 

       System.out.println("Construindo objetos: \n");
       Vegetal alface = new Vegetal("Alface", 300, 2500, 1, 80, 0, "[A-T][T-C][C-G][C-A]");
       System.out.println(alface);

       Animal vaca = new Animal("Vaca", 200000, 2000, 1, 85, 200, "[T-T][T-C][A-G][T-A]");
       System.out.println(vaca);

//Execução de métodos

       alface.viver();
       capim.viver();
       rucula.viver();
       cenoura.viver();
       agriao.viver();

       System.out.println("\nMétodo viver: \n");
       System.out.println(alface);
       System.out.println(capim);
       System.out.println(rucula);
       System.out.println(cenoura);
       System.out.println(agriao);

       coelho.comeVegetal();
       vaca.comeVegetal();

       System.out.println("\nMétodo comer vegetal: \n");
       System.out.println(coelho);
       System.out.println(vaca);

 

Se alguem puder dar uma luz thumbsup.gif/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imaginando que você esteja desenvolvendo um jogo, para um animal comer um vegetal, antes ele precisa encontrar o vegetal, pois comerVegetal() não tem ligação com nenhum Vegetal, se você tivesse controle do ambiente, poderia fazer uma busca por área e acordo com os sentidos do animal, mas não vou complexar muito pois parece ser mais um exercício do que um desenvolvimento de um jogo rsrs, no caso você teria que dar o vegetal para o animal comer ou fazer um método para ele encontrar um vegetal

 

Vegetal vegetalEncontrado = coelho.encontrarVegetal();
if(vegetalEncontrado != null){
   coelho.comer(vegetalEncontrado);
}
else{
   coelho.morrerDeFome(); //rsrs
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom jogo num eh naun...

na verdade eu queria saber realmente como gerar duas variaveis aleatorias (uma para um objeto - animal, outra para o outro),

e comparando essas variaveis vou saber se o animal atacou ou naun o outro para aí sim comer()... ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.