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

Novo Game TCG Polimorfismo

Ola Devs em formação No Cursp anterior de Java POO eu crie um modelo de Jogo TCG para representar as aulas, neste curso continuarei o processo com o mesmo sistema porem agora esse jogo sera em um universo de Vampiros, Espero que gostem e que talvez sirva de inspiração para alguem.

Segue o codigo da primeira aula.

Essa é a Class com os atributos de Criatura, lembrando que eu não segui a vida de regra de utilizar as quebras de linhas mo getters e setters pois pra mim o codigo fica mais facil de ler desta forma.


public class CriaturaPadrao {
    //--Atributes Creatures--//
    private String nome; 
    private    String raca;
    private int vida;
    private int defesa;
    private int poder;
    private int pontosDeSangue;

    //--Start--Constructor--//

     CriaturaPadrao(String nome, String raca, int vida, int defesa, int poder, int pontosDeSangue){
        this.nome = nome; 
        this.raca = raca; 
        this.vida = vida; 
        this.defesa = defesa; 
        this.poder = poder; 
        this.pontosDeSangue = pontosDeSangue;
     }

    //--Getters--//

    public String getNome() {return this.nome;}

    public String getRaca() {return this.raca;}

    public int getVida() { return this.vida;}

    public int getDefesa() {return this.defesa;}

    public int getPoder() {return this.poder;}

    public int getPontosDeSangue(){return this.pontosDeSangue;}

    //--Setters--//

    public void setVida(int vida) {this.vida = vida;}

    public void setDefesa(int defesa) {this.defesa = defesa;}

    public void setPoder(int poder) {this.poder = poder;}

    public void setPontosDeSangue(int pontosDeSangue) {this.pontosDeSangue = pontosDeSangue;}

    //--Methods--//

    public int Especial(int status) {return status += 5;}
}

Aqui a classe utilizada para poder fazer a invocação da criatura, perceba que o Construtor ja foi iniciado na classe que referencia os atributos do objeto obrigando com que os paremetros sejam passados para iniciar um novo objeto.

public class CriaçãoDeCard {
    public static void main(String[] args) {
        CriaturaPadrao vampiro1 = new CriaturaPadrao("Escanor", "Vampiro", 50, 80, 60, 5);
        vampiro1.setVida(vampiro1.Especial(vampiro1.getVida()));
        System.out.println("*--* "+"Nome: "+ vampiro1.getNome() +" *--*");
        System.out.println("*--* "+"Raça: "+ vampiro1.getRaca() +" *--*");
        System.out.println("*--* "+"Vida: "+ vampiro1.getVida() +" *--*");
        System.out.println("*--* "+"Defesa: "+ vampiro1.getDefesa() +" *--*");
        System.out.println("*--* "+"Poder: "+ vampiro1.getPoder() +" *--*");
        System.out.println("*--* "+"Pontos de Sangue: "+ vampiro1.getPontosDeSangue() +" *--*");
        System.out.println("*--* "+"Especial: "+ vampiro1.getPontosDeSangue() +" *--*");
    }
}

Por enquanto irei mantendo a continuação do codigo aqui na comunidade espero que gostem.

3 respostas

Opa Galera como o codigo ficou muito grande vou dar continuidade por aqui quem estiver interessado em ver o andamento fica aqui o link

https://gist.github.com/Fernand0Devel0per/3c6b14e234ac59489ef6b507017457f8

Olá Fernando!

Estou acompanhando seus posts, e sigo curtindo muito a sua ideia de fazer games para treinar com seus novos conhecimentos no Java!

Uma ideia boa para divulgar seus projetos, seria por meio do seu linkedin também, pondo os links e ganhando mais visibilidade!

Estamos aqui pra te dar apoio e ajuda sempre que precisar 😄

solução!

Boa galera após terminar o curso de Herança e Polimorfismo fiz criei uma classe para similar uma batalha usando o Enum para definir quando a um vencedor

public class Batalha {
    public static void main(String[] args) {
        MortoVivo morto = MortoVivo.morto;
        MortoVivo vivo = MortoVivo.vivo;

        //-------------------------------Jogador 1-------------------------------//

        Lobsomen lobsomen1 = new Lobsomen("Escanor", "Lobsomen", 60, 50, 60, 5,"Pata de Urso");
        //-------------------------------Jogador 2-------------------------------//

        Assamitas vampiro1 = new Assamitas("Brendan", "Vampiro", 60, 50, 70, 5);

        //-------------------------------Batalha-------------------------------//

        while(vampiro1.getVida() >= morto.ordinal() || lobsomen1.getVida() <= morto.ordinal()) {
            lobsomen1.ataque(lobsomen1, vampiro1, vampiro1, vampiro1);
            System.out.println(vampiro1.getVida());
            vampiro1.ataque(vampiro1, lobsomen1, lobsomen1, lobsomen1);
            System.out.println(lobsomen1.getVida());
        }
        if(vampiro1.getVida() <= morto.ordinal()) {
            System.out.println(vampiro1.getNome() + " Esta " + morto.name());
        }else if(lobsomen1.getVida() <= morto.ordinal()) {
            System.out.println(lobsomen1.getNome() + " Esta " + morto.name());
        }

    }
}

Se alguem se intressar pelo codigo completo para testar segue github https://github.com/Fernand0Devel0per/estudos-java/tree/master/vampire-tcg-heranca, aproveita e segue la abraços.