Ir ao conteúdo
  • Cadastre-se
Paulix

Duvida com classes...

Recommended Posts

Olá pessoal, é a primeira vez que eu estou postando aqui, e preciso da ajuda de vocês para continuar meu desenvolvimento...

No jogo que eu estou criando, o jogo possui algumas raças, e todas elas possuem atributos em comum. Para não precisar criar varias classes com os mesmo atributos, eu preciso que as 4 raças compartilhem os mesmos atributos com valores diferentes, como mostra o exemplo abaixo...


public class Races
{
private float base_hp;
private float base_ep;
private float base_dmg;
private float base_amr; //dmg reduction
private float base_spd; //sqm's per second
private float base_blt_spd; //sqm's per second
private int base_blt_pen; //percent chance to bullets penetrates
private int base_blt_siz; //bullet size in pixels

Races(float base_hp, float base_ep, float base_dmg, float base_amr, float base_spd, float base_blt_spd, int base_blt_pen, int base_blt_siz)
{
this.base_hp = base_hp;
this.base_ep = base_ep;
this.base_dmg = base_dmg;
this.base_amr = base_amr;
this.base_spd = base_spd;
this.base_blt_spd = base_blt_spd;
this.base_blt_pen = base_blt_pen;
this.base_blt_siz = base_blt_siz;
}

//Races(base_hp, base_ep, base_dmg, base_amr, base_spd, base_blt_spd, base_blt_pen, base_blt_siz)

public Races Human = new Races(100,50,5,3,1,3,10,5);
public Races Cyborg = new Races(110,44,4,4,0.8f,2.5f,8,5);
public Races Ninja = new Races(84,40,5,2,1.2f,4,15,3);
public Races Ogre = new Races(120,30,8,5,0.6f,2,12,8);
}

A pergunta é a seguinte, como eu acesso essas classes de outro lugar, eu fiz assim pois não consegui pensar em outra maneira de fazer.

Eu precisava chamar no "main" algo assim:

Races.human.getBase_hp() OU Races.getBase_hp(human)

alguém me ajuda a criar esta estrutura por favor, pois desta forma que eu fiz não consigo acessar estes objetos de outra classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma dica. crie a classe porém, não instancie novas raças dentro dela mesma. faz isso no seu main, dai você vai poder acessar os métodos dela no main.


psvm()
{
Races suaRaca = new Races(parametros)
}

aqui nessa sua parte


public Races Human = new Races(100,50,5,3,1,3,10,5);
public Races Cyborg = new Races(110,44,4,4,0.8f,2.5f,8,5);
public Races Ninja = new Races(84,40,5,2,1.2f,4,15,3);
public Races Ogre = new Races(120,30,8,5,0.6f,2,12,8);

faça isso no main mesmo, e não na classe. que dai você vai poder utilizar os métodos dela

daí quando você precisar utilizar os métodos você vai poder chama-los


Cyborg.getBase_hp()

porém você vai ter que criar isso na classe, pra retornar o base_hp

Obs.: se estiver utilizando o NetBeans

psvm() = public static void main(String args[])

o próprio NetBeans transforma o psvm no public static void main

Compartilhar este post


Link para o post
Compartilhar em outros sites

apenas 1 classe precisa ser declarada de acordo com a informação do player, assim eu declaro objetos desnecessários...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×