Piet: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) Die Seite wurde neu angelegt: „ Wikipedia-Eintrag: https://de.wikipedia.org/wiki/Piet_(Programmiersprache) Entwickelt von: * David Morgan-Mar (<= 2002) Designkriterien: * Programme soll…“ |
C.heck (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
Entwickelt von: | Entwickelt von: | ||
| Zeile 39: | Zeile 36: | ||
[[Datei:Piet Program.gif]] | [[Datei:Piet Program.gif]] | ||
===Links=== | |||
* https://www.dangermouse.net/esoteric/piet/samples.html | |||
* https://esolangs.org/wiki/Piet | |||
* https://de.wikipedia.org/wiki/Piet_(Programmiersprache) | |||
[[Category:Esolangs]] | [[Category:Esolangs]] | ||
Version vom 18. September 2020, 11:15 Uhr
Entwickelt von:
- David Morgan-Mar (<= 2002)
Designkriterien:
- Programme sollen aussehen wie abstrakte Kunst
- Besonders schöne Programme sehen aus wie Bilder von Piet Mondrian
Es existieren:
- Interpreter
- Piet-Editor mit Traces
- Online Piet Editor und Compiler (Demo)
Die kleinste semantische Einheit in einer solchen Bilddatei ist ein „Codel“ (Zusammensetzung von „Code“ und „Pixel“), ein – in der visuellen Repräsentation als Bild – Quadrat aus n2 Pixeln gleicher Farbe. Dieser Wert n wird dem Piet-Interpreter als Parameter übergeben und für die visuelle Darstellung von Piet-Programmen so gewählt, dass ein optisch ansprechendes (nicht zu kleines) Bild resultiert. Bei den Beispielen rechts hat n den Wert 4 (oben) beziehungsweise 11 (unten).
Technisch muss der Programmcode in Form einer Bilddatei im GIF-Format vorliegen. Piet ist eine Interpretersprache, das heißt der Piet-Interpreter liest den Inhalt der Datei (hier einer Bilddatei) mit dem Quelltext bitweise ein und interpretiert die darin enthaltenen Informationen als Programmbefehle.
Syntax
- Piet ist eine grafische Programmiersprache
- Zwei Programmzeiger bewegen sich durch das Bild und werden durch Farbübergänge gedreht
- Es gibt einen Stack, auf den Werte gepusht werden können
- Die Zahl der Codels ("Code + Pixel") in einer zusammenhängenden Farbfläche repräsentiert einen Integer
- Der Übergang von einer Farbe zur nächsten triggert eine Anweisung
- Schwarze Felder können nicht betreten werden, der Programmzeiger bleibt hängen und wählt eine andere Richtung
- Durch weiße Farbfelder gleitet der Programmzeiger ohne Veränderung
Befehlssatz von Piet
- Hue Cycle: red → yellow → green → cyan → blue → magenta → red
- Lightness Cycle: light → normal → dark → light

