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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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!