Ir ao conteúdo
  • Cadastre-se

Duvida com classes...


Paulix

Posts recomendados

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.

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...