🏆 Cap 03: Decisões e Ranks (if/when)
🎯 Objetivo da Aula:
Ao final desta aula, você entenderá como o computador toma decisões. Você aprenderá a usar if (se) e when (quando) para criar regras de jogo, como definir se um jogador é Bronze, Prata ou Ouro.
🏢 O Cenário Prático (Seu Desafio): No seu jogo, existem categorias de jogadores baseadas no nível.
- Nível 1 a 10: Bronze
- Nível 11 a 20: Prata
- Acima de 20: Ouro Seu desafio é criar um “Juiz Automático” que lê o nível e diz qual o Rank do jogador. Além disso, se a vida do jogador chegar a 0, o Juiz deve decretar “Fim de Jogo!“.
🧠 Fundamentos: A Teoria Traduzida
📖 Dicionário do Programador
- if (se): É uma pergunta de Sim ou Não. “Se a vida é zero, o jogo acaba”.
- else (senão): É o que acontece se a resposta do
iffor “Não”. - when (quando): É uma lista de escolhas. Como um menu de restaurante: “Quando o nível for 10, faça isso…“.
🎨 Padrão de Blocos { }
Em programação, todo o código que pertence a uma decisão deve ficar entre chaves { }. Isso diz ao computador: “Tudo o que estiver aqui dentro só acontece se a condição for verdadeira”.
graph TD A[Nível do Jogador] --> B{Nível > 20?} B -->|Sim| C[Rank: Ouro] B -->|Não| D{Nível > 10?} D -->|Sim| E[Rank: Prata] D -->|Não| F[Rank: Bronze]
📖 Exemplo Passo a Passo: O Juiz de Rank
- Declare uma variável
nivel. - Use o
whenpara verificar faixas de valores usando o comandoin.
fun main() {
val nivel = 15
// O WHEN é perfeito para faixas de números
val rank = when (nivel) {
in 1..10 -> "Bronze"
in 11..20 -> "Prata"
else -> "Ouro"
}
println("Seu Rank atual é: $rank")
}🛠️ Prática Obrigatória 1:
Crie uma variável pontosVida = 10. Use um if para verificar:
- Se a vida for 0: Mostre “GAME OVER”.
- Senão: Mostre “Você ainda está na luta!“.
🛠️ Prática Obrigatória 2:
Crie uma variável classePersonagem. Use um when para exibir a arma de cada um:
- “Guerreiro” → Espada
- “Mago” → Cajado
- “Arqueiro” → Arco
- Qualquer outro → Mãos Vazias
🔑 Gabarito Passo a Passo:
Exercício 1:
fun main() {
val pontosVida = 10
if (pontosVida <= 0) {
println("GAME OVER")
} else {
println("Você ainda está na luta!")
}
}Exercício 2:
fun main() {
val classePersonagem = "Mago"
when (classePersonagem) {
"Guerreiro" -> println("Arma: Espada")
"Mago" -> println("Arma: Cajado")
"Arqueiro" -> println("Arma: Arco")
else -> println("Arma: Mãos Vazias")
}
}📤 Instruções de Entrega (Microsoft Teams):
- Salve seu código Kotlin.
- Nomeie como:
Gamer_SeuNome_Cap03.kt. - Submeta no canal de tarefas.