Ein Sammelsurium kleiner Aufgaben und Kuriositäten.
In dieser Sandbox kannst du beliebige Dinge programmieren. Es gibt hier keine richtigen oder falschen Lösungen, aber wenn du mal einen Python-Interpreter zum ausprobieren brauchst, bist du hier genau richtig.
In dieser Sandbox kannst du mit deiner MySQL-Datenbank interagieren.
Programmiere eine 6502-CPU mit Assembler-Code.
Der Code beginnt an Adresse $600
und an den Speicherstellen $200
bis $5ff
befindet sich der Bildschirmspeicher für 32x32 Pixel mit 16 EGA-Farben.
Eine Übersicht der 6502-Befehle findest du z. B. hier.
Hier gibt es den Quelltext für ein Snake-Spiel, das du einfach kopieren und ausprobieren kannst.
Zeichne Pixel auf eine gemeinsame Zeichenfläche! Deine Pixel bleiben so lange stehen, bis jemand anderes etwas darüber zeichnet.
Die Zeichenfläche ist 256 Pixel breit und 144 Pixel hoch. Der Pixel links oben hat die Koordinaten (0, 0), der Pixel rechts unten hat die Koordinaten (255, 143). Verwende die Methode self.set_pixel(x, y, r, g, b)
, um einen Pixel zu setzen, wobei r
, g
und b
jeweils die Intensität von rot, grün und blau im Bereich von 0 bis 255 angeben.
Du darfst natürlich auch die ganze Zeichenfläche überschreiben!
Ein Quine ist ein Programm, das seinen eigenen Quelltext ausgibt. Dabei ist es nicht erlaubt, den eigenen Quelltext zu lesen.
Schreibe einen Quine! Bonuspunkte (ehrenhalber) gibt es für Lösungen, die nicht sofort per Google zu finden sind. 😉
Hier kannst du mit Unit-Tests experimentieren.
Implementiere zuerst die Funktion vorsprung
, so dass
alle Tests fehlerfrei durchlaufen.
Finde anschließend weitere Tests, um die Robustheit der Funktion zu erhöhen.
Hier kannst du mit einem Labeldrucker experimentieren, indem du Label in ZPL (Zebra Programming Language) erstellst.
Maße des Labels:
57.0 mm × 31.5 mm
Ein Label muss immer mit ^XA
beginnen und mit ^XZ
enden. Dazwischen befinden sich ein oder mehrere Felder (Fields) – dies
können z. B. Texte, Barcodes oder grafische Elemente sein. Einzelne Felder werden
mit ^FS
(Field Separator) voneinander getrennt.
Hinweis: Obwohl es nicht Teil der ZPL-Spezifikation ist, können in der Hackschule einzelne Zeilen mit #
auskommentiert werden.
^BCo,h,f,g,e,m
^BQa,b,c
^FDa,bc
^CFf,h,w
^FBa,b,c,d,e
\&
getrennt.
^FDa
^FOx,y
^GBw,h,t,c,r
^GCd,t,c
^GDw,h,t,c,o
^GEw,h,t,c
^GFa,b,c,d,data
Eine vollständige Übersicht über alle ZPL-Befehle gibt es hier: ZPL II Programming Guide.