Aktionen

Piet: Unterschied zwischen den Versionen

Aus exmediawiki

(Die Seite wurde neu angelegt: „ Wikipedia-Eintrag: https://de.wikipedia.org/wiki/Piet_(Programmiersprache) Entwickelt von: * David Morgan-Mar (<= 2002) Designkriterien: * Programme soll…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 
Wikipedia-Eintrag: https://de.wikipedia.org/wiki/Piet_(Programmiersprache)
 
 
  
 
Entwickelt von:  
 
Entwickelt von:  
Zeile 13: Zeile 10:
  
 
Es existieren:
 
Es existieren:
* Interpreter
+
* Interpreter (z.B. [https://github.com/JensBouman/Piet_interpreter hier] in Python)
 
* Piet-Editor mit Traces
 
* Piet-Editor mit Traces
 
* Online Piet Editor und Compiler (Demo)
 
* Online Piet Editor und Compiler (Demo)
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]]

Aktuelle Version vom 11. April 2021, 17:39 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 (z.B. hier in Python)
  • 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

"Hello World"

Piet hello big.png

"Piet"

Piet Program.gif

Links