Jornada
Aprenda Lua
Aprenda Lua do zero com um curso online grátis e interativo. Domine variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos com desafios práticos, projetos reais, dicas de IA e um certificado ao concluir.
49,057+ codders inscritos
Esta jornada inclui
Ajuda de codificação com IA
Lições interativas e práticas
Narração em áudio em todas as lições
Questionários para testar seu conhecimento
Certificado grátis de conclusão
Programa
3 seções214 lições167 desafios1,071 perguntas de quiz01Seção 1
Fundamentals
The first section in Lua for absolute beginners.COMEÇAR A APRENDERIntrodução
3 lições216- 01A LinguagemDesafio
- 02Olá Mundo!DesafioQuizÁudio
- 03ComentáriosQuizÁudio
Variáveis e Tipos de Dados
8 lições754- 01O que é uma Variável?DesafioQuizÁudio
- 02NúmerosDesafioQuizÁudio
- 03StringsDesafioQuizÁudio
- 04BooleanosDesafioQuizÁudio
- 05O Valor 'nil'DesafioQuizÁudio
- 06A Função type()DesafioQuizÁudio
- 07Convenções de NomenclaturaQuizÁudio
- 08Recapitulação - Perfil de PersonagemDesafio
Operadores 1: Aritmética e Concatenação
6 lições636- 01Operadores AritméticosDesafioQuizÁudio
- 02Operador de MóduloDesafioQuizÁudio
- 03Operador de ExponenciaçãoDesafioQuizÁudio
- 04Concatenação de StringsDesafioQuizÁudio
- 05Precedência de OperadoresDesafioQuizÁudio
- 06Recapitulação - Cálculos SimplesDesafio
Operadores 2 Relacionais e Lógicos
8 lições651- 01Operadores de IgualdadeDesafioQuizÁudio
- 02Operadores RelacionaisDesafioQuizÁudio
- 03O Operador 'and'DesafioQuizÁudio
- 04O Operador 'or'DesafioQuizÁudio
- 05O Operador 'not'DesafioQuizÁudio
- 06Avaliação de Curto-CircuitoQuizÁudio
- 07Valores Truthy e FalsyQuizÁudio
- 08Recapitulação - Lógica SimplesDesafio
Saída Básica
9 lições954- 01Imprimindo LiteraisDesafioQuizÁudio
- 02Imprimindo VariáveisDesafioQuizÁudio
- 03Imprimindo Múltiplos ValoresDesafioQuizÁudio
- 04Combinando Strings e VariáveisDesafioQuizÁudio
- 05A Função tostring()DesafioQuizÁudio
- 06EntradaDesafioQuizÁudio
- 07CastDesafioQuizÁudio
- 08Recapitulação - Relatório de StatusDesafio
- 09Recapitulação - Até 120Desafio
Projeto: Exibição de Atributos do Personagem
Projeto5 lições1- 01Mensagem de Boas-vindasDesafio
- 02Declarar Atributos do PersonagemProjeto
- 03Exibir Atributos BásicosProjeto
- 04Adicionar uma Flag BooleanaProjeto
- 05Resumo FinalProjeto
Lógica Condicional Básica
4 lições423- 01A instrução if-thenDesafioQuizÁudio
- 02A instrução if-then-elseDesafioQuizÁudio
- 03A instrução elseifDesafioQuizÁudio
- 04Recapitulação - Baú do TesouroDesafio
Fundamentos de Manipulação de Strings
6 lições638- 01string.len()DesafioQuizÁudio
- 02string.upper & string.lowerDesafioQuizÁudio
- 03string.sub()DesafioQuizÁudio
- 04string.rep()DesafioQuizÁudio
- 05string.find()DesafioQuizÁudio
- 06Revisão - Formatar Nome de UsuárioDesafio
Fundamentos de Funções
6 lições636- 01Declarando uma FunçãoDesafioQuizÁudio
- 02Chamando uma FunçãoDesafioQuizÁudio
- 03Funções com ParâmetrosDesafioQuizÁudio
- 04Funções com Múltiplos ParâmetrosDesafioQuizÁudio
- 05A Instrução 'return'DesafioQuizÁudio
- 06Recapitulação - Calculadora de ÁreaDesafio
Tabelas Parte 1: Estilo de Lista
8 lições752- 01O que é uma Tabela?QuizÁudio
- 02Criando uma TabelaDesafioQuizÁudio
- 03Acessando Elementos por ÍndiceDesafioQuizÁudio
- 04Modificando Elementos por ÍndiceDesafioQuizÁudio
- 05O Operador de Comprimento '#'DesafioQuizÁudio
- 06table.insert()DesafioQuizÁudio
- 07table.remove()DesafioQuizÁudio
- 08Recapitulação - Gerenciar Membros do GrupoDesafio
Tabelas 2: Estilo Dicionário
7 lições648- 01Pares Chave-ValorQuizÁudio
- 02Criando Tabelas Estilo DicionárioDesafioQuizÁudio
- 03Acessando - Notação de ColchetesDesafioQuizÁudio
- 04Acessando com Notação de PontoDesafioQuizÁudio
- 05Adicionando e Modificando ParesDesafioQuizÁudio
- 06Removendo Pares com nilDesafioQuizÁudio
- 07Recapitulação - Propriedades de ItensDesafio
Fundamentos de Loops
6 lições636- 01O Loop whileDesafioQuizÁudio
- 02O Loop repeat-untilDesafioQuizÁudio
- 03O Loop for NuméricoDesafioQuizÁudio
- 04Loop for com PassoDesafioQuizÁudio
- 05A Instrução 'break'DesafioQuizÁudio
- 06Recapitulação - Contagem RegressivaDesafio
Projeto: Loja de Poções Simples
Projeto6 lições1- 01Configuração do ProjetoDesafio
- 02Adicionando uma PoçãoProjeto
- 03Exibindo o InventárioProjeto
- 04Calculando o Valor Total do EstoqueProjeto
- 05Buscando uma Poção EspecíficaProjeto
- 06Vendendo uma PoçãoProjeto
Escopo de Variáveis
5 lições330- 01Variáveis GlobaisQuizÁudio
- 02Variáveis LocaisDesafioQuizÁudio
- 03Por que usar variáveis locais?QuizÁudio
- 04Escopo e BlocosDesafioQuizÁudio
- 05Recapitulação - Desafio de EscopoDesafio
Desafios Finais
3 lições3- 01Revisão - Turno do JogadorDesafio
- 02Revisão - Banco de Dados SimplesDesafio
- 03Revisão - Soma de Números ParesDesafio
02Seção 2
Logic & Flow
Develop problem-solving skills and create dynamic, interactive programsCOMEÇAR A APRENDERIteração Avançada de Tabelas
4 lições423- 01Iterando com pairs()DesafioQuiz
- 02Iterando com ipairs()DesafioQuiz
- 03pairs() vs. ipairs()DesafioQuiz
- 04Revisão - Ficha de PersonagemDesafio
Mais Funções da Biblioteca Table
5 lições430- 01table.concat()DesafioQuiz
- 02Construção de tabelas e unpack()DesafioQuiz
- 03table.sort()DesafioQuiz
- 04Ordenação personalizada com funçõesQuiz
- 05Recapitulação - Placar de recordesDesafio
Conceitos Avançados de Funções
6 lições539- 01Retornando Múltiplos ValoresQuiz
- 02Funções Variádicas (...)DesafioQuiz
- 03Funções como Valores de Primeira ClasseDesafioQuiz
- 04Funções AnônimasDesafioQuiz
- 05O que é uma Closure?DesafioQuiz
- 06Recapitulação - Manipulador de Eventos SimplesDesafio
Introdução às Metatabelas
8 lições757- 01O que é uma Metatabela?Quiz
- 02setmetatable & getmetatableDesafioQuiz
- 03O Metamétodo __indexDesafioQuiz
- 04O Metamétodo __newindexDesafioQuiz
- 05O Metamétodo __tostringDesafioQuiz
- 06Metamétodos Aritméticos Parte 1DesafioQuiz
- 07Metamétodos Aritméticos Parte 2DesafioQuiz
- 08Recapitulação - Tabela Somente LeituraDesafio
Projeto: Engine de Aventura de Texto
Projeto8 lições1- 01Configuração do Projeto: A SalaDesafio
- 02Conectando as SalasProjeto
- 03Estado do JogadorProjeto
- 04O Game LoopProjeto
- 05Processando a Entrada do UsuárioProjeto
- 06Movendo o JogadorProjeto
- 07Tratando Movimentos InválidosProjeto
- 08Exibindo as SaídasProjeto
Tratamento de Erros
3 lições216- 01A Função error()Quiz
- 02Chamadas Protegidas com pcall()DesafioQuiz
- 03Recapitulação - Divisão SeguraDesafio
Manipulação Avançada de Strings
6 lições641- 01string.gsub() para SubstituiçãoDesafioQuiz
- 02Introdução a Padrões de StringDesafioQuiz
- 03string.find()DesafioQuiz
- 04string.match()DesafioQuiz
- 05Iteração com string.gmatch()DesafioQuiz
- 06Recapitulação - Parser de Arquivos de LogDesafio
Projeto: Lista de Contatos
Projeto7 lições1- 01Configuração do ProjetoDesafio
- 02O Loop PrincipalProjeto
- 03Adicionando um ContatoProjeto
- 04Listando Todos os ContatosProjeto
- 05Buscando um ContatoProjeto
- 06Excluindo um ContatoProjeto
- 07Tratando Entradas InválidasProjeto
Coroutines para Iniciantes
7 lições638- 01O que é uma Coroutine?Quiz
- 02coroutine create & resumeDesafioQuiz
- 03Pausando com coroutine.yield()DesafioQuiz
- 04resume & yieldDesafioQuiz
- 05Verificando o Status da CoroutineDesafioQuiz
- 06Recapitulação - Gerador de NúmerosDesafio
- 07Recapitulação - Matemática de VetoresDesafio
03Seção 3
Object Oriented Programming
Discover how to organize code with classes, objects, and reusable structuresCOMEÇAR A APRENDERO Conceito 'Self'
5 lições532- 01Tabelas com FunçõesDesafioQuiz
- 02'self' ExplícitoDesafioQuiz
- 03A Sintaxe de Dois-pontosDesafioQuiz
- 04Ponto vs Dois-pontosDesafioQuiz
- 05Recapitulação - Movendo o PontoDesafio
Padrão de Protótipo de Classe
6 lições641- 01O Conceito de ProtótipoDesafioQuiz
- 02Vinculando com __indexDesafioQuiz
- 03O Construtor :new()DesafioQuiz
- 04Inicializando AtributosDesafioQuiz
- 05Instâncias IndependentesDesafioQuiz
- 06Recapitulação - Fábrica de CarrosDesafio
Estado e Comportamento do Objeto
7 lições748- 01Variáveis de InstânciaDesafioQuiz
- 02Métodos GetterDesafioQuiz
- 03Métodos SetterDesafioQuiz
- 04Propriedades CalculadasDesafioQuiz
- 05Formatação de StringsDesafioQuiz
- 06Verificações de IgualdadeDesafioQuiz
- 07Recapitulação - Nota do AlunoDesafio
Projeto: Banco Digital
Projeto7 lições1- 01Configuração do ProjetoDesafio
- 02Método de DepósitoProjeto
- 03Método de SaqueProjeto
- 04Obter SaldoProjeto
- 05Informações da ContaProjeto
- 06Transferir FundosProjeto
- 07Teste Final do BancoProjeto
Sobrecarga de Operadores em POO
5 lições531- 01Somando ObjetosDesafioQuiz
- 02Subtraindo ObjetosDesafioQuiz
- 03Concatenando ObjetosDesafioQuiz
- 04Comparando Objetos (<, >)DesafioQuiz
- 05Recapitulação - Matemática de CarteiraDesafio
Fundamentos de Herança
6 lições643- 01Configurando a HerançaDesafioQuiz
- 02Herdando MétodosDesafioQuiz
- 03Estendendo o ConstrutorDesafioQuiz
- 04Adicionando Métodos FilhosDesafioQuiz
- 05Compartilhado vs ÚnicoDesafioQuiz
- 06Recapitulação - Hierarquia de FormasDesafio
Polimorfismo e Sobrescrita
6 lições640- 01Sobrescrita de MétodosDesafioQuiz
- 02Chamando Métodos da Classe PaiDesafioQuiz
- 03Duck TypingDesafioQuiz
- 04Interface ComumDesafioQuiz
- 05Verificando o TipoDesafioQuiz
- 06Recapitulação - Papéis de FuncionáriosDesafio
Encapsulamento
6 lições644- 01Convenções de NomenclaturaDesafioQuiz
- 02Closures para PrivacidadeDesafioQuiz
- 03Acesso via ClosuresDesafioQuiz
- 04Tabelas Somente LeituraDesafioQuiz
- 05Lógica de ValidaçãoDesafioQuiz
- 06Recapitulação - Cofre SeguroDesafio
Composição e Mixins
6 lições642- 01Relacionamento Tem-UmDesafioQuiz
- 02DelegaçãoDesafioQuiz
- 03Mixins SimplesDesafioQuiz
- 04Aplicando Múltiplos MixinsDesafioQuiz
- 05Mixins vs HerançaDesafioQuiz
- 06Recapitulação - Montagem de RobôDesafio
Projeto: Gerenciador de Formas
Projeto7 lições1- 01Configuração do ProjetoDesafio
- 02Classe RetânguloProjeto
- 03Classe CírculoProjeto
- 04Método PerímetroProjeto
- 05Coleção de FormasProjeto
- 06Área TotalProjeto
- 07Filtrar FormasProjeto
Padrões de Projeto (Lite)
5 lições532- 01Funções FactoryDesafioQuiz
- 02Tabela SingletonDesafioQuiz
- 03Padrão IteratorDesafioQuiz
- 04Observer (Listener)DesafioQuiz
- 05Recapitulação - Logger FactoryDesafio
Desafios Finais
4 lições4- 01Revisão - Sistema de InventárioDesafio
- 02Revisão - Gerenciador de UsuáriosDesafio
- 03Revisão - Rastreador de PontuaçãoDesafio
- 04Verificação Final de POODesafio
Por que aprender Lua com a Coddy
- Curso de Lua online e grátis: sem instalação, sem configurar ferramentas e sem barreiras para começar. Abra o navegador e pratique desde a primeira aula.
- Aulas práticas de Lua que vão além de um tutorial: cada conceito vem com um desafio para escrever código real e aprender fazendo.
- As dicas de IA ajudam quando você trava em um exercício de Lua, mostrando o próximo passo sem entregar a resposta completa.
- Certificado grátis de conclusão para compartilhar no LinkedIn ou adicionar ao currículo como prova de que você completou um curso interativo de Lua.
Perguntas frequentes sobre aprender Lua
Lua é fácil de aprender?
Sim, você pode começar com Lua mesmo sem experiência. A Coddy divide os conceitos em exercícios curtos para você entender a sintaxe, praticar variáveis, condicionais, loops, funções, estruturas de dados e organização de projetos e ganhar confiança aos poucos.
Quanto tempo leva para aprender Lua?
Os fundamentos de Lua geralmente podem ser aprendidos em uma ou duas semanas de prática diária. Para criar projetos reais com segurança, reserve de um a três meses, dependendo do seu ritmo.
Onde posso aprender Lua online grátis?
A Coddy oferece um curso online grátis de Lua com aulas, desafios de código, quizzes e projetos. Não é preciso instalar nada: tudo funciona no navegador.
Como aprender Lua rápido?
A forma mais rápida é praticar todos os dias. Na Coddy você alterna explicação curta, exercício imediato e feedback com dicas de IA, passando mais tempo escrevendo Lua do que assistindo a vídeos longos.
Recebo um certificado de Lua ao terminar?
Sim. Ao concluir o curso de Lua na Coddy, você recebe um certificado grátis de conclusão para compartilhar no LinkedIn ou incluir no currículo.
O que posso criar depois de aprender Lua?
Depois do curso, você poderá criar scripts úteis, pequenos apps, automações, jogos simples e projetos para mostrar no portfólio. Também terá uma base sólida para avançar para tópicos mais profissionais.