2
respostas

usar atributo como parametro

eu tenho uma classe pra criar personagens de um rpg e preciso de uma função que altere os atributos do personagem, como força, vida... como eu coloco o atributo de um objeto como parametro da função? ou eu preciso criar uma função pra cada atributo?

2 respostas

exemplo pra tentar explicar melhor:

O que eu quero é uma função tipo:

public void aumentarStatus (Character character, int aumento, Atributo atributo){
  character.setAtributo(character.getAtributo + aumento);
}

Ao invés de fazer uma função pra cada atributo:

public void aumentarForca (Character character, int aumento){
  character.setForca(character.getForca + aumento);
}

Oii Thiago, tudo certo?

Para mudar todos os atributos de uma vez, você pode criar uma função que receba os atributos e modifique eles lá dentro, de uma forma bem parecida com a que você fez na função aumentarStatus. Porém, ao invés de passar o character como parâmetro, você declara a função dentro da própria classe Character, assim:

public class Character{
    private int forca;
    private int poder;
    private int tamanho;

    public void aumentarStatus (int aumentoForca, int aumentoPoder, int aumentoTamanho){
        this.forca += aumentoForca;
        this.poder += aumentoPoder;
        this.tamanho += aumentoTamanho;
    }
}

Espero ter ajudado, qualquer coisa, estou disponível para ajudar.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!