[RESOLVIDO]Botão em classe x fazendo ação em classe y

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].

Grato,
Shogogan

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.

Dentro do evento do botão você:


public classe Mesa {
 
 public static int dmg;

 private void btnAtacarActionPerformed(java.awt.event.ActionEvent evt) {                                         
      
          dmg = heroi.getAtaquePower();
          beholder.calcularDano(dmg)  
 }                
}

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.

Primeiro, DMG não deveria ser static.

Anyway…

voce devia ter na classe Personagem um método tipo assim…

//.. todo o resto
public void atacar(Monstro monstro){
int dano = monstro.reduceDamage(this.damage);
monstro.diminuirVida(dano);
}

E na classe Monstro.

//.. o resto
public int reduceDamage(int dmg){
return dmg - this.armor;
}

public void diminuirVida(int dano){
vida -= dano;
//Abaixo vai ser necessario para saber se esta morto.
if(vida <=0)
 this.morto = true;
}

ja resolvi ^^
era um probleminha tosco

como o dano causado tava na classe monster
foi só bota no começo do códico

Monster M1;

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]