Curso online gratuito Introdução à Programação e Lógica com Lua do Zero ao OOP e Game Dev
Duração do curso online: 6 horas e 1 minutos
Novo
Aprenda lógica e programação em Lua e crie jogos com OOP e game loop. Curso online gratuito, com prática e exercícios para evoluir do zero.
Neste curso gratuito, aprenda sobre
Configurar ambiente Lua: execução online, VS Code, Love2D e debugger
Sintaxe base: print, comentários, números e operadores aritméticos
Variáveis, tipos básicos e conversões: string, boolean, nil, NaN
Concatenação (..) e escape de caracteres para strings com aspas e símbolos
Entrada e saída: perguntas ao usuário e leitura com io.read()
Funções: definição, parâmetros, escopo e retorno de valores
Variáveis locais vs globais e sombreamento de nomes em funções
Comparações e lógica: ==, if/then/else, and/or/not e combinações
Laços: while, for e repeat...until e quando usar cada um
Tabelas em Lua: arrays, dicionários, matrizes e acesso por índice/chave
Uso da documentação e biblioteca padrão (ex.: string.gsub para substituir)
Criação de módulos/pacotes: exportar funções e importar em outros arquivos
POO em Lua com tabelas: objetos, atributos, métodos, self e operador :
Arquitetura de jogos: encapsulamento, eventos, game loop e debounce
Sobre o curso online gratuito
Quer sair do zero e finalmente entender como programar de verdade? Neste curso online gratuito, você aprende programação e lógica usando Lua, uma linguagem leve, prática e muito usada em scripts e no desenvolvimento de jogos. A proposta é construir base sólida: compreender como o computador “pensa”, como transformar problemas em algoritmos e como escrever código limpo que funciona.
Você começa com os fundamentos que destravam quem está iniciando: saída de texto, comentários, números, operadores, variáveis e manipulação de strings. Em seguida, o curso evolui para decisões e controle de fluxo, trabalhando comparações, valores booleanos e estruturas condicionais para criar regras — exatamente o tipo de raciocínio que aparece em qualquer software e também em mecânicas de jogo.
Conforme avança, você desenvolve autonomia para modelar problemas com funções, entrada e saída de dados, escopo de variáveis e retorno de valores. Esses conceitos são essenciais para organizar código, reaproveitar lógica e criar comportamentos previsíveis, inclusive em cenários comuns como cálculos e regras de física simples. Depois, entram as estruturas de repetição e as tabelas do Lua, que permitem lidar com listas, dicionários e coleções de entidades, abrindo espaço para projetos mais completos.
O curso também mostra como consultar documentação, usar a biblioteca padrão, criar módulos e organizar suas próprias bibliotecas — uma habilidade que diferencia quem apenas “escreve código” de quem constrói projetos sustentáveis. A virada acontece ao entrar em Programação Orientada a Objetos com Lua: entender classe e objeto, representar entidades com tabelas, encapsular responsabilidades e usar self e o operador dois pontos para criar código mais legível e escalável.
Fechando o caminho, você conecta lógica à prática de game dev: arquitetura orientada a eventos, game loop, noções de debounce/bounce para interações e detalhes que evitam bugs comuns. Há ainda suporte extra para configurar um ambiente produtivo com VS Code e Love2D. Se você busca uma base forte para seguir em desenvolvimento de jogos ou em programação em geral, este curso entrega progressão, prática e construção de projeto com mentalidade profissional.
Conteúdo do curso
Aula em vídeo: Introdução a Programação - 00 - Sobre o Curso - É Válido e Atualizado?02m
Exercício: Qual opção permite programar em Lua sem instalar nada no computador?
Aula em vídeo: ???????? Introdução a Programação - 01 - Olá Mundo, Comentários, Números e Operadores Básicos23m
Exercício: Em Lua, qual opção representa corretamente um comentário de múltiplas linhas?
Aula em vídeo: ???????? Introdução a Programação - 02 - Variáveis, Strings e Concatenação de Texto15m
Exercício: Em Lua, qual operador deve ser usado para juntar (concatenar) textos e também texto com número?
Aula em vídeo: ???????? Introdução a Programação - 02 Extra - Exemplo sobre Variáveis01m
Exercício: Qual é a principal utilidade de uma variável em programação (como em Lua)?
Aula em vídeo: ???????? Introdução a Programação - 03 - Valor Booleano, Igualdade e Conversão para Texto12m
Exercício: Em Lua, qual operador deve ser usado para comparar se dois valores são iguais?
Aula em vídeo: ???????? Introdução a Programação - 04 - Números Negativos e Decimais, Valores Nulos e Escape de Texto13m
Exercício: Em Lua, como você pode colocar aspas dentro de uma string sem causar erro de string não finalizada?
Aula em vídeo: ???????? Introdução a Programação - 05 - Fazendo Perguntas e Entrada e Saída de Dados11m
Exercício: Em Lua, qual alternativa descreve corretamente o que acontece ao usar io.read() para obter um nome digitado pelo usuário?
Aula em vídeo: ???????? Introdução a Programação - 06 - Algoritmos e Funções21m
Exercício: Em Lua, qual alternativa descreve corretamente como definir uma função e onde fica seu corpo (implementação)?
Aula em vídeo: ???????? Introdução a Programação - 07 - Variáveis Locais e Globais14m
Exercício: Em Lua, o que acontece quando uma função recebe um parâmetro com o mesmo nome de uma variável global existente?
Aula em vídeo: ???????? Introdução a Programação - 08 - Retorno de Valores em Funções09m
Exercício: Em Lua, qual é o principal objetivo de uma função quando queremos usá-la em cálculos (como em física de um jogo)?
Aula em vídeo: ???????? Introdução a Programação - 08 Extra - Exemplo de Retorno em Funções01m
Exercício: Qual é a principal utilidade do retorno de uma função em programação?
Aula em vídeo: ???????? Introdução a Programação - 09 - Condições lógicas e o operador SE - ENTÃO (if then else)10m
Exercício: Em Lua, qual estrutura permite testar uma condição e executar um bloco alternativo quando a condição for falsa?
Aula em vídeo: ???????? Introdução a Programação - 10 - Operador lógico E (and)14m
Exercício: Em Lua, ao usar o operador lógico and em uma condição, quando a expressão inteira será verdadeira?
Aula em vídeo: ???????? Introdução a Programação - 11 - Prática e exemplos com o Operador E (and)08m
Exercício: Ao combinar duas verificações (tecla pressionada e quantidade de munição) para permitir um tiro, qual operador lógico garante que o tiro só acontece quando as duas condições forem verdadeiras?
Aula em vídeo: ???????? Introdução a Programação - 12 - Operador lógico OU (OR) e operador NOT11m
Exercício: Em Lua, qual afirmação descreve corretamente o operador lógico or em uma condição?
Aula em vídeo: ???????? Introdução a Programação - 13 - Minigame para praticar operadores lógicos06m
Exercício: Em Lua, qual é o resultado da expressão lógica: not (true and false)?
Aula em vídeo: ???????? Introdução a Programação - 14 - Várias condições lógicas no mesmo teste04m
Exercício: Em uma condição lógica em Lua, o que é possível fazer para combinar várias verificações mantendo o resultado final como verdadeiro ou falso?
Aula em vídeo: ???????? Introdução a Programação - 15 - Laço de Repetição (Loop) WHILE (enquanto)11m
Exercício: Qual é a finalidade do loop while em Lua?
Aula em vídeo: ???????? Introdução a Programação - 16 - Laço de Repetição (Loop) FOR e REPEAT UNTIL06m
Exercício: Qual é a principal diferença do laço repeat...until em relação ao while/for?
Aula em vídeo: ???????? Introdução a Programação - 17 - Arrays, Matrizes de Dados e Dicionários20m
Exercício: Em Lua, qual é a forma correta de acessar a vida do inimigo na posição 4 em uma tabela chamada inimigos?
Aula em vídeo: ???????? Introdução a Programação - 18 - Documentação e Biblioteca Padrão Lua07m
Exercício: Ao manipular texto em Lua, qual função da biblioteca padrão é usada para substituir ocorrências de um padrão em uma string (com parâmetro opcional para limitar a quantidade de substituições)?
Aula em vídeo: ???????? Introdução a Programação - 19 - Pacotes e Módulos Lua - Como Criar e Importar11m
Exercício: Em Lua, ao criar sua própria biblioteca (pacote) com funções, qual estrutura é normalmente usada para armazenar e exportar essas funções?
Aula em vídeo: ???????? Introdução a Programação - 20 - Programação Orientada a Objetos (POO / OOP) - Conceitos11m
Exercício: Na Programação Orientada a Objetos, qual alternativa descreve corretamente a diferença entre classe e objeto?
Aula em vídeo: ???????? Introdução a Programação - 21 - Tabelas Lua são Objetos - OOP Orientação a Objetos08m
Exercício: Em Lua, qual estrutura é comumente usada para representar objetos, armazenando atributos (estado) e podendo conter funções?
Aula em vídeo: Introdução a Programação - 22 - Criando um Jogo em Lua com Tabelas e Pacotes - Orientada a Objetos32m
Exercício: Em um mini-jogo com entidades como Player, Item e Inimigo, qual prática melhor segue o encapsulamento na orientação a objetos?
Aula em vídeo: ???????? Introdução a Programação - 23 - self e operador dois pontos em Lua - Orientação a Objetos08m
Exercício: Em Lua, ao criar uma “classe” com tabela para instanciar objetos (ex.: Conta/Banco), qual forma correta de definir um método que acessa/modifica o estado da própria instância?
Aula em vídeo: ???????? Introdução a Programação - 24 - Dominando Programação Orientada a Objetos com Lua - Projeto Final06m
Exercício: Ao transformar um jogo em orientado a objetos em Lua, qual mudança é mais característica?
Aula em vídeo: ???????? Introdução a Programação - 25 - Eventos, Programação Orientada a Eventos e Pac-Man24m
Exercício: Em programação baseada em eventos, o que determina o fluxo de execução do programa?
Aula em vídeo: ???????? Introdução a Programação - 26 - Game Loop10m
Aula em vídeo: ???????? Introdução a Programação - 27 - Bounce e Debounce05m
Exercício: Qual é o objetivo do conceito de debounce ao detectar uma colisão/toque em um jogo?
Aula em vídeo: ???????? Introdução a Programação - 28 - O que é o NaN: Not a Number?05m
Aula em vídeo: Como configurar o VS Code para Lua e LOVE 2D (bônus: suporte a debugger)07m
Exercício: Qual ação é necessária para o VS Code conseguir executar projetos Love2D sem você informar o caminho do executável toda vez?