🔢 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
- Operador Aritmético: É um símbolo de conta de matemática:
+(soma),-(subtração),*(multiplicação),/(divisão) e%(resto da divisão). - Operador de Comparação: É um símbolo que compara dois valores e responde com
trueoufalse:==(igual a),!=(diferente de),>(maior que),<(menor que),>=(maior ou igual),<=(menor ou igual). - Template de String: É um jeito de colocar o valor de uma variável dentro de um texto, usando
$nomeDaVariavelou${expressão}.
🎨 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)
- Continue usando o Kotlin Playground.
- Crie as variáveis do ataque, defesa e vida.
- Calcule o dano com
-e guarde o resultado em uma nova variável. - 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):
- Salve seu código em um arquivo
.kt. - Nomeie como:
Gamer_SeuNome_Cap04.kt. - Submeta no canal de tarefas.