[RESOLVIDO]Botão em classe x fazendo ação em classe y
3 respostas
shogogan
Boa noite.
bem… estou fazendo um RPGzinho por enquanto sem grafico só como se fosse um “RPG de mesa” sem dados.
no caso eu fiz 3 classes.
classe Mesa,Personagem,Monstro;
a Mesa é o personagem principal
a Personagem é a que tem os dados basicos
a Monstro é o Inimigo
no caso o que eu quero fazer é ao clicar Atacar na Mesa,
pegar os dados da conta de dano, mandar para o Monstro como uma variavel (no caso DMG) e o monstro fazer as contas necessarias (DMG-DEF) e mudar a quantidade de vida.
o problema ta sendo fazer a parte no monstro que no caso o DMG continua 0 [por ser estatico].
Por exemplo, você tem uma classe Monstro. Ai você tem um objeto chamado beholder.
Você poderia criar um método na classe Monstro, com o nome: calcularHP, ou calcularDano, passando a variável dmg.
E vamos supor que você tenha a classe Personagem com um objeto chamado herói.
Esse objeto herói provavelmente tem um poder de ataque. Então você cria um metodo getAtkPower, ou algo parecido, que retorne o poder de ataque do personagem.
Na prática a variável dmg não precisa nem ser static. Apenas se você quiser que exista um valor único para ela em todas as classes.
Se você pudesse postar uma parte do código, ia ficar melhor de entender o seu problema.
Marky.Vasconcelos
Primeiro, DMG não deveria ser static.
Anyway…
voce devia ter na classe Personagem um método tipo assim…
//.. todo o restopublicvoidatacar(Monstromonstro){intdano=monstro.reduceDamage(this.damage);monstro.diminuirVida(dano);}
E na classe Monstro.
//.. o restopublicintreduceDamage(intdmg){returndmg-this.armor;}publicvoiddiminuirVida(intdano){vida-=dano;//Abaixo vai ser necessario para saber se esta morto.if(vida<=0)this.morto=true;}
shogogan
ja resolvi ^^
era um probleminha tosco
como o dano causado tava na classe monster
foi só bota no começo do códico
MonsterM1;
dai eu podia mecher nas variaveis dele xD mais VLW ai Mark_Ameba e HLutoso [que não notou que eu falei que o ataque bugava por ser estatico]