Lua lernen
Ein kostenloser, interaktiver Online-Kurs für Lua. In jeder Lektion schreibst du selbst Lua - mit KI-Hinweisen, wenn mal wieder irgendwo ein nil auftaucht, und einem kostenlosen Zertifikat zum Abschluss.
58,210+ codders eingeschrieben
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
Kostenloses Abschlusszertifikat
Lehrplan
Abschnitt 1
Fundamentals
Abschnitt startenStartenAusklappenEinklappenThe first section in Lua for absolute beginners.Einführung
3 Lektionen216- 01Die SpracheAufgabe
- 02Hello World!AufgabeQuiz
- 03KommentareQuiz
Variablen und Datentypen
8 Lektionen754- 01Was ist eine Variable?AufgabeQuiz
- 02ZahlenAufgabeQuiz
- 03StringsAufgabeQuiz
- 04BooleansAufgabeQuiz
- 05Der Wert 'nil'AufgabeQuiz
- 06Die type()-FunktionAufgabeQuiz
- 07NamenskonventionenQuiz
- 08Zusammenfassung - CharakterprofilAufgabe
Operatoren 1 Arithmetik & Verkettung
6 Lektionen635- 01Arithmetische OperatorenAufgabeQuiz
- 02Modulo-OperatorAufgabeQuiz
- 03PotenzierungsoperatorAufgabeQuiz
- 04String-VerkettungAufgabeQuiz
- 05OperatorrangfolgeAufgabeQuiz
- 06Rückblick - Einfache BerechnungenAufgabe
Operatoren 2: Vergleichs- & Logikoperatoren
8 Lektionen651- 01GleichheitsoperatorenAufgabeQuiz
- 02VergleichsoperatorenAufgabeQuiz
- 03Der 'and'-OperatorAufgabeQuiz
- 04Der 'or'-OperatorAufgabeQuiz
- 05Der 'not'-OperatorAufgabeQuiz
- 06Short-Circuit EvaluationQuiz
- 07Truthy- und Falsy-WerteQuiz
- 08Zusammenfassung – Einfache LogikAufgabe
Grundlegende Ausgabe
9 Lektionen954- 01Literale ausgebenAufgabeQuiz
- 02Variablen ausgebenAufgabeQuiz
- 03Mehrere Werte ausgebenAufgabeQuiz
- 04Strings & Variablen kombinierenAufgabeQuiz
- 05Die tostring() FunktionAufgabeQuiz
- 06EingabeAufgabeQuiz
- 07CastAufgabeQuiz
- 08Wiederholung - StatusberichtAufgabe
- 09Wiederholung - Bis 120Aufgabe
Projekt: Charakter-Stats Anzeige
Projekt5 Lektionen1- 01WillkommensnachrichtAufgabe
- 02Charakter-Stats deklarierenProjekt
- 03Basis-Stats anzeigenProjekt
- 04Ein Boolean-Flag hinzufügenProjekt
- 05Abschließende ZusammenfassungProjekt
Grundlagen der bedingten Logik
4 Lektionen423- 01Die if-then-AnweisungAufgabeQuiz
- 02Die if-then-else-AnweisungAufgabeQuiz
- 03Die elseif-AnweisungAufgabeQuiz
- 04Zusammenfassung – SchatzkisteAufgabe
Grundlagen der String-Manipulation
6 Lektionen637- 01string.len()AufgabeQuiz
- 02string.upper & string.lowerAufgabeQuiz
- 03string.sub()AufgabeQuiz
- 04string.rep()AufgabeQuiz
- 05string.find()AufgabeQuiz
- 06Wiederholung - Benutzernamen formatierenAufgabe
Grundlagen der Funktionen
6 Lektionen636- 01Eine Funktion deklarierenAufgabeQuiz
- 02Eine Funktion aufrufenAufgabeQuiz
- 03Funktionen mit ParameternAufgabeQuiz
- 04Funktionen mit mehreren ParameternAufgabeQuiz
- 05Die 'return'-AnweisungAufgabeQuiz
- 06Zusammenfassung - FlächenrechnerAufgabe
Tabellen Teil 1: Listen-Stil
8 Lektionen752- 01Was ist eine Tabelle?Quiz
- 02Eine Tabelle erstellenAufgabeQuiz
- 03Zugriff auf Elemente per IndexAufgabeQuiz
- 04Elemente per Index ändernAufgabeQuiz
- 05Der Längenoperator '#'AufgabeQuiz
- 06table.insert()AufgabeQuiz
- 07table.remove()AufgabeQuiz
- 08Zusammenfassung - Gruppenmitglieder verwaltenAufgabe
Tabellen 2: Dictionary-Stil
7 Lektionen648- 01Schlüssel-Wert-PaareQuiz
- 02Dictionary-Stil Tabellen erstellenAufgabeQuiz
- 03Zugriff – KlammerschreibweiseAufgabeQuiz
- 04Zugriff mit PunktnotationAufgabeQuiz
- 05Paare hinzufügen und ändernAufgabeQuiz
- 06Paare mit nil entfernenAufgabeQuiz
- 07Wiederholung – ElementeigenschaftenAufgabe
Schleifen-Grundlagen
6 Lektionen636- 01Die while-SchleifeAufgabeQuiz
- 02Die repeat-until-SchleifeAufgabeQuiz
- 03Die numerische for-SchleifeAufgabeQuiz
- 04for-Schleife mit SchrittweiteAufgabeQuiz
- 05Die 'break'-AnweisungAufgabeQuiz
- 06Zusammenfassung - CountdownAufgabe
Projekt: Einfacher Zaubertrank-Laden
Projekt6 Lektionen1- 01Projekt-SetupAufgabe
- 02Einen Trank hinzufügenProjekt
- 03Das Inventar anzeigenProjekt
- 04Gesamten Lagerwert berechnenProjekt
- 05Einen bestimmten Trank findenProjekt
- 06Einen Trank verkaufenProjekt
Gültigkeitsbereich von Variablen
5 Lektionen330- 01Globale VariablenQuiz
- 02Lokale VariablenAufgabeQuiz
- 03Warum lokale Variablen verwenden?Quiz
- 04Gültigkeitsbereich und BlöckeAufgabeQuiz
- 05Rückblick – Scope-RätselAufgabe
Abschluss-Herausforderungen
3 Lektionen3- 01Wiederholung – SpielerzugAufgabe
- 02Wiederholung – Einfache DatenbankAufgabe
- 03Wiederholung – Summe gerader ZahlenAufgabe
Abschnitt 2
Logic & Flow
Abschnitt startenStartenAusklappenEinklappenDevelop problem-solving skills and create dynamic, interactive programsFortgeschrittene Table-Iteration
4 Lektionen423- 01Iterieren mit pairs()AufgabeQuiz
- 02Iterieren mit ipairs()AufgabeQuiz
- 03pairs() vs. ipairs()AufgabeQuiz
- 04Zusammenfassung – CharakterbogenAufgabe
Weitere Funktionen der Table-Bibliothek
5 Lektionen430- 01table.concat()AufgabeQuiz
- 02Tabellenerstellung & unpack()AufgabeQuiz
- 03table.sort()AufgabeQuiz
- 04Benutzerdefiniertes Sortieren mit FunktionenQuiz
- 05Rückblick – Highscore-TabelleAufgabe
Fortgeschrittene Funktionskonzepte
6 Lektionen539- 01Mehrere RückgabewerteQuiz
- 02Variadische Funktionen (...)AufgabeQuiz
- 03Funktionen als First-Class ValuesAufgabeQuiz
- 04Anonyme FunktionenAufgabeQuiz
- 05Was ist eine Closure?AufgabeQuiz
- 06Zusammenfassung – Einfacher Event HandlerAufgabe
Einführung in Metatables
8 Lektionen757- 01Was ist eine Metatable?Quiz
- 02setmetatable & getmetatableAufgabeQuiz
- 03Die __index-MetamethodeAufgabeQuiz
- 04Die __newindex-MetamethodeAufgabeQuiz
- 05Die __tostring-MetamethodeAufgabeQuiz
- 06Arithmetische Metamethoden Teil 1AufgabeQuiz
- 07Arithmetische Metamethoden Teil 2AufgabeQuiz
- 08Zusammenfassung – Schreibgeschützte TabellenAufgabe
Projekt: Text-Adventure-Engine
Projekt8 Lektionen1- 01Projekt-Setup: Der RaumAufgabe
- 02Räume verknüpfenProjekt
- 03SpielerzustandProjekt
- 04Die Game-LoopProjekt
- 05Benutzereingaben verarbeitenProjekt
- 06Den Spieler bewegenProjekt
- 07Ungültige Spielzüge verarbeitenProjekt
- 08Ausgänge anzeigenProjekt
Fehlerbehandlung
3 Lektionen216- 01Die error()-FunktionQuiz
- 02Geschützte Aufrufe mit pcall()AufgabeQuiz
- 03Zusammenfassung – Sichere DivisionAufgabe
Fortgeschrittene String-Manipulation
6 Lektionen641- 01string.gsub() für ErsetzungenAufgabeQuiz
- 02Einführung in String-PatternsAufgabeQuiz
- 03string.find()AufgabeQuiz
- 04string.match()AufgabeQuiz
- 05Iterieren mit string.gmatch()AufgabeQuiz
- 06Rückblick – Log-File-ParserAufgabe
Projekt: Kontaktliste
Projekt7 Lektionen1- 01Projekt-SetupAufgabe
- 02Die HauptschleifeProjekt
- 03Einen Kontakt hinzufügenProjekt
- 04Alle Kontakte auflistenProjekt
- 05Nach einem Kontakt suchenProjekt
- 06Einen Kontakt löschenProjekt
- 07Ungültige Eingaben verarbeitenProjekt
Coroutines für Anfänger
7 Lektionen638- 01Was ist eine Coroutine?Quiz
- 02coroutine create & resumeAufgabeQuiz
- 03Pausieren mit coroutine.yield()AufgabeQuiz
- 04resume & yieldAufgabeQuiz
- 05Coroutine-Status prüfenAufgabeQuiz
- 06Wiederholung – ZahlengeneratorAufgabe
- 07Wiederholung – VektormathematikAufgabe
Abschnitt 3
Object Oriented Programming
Abschnitt startenStartenAusklappenEinklappenDiscover how to organize code with classes, objects, and reusable structuresDas 'self'-Konzept
5 Lektionen532- 01Tabellen mit FunktionenAufgabeQuiz
- 02Explizites 'self'AufgabeQuiz
- 03Die Doppelpunkt-SyntaxAufgabeQuiz
- 04Punkt vs. DoppelpunktAufgabeQuiz
- 05Zusammenfassung – Beweglicher PunktAufgabe
Klassen-Prototyp-Muster
6 Lektionen641- 01Das Prototyp-KonzeptAufgabeQuiz
- 02Verknüpfung mit __indexAufgabeQuiz
- 03Der :new()-KonstruktorAufgabeQuiz
- 04Attribute initialisierenAufgabeQuiz
- 05Unabhängige InstanzenAufgabeQuiz
- 06Zusammenfassung – AutofabrikAufgabe
Objektzustand und -verhalten
7 Lektionen748- 01InstanzvariablenAufgabeQuiz
- 02Getter-MethodenAufgabeQuiz
- 03Setter-MethodenAufgabeQuiz
- 04Berechnete EigenschaftenAufgabeQuiz
- 05Strings formatierenAufgabeQuiz
- 06GleichheitsprüfungenAufgabeQuiz
- 07Zusammenfassung – StudentennoteAufgabe
Projekt: Digitale Bank
Projekt7 Lektionen1- 01Projekt-SetupAufgabe
- 02EinzahlungsmethodeProjekt
- 03AuszahlungsmethodeProjekt
- 04Kontostand abrufenProjekt
- 05KontoinformationenProjekt
- 06Geld überweisenProjekt
- 07Abschließender Bank-TestProjekt
Operatorüberladung in OOP
5 Lektionen531- 01Objekte addierenAufgabeQuiz
- 02Objekte subtrahierenAufgabeQuiz
- 03Objekte verkettenAufgabeQuiz
- 04Objekte vergleichen (<, >)AufgabeQuiz
- 05Rückblick – Wallet-MathematikAufgabe
Grundlagen der Vererbung
6 Lektionen643- 01Das Vererbungs-SetupAufgabeQuiz
- 02Methoden vererbenAufgabeQuiz
- 03Den Konstruktor erweiternAufgabeQuiz
- 04Child-Methoden hinzufügenAufgabeQuiz
- 05Gemeinsam vs. EinzigartigAufgabeQuiz
- 06Zusammenfassung - Formen-HierarchieAufgabe
Polymorphie & Überschreiben
6 Lektionen640- 01Methoden überschreibenAufgabeQuiz
- 02Elternmethoden aufrufenAufgabeQuiz
- 03Duck TypingAufgabeQuiz
- 04Gemeinsames InterfaceAufgabeQuiz
- 05Typ prüfenAufgabeQuiz
- 06Rückblick - MitarbeiterrollenAufgabe
Kapselung
6 Lektionen644- 01NamenskonventionenAufgabeQuiz
- 02Closures für private DatenAufgabeQuiz
- 03Zugriff über ClosuresAufgabeQuiz
- 04Schreibgeschützte TabellenAufgabeQuiz
- 05ValidierungslogikAufgabeQuiz
- 06Zusammenfassung – Sicherer TresorAufgabe
Komposition & Mixins
6 Lektionen642- 01Has-A-BeziehungAufgabeQuiz
- 02DelegationAufgabeQuiz
- 03Einfache MixinsAufgabeQuiz
- 04Anwendung mehrerer MixinsAufgabeQuiz
- 05Mixins vs. VererbungAufgabeQuiz
- 06Zusammenfassung – Roboter-MontageAufgabe
Projekt: Formen-Manager
Projekt7 Lektionen1- 01Projekt-SetupAufgabe
- 02Rechteck-KlasseProjekt
- 03Kreis-KlasseProjekt
- 04Umfang-MethodeProjekt
- 05Formen-SammlungProjekt
- 06GesamtflächeProjekt
- 07Formen filternProjekt
Entwurfsmuster (Lite)
5 Lektionen532- 01Factory-FunktionenAufgabeQuiz
- 02Singleton-TabelleAufgabeQuiz
- 03Iterator-MusterAufgabeQuiz
- 04Observer (Listener)AufgabeQuiz
- 05Wiederholung – Logger-FactoryAufgabe
Abschluss-Herausforderungen
4 Lektionen4- 01Wiederholung - InventarsystemAufgabe
- 02Wiederholung - BenutzerverwaltungAufgabe
- 03Wiederholung - Score-TrackerAufgabe
- 04Finaler OOP-CheckAufgabe
Lua-Kurse
Praktische Lua-Kurse, kostenlos im Browser zu starten.
Herausforderungen für Anfänger – Grundlagen üben
BeliebtStelle dein Programmierwissen für Anfänger auf die Probe und versuche, diese Programmier-Herausforderungen zu lösen. Nutze dabei eine beliebige Sprache deiner Wahl. Viel Spaß beim Programmieren!
Zertifikat am Ende
- 20
- 20
Programmieraufgaben
BeliebtStelle deine Fähigkeiten zur Problemlösung beim Programmieren mit Übungen in verschiedenen Schwierigkeitsgraden auf die Probe. Dieser Kurs richtet sich an Programmierer mit Vorkenntnissen der Basissyntax einer beliebigen Programmiersprache.
Zertifikat am Ende
- 32
- 31
Coding Problems: Teil 2
Stelle deine Fähigkeiten zur Problemlösung beim Programmieren mit den Übungen in verschiedenen Schwierigkeitsgraden in diesem Kurs auf die Probe. Dieser Kurs wurde für Programmierer mit Vorkenntnissen der Basissyntax in einer beliebigen Programmiersprache entwickelt und ist eine Erweiterung des ersten Teils von Coding Problems.
Zertifikat am Ende
- 25
- 24
Stack - Datenstrukturen-Serie #1
In diesem Kurs lernst du die Datenstruktur Stack kennen, erstellst einen Stack von Grund auf in deiner bevorzugten Sprache und löst praktische Coding-Challenges damit!
- 13
- 6
- 1
Heaps & Priority Queues - Datenstrukturen-Serie #7
NeuIn diesem Kurs lernst du die Heap-Datenstruktur kennen (das Rückgrat von Priority Queues), entwickelst einen MinHeap von Grund auf in deiner bevorzugten Programmiersprache und meisterst praktische Coding-Challenges damit!
Zertifikat am Ende
- 14
- 6
- 1
Sternmuster-Bootcamp
Nutze deine Fähigkeiten zur Problemlösung beim Programmieren, um zu lernen, wie man Sternmuster von einfach bis komplex ausgibt. Dabei kommen verschiedene Ebenen von verschachtelten Schleifen, bedingten Anweisungen und mathematischen Berechnungen zum Einsatz.
- 30
- 28
Warum Lua mit Coddy lernen
- Echten Lua-Code im Browser ausführen. Kein Lua-Interpreter zu installieren, kein Toolchain-Setup. Jede Lektion führt dein Lua-Skript serverseitig aus und zeigt die Ausgabe sofort an.
- Lua, wie es wirklich eingesetzt wird: Variablen, Kontrollfluss, Funktionen, Tables (Luas einzige echte Datenstruktur), String-Manipulation, Metatables und OOP-Muster, Fehlerbehandlung. Die Lua-Grundlagen, die du für Roblox, Love2D oder Embedded-Scripting brauchst.
- KI-Hinweise helfen dir beim Debuggen von Lua-Skripten und beim Lesen von Fehlermeldungen, ohne die Lösung zu verraten – so werden typische Stolperfallen wie nil-Indexierung und 1-basierte Arrays zu Lernmomenten.
- Kostenloses Lua-Zertifikat, wenn du den Kurs abschließt. Ein glaubwürdiges Signal neben Roblox-Spielen, Mods oder Embedded-Scripting-Projekten, die du gebaut hast.