FabiiChan 0 Denunciar post Postado Dezembro 8, 2012 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 /> Compartilhar este post Link para o post Compartilhar em outros sites
Zé Roberto 3 Denunciar post Postado Dezembro 10, 2012 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
FabiiChan 0 Denunciar post Postado Dezembro 12, 2012 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