Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Continuação e finalização do curso POO

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());
        //
2 respostas
solução!

Olá Fernando, tudo bem?

Você está indo muito bem! A ideia de criar um card game foi genial!

Uma dica que vou te dar, é colocar esse código no GitHub!

A medida que você for criando coisas legais assim, seria muito bom por em seu repositório para que mais pessoas tenham acesso, o que acha?

Caso você não tenha familiaridade com GIT e GitHub, te recomendo esses conteúdos nossos:

O que é Git e GitHub?

Espero que essa dica te ajude a continuar nesse ritmo que você está!

Se precisar de ajuda, conte conosco!

Bons estudos!

opa Gui eu é que agradeço você por ter o cuidado de aparecer em muitos de meus post e dar sua colaboração, sempre de muito valor, fiz o curso de git da formação de programação iniciante, é aprendi o basico, esse codigo ja esta no meu github sim, vou começar a versionar ele pq gostei tanto da ideia que vou criar um idle com o avançar dos meus conhecimentos em Java, pois me apoixonei pela linguagem e por suas nuances, no que depender de mim serei um Java BOSS.