Olá Joslaine, boa noite!!
Bom, para seguir com seu cenário podemos de modo simplificado aplicar sua regra no metodo atacar().
class Heroine {
String nome;
int pontosVida;
int pontosMagia;
double velocidade;
double danoAtaque;
bool? isViva;
Heroine(
{required this.nome, required this.pontosVida, required this.pontosMagia, required this.velocidade,required this.danoAtaque, this.isViva});
/*recebe a vida do oponente e o dano de quem está atacando e verifica se o
resultado dos pontos de vida menos o dano do atacante é menor ou igual a zero
*/
void atacar(int vidaOponente, double dano) {
if (vidaOponente - dano <= 0) {
isViva = false;
} else {
isViva = true;
}
print("O oponente está $isViva");
//o trecho abaixo: ${isViva! ? "vivo" : "morto"} é um if que caso isViva seja verdadeiro é exibido o texto "vivo" se não "morto"
//print("O oponente está ${isViva! ? "vivo" : "morto"}");
}
void andar() {}
void usarMagia() {}
}
No main podemos criar dois herois e utilizar seus dados no método atacar
import 'Heroine.dart';
void main(List<String> args) {
Heroine sheHulk = Heroine(nome: 'Jennifer', pontosVida: 150, pontosMagia: 230, velocidade: 60, danoAtaque: 120);
Heroine spider = Heroine(nome: 'Peter Park', pontosVida: 100, pontosMagia: 50, velocidade: 230, danoAtaque: 70);
sheHulk.atacar(spider.pontosVida, sheHulk.danoAtaque);
}
Com isso imagino que tenha te ajudado em como implementar sua ideia, lembrando que esse é só um modo e tentei usar somente o conhecimento até agora apresentado.
Bons Estudos!!!