Capítulo 08: Funções (Métodos) 🪓❄️
Neste capítulo, vamos aprender a dividir nosso código em blocos menores e reutilizáveis chamados Funções (ou Métodos) no C#, com o tema God of War!
📖 O que são Funções?
Funções são blocos de código que realizam uma tarefa específica. Elas ajudam a não repetir código e a deixar o programa mais organizado.
No C# moderno, podemos criar funções diretamente no arquivo principal (funções locais)!
📖 Exemplo Guiado: Ataque do Kratos
Vamos criar uma função que calcula o dano de um ataque baseado na força e se foi um ataque crítico.
- Crie o arquivo
ataque_kratos.csna pastasrc/:
using System;
// Criando a função (método local)
int CalcularDano(int forca, bool critico) {
if (critico) {
return forca * 2;
}
return forca;
}
int forcaBase = 50;
// Chamando a função
int danoNormal = CalcularDano(forcaBase, false);
Console.WriteLine($"Ataque normal causou: {danoNormal} de dano.");
int danoCritico = CalcularDano(forcaBase, true);
Console.WriteLine($"Ataque com furia causou: {danoCritico} de dano.");🕹️ Como Executar e Testar no VS Code
- Execute o projeto usando
dotnet run.
Resultado Esperado:
Ataque normal causou: 50 de dano.
Ataque com furia causou: 100 de dano.📊 Ilustração Visual: Fluxo da Função
Veja como os dados entram e saem da função:
graph TD A[main] -->|"Passa Força e Crítico"| B["Função: CalcularDano"] B -->|"Retorna o Dano Calculado"| A
🛠️ Prática Obrigatória 1: Barra de Vida
Crie uma função chamada ExibirVida(int vida) que não retorna nada (void) e apenas exibe uma barra visual de vida usando colchetes (ex: se a vida for 50, exibe [|||||]). Use um laço dentro da função para desenhar a barra (uma barra | para cada 10 pontos de vida)!
🔑 Gabarito de Código
Prática 1: barra_vida.cs
using System;
void ExibirVida(int vida) {
Console.Write("Vida: [");
int barras = vida / 10;
for (int i = 0; i < barras; i++) {
Console.Write("|");
}
Console.WriteLine($"] {vida}%");
}
int vidaKratos = 80;
ExibirVida(vidaKratos);