✨ Cap 06: Poderes e Funções (Modularização)

🎯 Objetivo da Aula: Ao final desta aula, você entenderá o que são Funções. Você aprenderá a criar blocos de código que podem ser usados várias vezes, como uma “Habilidade Especial” que calcula o dano final de um ataque.


🏢 O Cenário Prático (Seu Desafio): No seu jogo, toda vez que um monstro é derrotado, o jogador ganha XP. Mas a conta não é simples: o XP depende do nível do monstro e se o jogador tem um “Item de Bônus”. Em vez de escrever essa conta toda hora, vamos criar um “Poder de Cálculo” que faz tudo sozinho!


🧠 Fundamentos: A Teoria Traduzida

📖 Dicionário do Programador

🎨 Nomenclatura de Funções

Funções representam Ações. Por isso, o nome deve ser um verbo:

graph LR
    A["Entrada: Dano Base"] --> B{Função: Aplicar Buff}
    B --> C["Saída: Dano Dobrado"]

📖 Exemplo Passo a Passo: Criando o “Cálculo de Dano”

  1. Use a palavra fun para começar.
  2. Defina o que entra nos parênteses ( ).
  3. Defina o tipo que sai após os dois pontos : Int.
// 1. Criando a função (A Máquina)
fun calcularDano(ataque: Int, defesa: Int): Int {
    val resultado = ataque - defesa
    // Se o resultado for menor que zero, retornamos zero
    return if (resultado > 0) resultado else 0
}

fun main() {
    // 2. Usando a função (Ligando a Máquina)
    val danoFinal = calcularDano(50, 20)
    println("O dano causado foi: $danoFinal")
}

🛠️ Prática Obrigatória 1: Crie uma função chamada somarXP. Ela deve receber xpAtual (Int) e xpGanho (Int). O retorno deve ser a soma dos dois. Teste a função no main.


🛠️ Prática Obrigatória 2: Crie uma função chamada gerarNick. Ela deve receber um nome (String) e retornar o nome com a tag do clã na frente: "[PRO] Nome".


🔑 Gabarito Passo a Passo:

Exercício 1:

fun somarXP(atual: Int, ganho: Int): Int {
    return atual + ganho
}

fun main() {
    val total = somarXP(100, 50)
    println("Seu XP agora é: $total")
}

Exercício 2:

fun gerarNick(nome: String): String {
    return "[PRO] $nome"
}

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

  1. Salve seu código Kotlin.
  2. Nomeie como: Gamer_SeuNome_Cap06.kt.
  3. Submeta no canal de tarefas.

⬅️ Voltar para a Home