Projekt Name Projekt Beschreibung Projekt Type Projekt Status
PushSwap Ein Sorting algorythmus mit nur 2 Stacks, wobei nur die folgenden befehle benutzt werden dürfen: SA SB SS, RA RB RR, RRA RRB RRR, PA PB Programm: Algorythmus Komplett
SoLong Ein kleines graphisches spiel in grid-basis, bei dem ein Spieler alle Collectables einsammeln muss. Spiel Komplett
Minitalk Ein Textserver, der Signale in Textnachrichten umwandelt. Programm: Signalstruktur Komplett
Philosophers Simulation des Dining Philosophers Problems mit Fokus auf Ressourcenmanagement und Threads. Programm: Nebenläufigkeit Komplett
Minishell Eine vereinfachte Shell-Implementierung mit Builtins, Pipes und Signalhandling. Programm: System Komplett
Cub3d Ein Raycasting-Algorithmus zur Erzeugung einer pseudo-3D-Umgebung aus einer 2D-Karte. Programm: Raycasting Komplett
WebServ Ein C++ Webserver, der Konfigurationsdateien nutzt und HTTP-Anfragen verarbeitet. Programm: WebServer Nicht gestartet
ChatGodApp Webseite, die GPT, Whisper und ElevenLabs kombiniert für multimodale Chat-Interaktion. Programm: AI Hold
Georges Bizarre Adventure Jump'n'Run für die Luxemburg Gaming Expo 2024; Pro Level 42 Sekunden Zeit. Spiel: Jump and Run Komplett
Projekt TM Pokemon-inspiriertes RPG, Ziel ist die Archäologenprüfung; Amulette fangen und Kämpfe. Spiel: RPG Working
TM Musik Hintergrundmusik für das Projekt TM (Demo-Track, Reise-Feeling). Musik Working
PushSwap Sorting algorythm

PushSwap

Push Swap ist ein Projekt der 42 Coding Schule, in dem es darum geht, eine gegebene Folge von Zahlen mit möglichst wenigen Operationen zu sortieren. Das Besondere: Es dürfen nur zwei Stacks verwendet werden (Stack A und Stack B) und nur eine festgelegte Menge an Operationen wie Swap, Push und Rotate.

Typische Operationen sind: sa, sb, ss (Tauschen der obersten Elemente), pa, pb (Push zwischen den Stacks), ra, rb, rr (Rotationen nach oben) und die entsprechenden Reverse-Rotationen rra, rrb, rrr. Die Herausforderung besteht darin, eine Strategie zu entwerfen, die mit möglichst wenigen dieser Befehle auskommt und dabei Laufzeit- und Speicherbeschränkungen einzuhalten.

In diesem Projekt werden Konzepte wie Greedy-Algorithmen, Partitionierung, sowie Analyse von Worst- und Average-Case-Befehlsanzahlen vermittelt.

Minitalk

Minitalk

Minitalk demonstriert die Übertragung von Nachrichten zwischen einem Client und einem Server mithilfe von Signalen (POSIX signals). Der Client kodiert Text in einzelne Bits und sendet sie sequenziell an den Server, der die empfangenen Bits zu Zeichen zusammensetzt und die Nachricht darstellt.

Wichtige Aspekte sind die richtige Bitkodierung, Handshakes oder Acknowledgements, sowie das zuverlässige Verarbeiten asynchroner Signale.

Philosophers

Das Philosophers-Projekt simuliert das klassische "Dining Philosophers"-Problem und veranschaulicht Probleme des Nebenläufigkeitsmanagements: Deadlocks, Race Conditions und Verhungern (starvation). Jeder Philosoph cyclicht durch Denken, Essen und Schlafen und benötigt zwei Ressourcen (Gabeln), um zu essen.

Die Implementierung demonstriert verschiedene Lösungsansätze: Mutexes oder Semaphoren zur Vermeidung gleichzeitiger Ressourcennutzung, festgelegte Pickup-Reihenfolgen, oder Überwachungs-Threads, die Timeouts erkennen.

Philosophers
SoLong game

SoLong

SoLong ist ein kleines, rasterbasiertes Spiel, bei dem der Spieler ein Level vollständig erkunden muss, um alle Sammelobjekte (Collectables) einzusammeln und anschließend das Ziel zu erreichen.

Maps bestehen aus einfachen Zeichenkarten, die Wände, freie Flächen, Start- und Zielpositionen sowie Sammelobjekte definieren.

Minishell

Minishell ist eine vereinfachte Umsetzung einer UNIX-Shell, die grundlegende Konzepte der Kommandozeile vermittelt. Dazu gehören das Parsen von Befehlen, Ausführung externer Programme via fork()/exec() sowie interne Builtins wie cd, echo und exit.

Weitere Komponenten sind das Handling von Pipes und Weiterleitungen (|, >, <), Umgebungsvariablen und Signalbehandlung.

Minishell
Cub3d

Cub3d

Cub3d implementiert einen Raycasting-Algorithmus, der aus einer 2D-Kartenansicht eine pseudo-3D-Ansicht erzeugt.

Das Projekt behandelt Themen wie Vektorberechnungen, Kollisionserkennung, Textur-Mapping und Kamerasteuerung.

WebServ

WebServ ist ein in C++ umgesetzter Webserver, der Konfigurationsdateien liest und HTTP-Anfragen verarbeitet.

WebServ
ChatGodApp

ChatGodApp

ChatGodApp kombiniert Sprach- und Text-KI-Technologien, um eine interaktive Chat-Erfahrung zu bieten.

Georges Bizarre Adventure

Georges Bizarre Adventure

Das ist ein spiel, welches komplett innerhalb einer woche entstanden ist für die Luxemburg Gaming Expo 2024. Pro Level hat man 42 sekunden zeit es zu bezwingen. Wir konnten damit von 5 teams den zweiten platz sichern.

Download

Projekt TM

Ein Pokemon inspiriertes RPG, wo das ziel ist die Archiologen prüfung zu bestehen. Durch Amulette kann man Monster einfangen und im kampf benutzen.

TM Musik

Das ist ein demo track für hintergrund musik für das TM Projekt. es soll einem das gefühl einer reise geben.

Logo

Das ist eine Karikatur von mir als person, welche ich als mein Profiel bild verwende

Logo
George Sprite

George Sprite

Sprites aus dem GGBA-Projekt.