🔢 Cap 04: Cálculo de Dano (Operadores)

🎯 Objetivo da Aula: Ao final desta aula, você saberá usar os operadores aritméticos (+, -, *, /, %) para fazer contas com suas variáveis, e os operadores de comparação (==, !=, >, <, >=, <=) para responder perguntas de Sim/Não sobre elas. Você também vai aprender a montar mensagens dinâmicas usando templates de string.


🏢 O Cenário Prático (Seu Desafio): Seu herói entrou em combate! O inimigo tem um ataque de poder 30, e seu herói tem 12 de defesa. Seu desafio é calcular o dano real que seu herói recebe (ataque menos defesa) e descobrir se, depois do golpe, a vida do seu herói chegou a zero — usando apenas contas e comparações, sem nenhum if ainda (isso vem no próximo capítulo!).


🧠 Fundamentos: A Teoria Traduzida

📖 Dicionário do Programador

🎨 Tabela de Operadores

| Operador | Significado | Exemplo | Resultado | | :—: | :— | :— | :—: | | - | Subtração | 30 - 12 | 18 | | % | Resto da divisão | 17 % 5 | 2 | | >= | Maior ou igual | 5 >= 5 | true | | <= | Menor ou igual | 0 <= 0 | true |

graph LR
    A["ataque: 30"] --> C["dano = ataque - defesa"]
    B["defesa: 12"] --> C
    C --> D["dano = 18"]
    E["vida: 100"] --> F["vidaRestante = vida - dano"]
    D --> F
    F --> G{"vidaRestante <= 0 ?"}
    G --> H["Boolean: true ou false"]

📖 Exemplo Passo a Passo: Calculando o Dano (Kotlin Playground)

  1. Continue usando o Kotlin Playground.
  2. Crie as variáveis do ataque, defesa e vida.
  3. Calcule o dano com - e guarde o resultado em uma nova variável.
  4. Use ${...} para colocar o resultado de uma conta direto dentro do texto.
fun main() {
    val ataque: Int = 30
    val defesa: Int = 12
    var vida: Int = 100

    // 1. Operador aritmético: calculando o dano
    val dano: Int = ataque - defesa
    println("Dano recebido: $dano")

    // 2. Atualizando a vida com o resultado da conta
    vida = vida - dano
    println("Vida restante: $vida")

    // 3. Operador de comparação: a vida zerou?
    val vidaZerada: Boolean = vida <= 0
    println("Vida zerou? $vidaZerada")
}

🛠️ Prática Obrigatória 1: Crie as variáveis precoItem (Double) com valor 19.90 e quantidade (Int) com valor 3. Calcule o total da compra (precoItem * quantidade) e exiba com println usando um template: "Total da compra: $total".


🛠️ Prática Obrigatória 2: Crie as variáveis nivelJogador (Int) com valor 18 e nivelMinimoArena (Int) com valor 20. Crie uma variável podeEntrarNaArena (Boolean) usando o operador >= para comparar nivelJogador com nivelMinimoArena. Exiba o resultado com println.


🔑 Gabarito Passo a Passo:

Exercício 1:

fun main() {
    val precoItem: Double = 19.90
    val quantidade: Int = 3

    val total: Double = precoItem * quantidade
    println("Total da compra: $total")
}

Exercício 2:

fun main() {
    val nivelJogador: Int = 18
    val nivelMinimoArena: Int = 20

    val podeEntrarNaArena: Boolean = nivelJogador >= nivelMinimoArena
    println("Pode entrar na Arena? $podeEntrarNaArena")
}

📤 Instruções de Entrega (Microsoft Teams):

  1. Salve seu código em um arquivo .kt.
  2. Nomeie como: Gamer_SeuNome_Cap04.kt.
  3. Submeta no canal de tarefas.

⬅️ Voltar para a Home