Ola serei obrigado a terminar aqui esse post https://cursos.alura.com.br/forum/topico-jogo-tcg-para-representar-class-atributos-162188 devido ter atingido 5k de caracter.
Class Monster essa classe foi alterada para dar um referencia para a criação de criatura e ter um atritubo static que verificar o numero de cartas criadas.
public class Monster {
private String nome;
private Elementos elementos = new Elementos();
private Atributos atributos = new Atributos();
private static int criaturasCriadas;
////--------------------------------------------------------------Invocação de Criatura------------------------------------------//
public Monster (String nome, String elemento, int agilidade, int vida, int ataque ) {
Monster.criaturasCriadas++;
//-------------------------------------------------------------- Adiciona agilidade ------------------------------------------//
if(agilidade <= 0 || agilidade > 10) {
System.out.println("Criador sua invocação não foi realizadas, pois a agilidade de sua criatura não pode ter mais do que 10 pontos nem menos que 1");
}else this.atributos.agilidade = agilidade;
//-------------------------------------------------------------- Adiciona vida ------------------------------------------//
for(int verificador = 0; verificador < 3001; verificador+= 500) {
if (verificador == vida) {
this.atributos.vida = vida;
}
}
if (vida == 0) {
System.out.println("Criador sua invoção só podera ter numeros multiplos de 500 sendo valido apenas o valor maximo 3000 e minimo 500 como valor de vida.");
}
//-------------------------------------------------------------- Adiciona Ataque ------------------------------------------//
for(int verificador = 0; verificador < 3001; verificador+= 500) {
if (verificador == ataque) {
this.atributos.ataque = ataque;
}
}
if (ataque == 0) {
System.out.println("Criador sua invoção só podera ter numeros multiplos de 500 sendo valido apenas o valor maximo 3000 e minimo 500 como valor de ataque.");
}
//-------------------------------------------------------------- Adiciona Elementos ------------------------------------------//
if(elemento == "ar") this.elementos.getAr();
else if(elemento == "terra") this.elementos.getTerra();
else if(elemento == "gelo") this.elementos.getGelo();
else if(elemento == "fogo") this.elementos.getFogo();
else System.out.println("Criador elemento invalido, escola entre ar, fogo, terra ou gelo");
//-------------------------------------------------------------- Adiciona Nome ------------------------------------------//
if(nome.length() < 5) {
System.out.println("Criador sua invocação deve ter pelo menos 5 letras para um nome");
}else {
this.nome = nome;
}
//------------------------------------------------------------- Getters and Setters ------------------------------------------//
}
public Elementos getElemento() {
return this.elementos;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Atributos getAtributo() {
return this.atributos;
}
public void setAtributos(Atributos atributos) {
this.atributos = atributos;
}
public static int getcriaturasCriadas() {
return Monster.criaturasCriadas;
}
//------------------------------------------------------------- Verificação de Vantagem ------------------------------------------//
public void vantagem(String elemento1, String elemento2) {
if(elemento1 == elemento2) {
this.getAtributo().ataque += ((this.getAtributo().ataque /100)*10);
}
}
}
Class Main e a classe principal ficou assim para fazer a invocação de um objeto
// Criatura terão como paramentros String nome, String elemento, int agilidade, int vida, int ataque
Monster magoDeFogo = new Monster("Zurin o Mago Escarlate", "fogo", 5, 1000, 2000);
Monster magoDeGelo = new Monster("Ektor o Invador Gelado", "gelo", 5, 1500, 1500);
Monster magoDeAr = new Monster("Merlin o Feiticeiro ", "ar", 5, 2000, 1000);
Monster magoDeTerra = new Monster("Brutius o Naturalista","ar", 5, 2500, 500);
System.out.println("O numero de criaturas criada é " + Monster.getcriaturasCriadas());
//