{"id":12531,"date":"2026-01-13T08:51:26","date_gmt":"2026-01-13T08:51:26","guid":{"rendered":"https:\/\/www.gamelab.ch\/?p=12531"},"modified":"2026-01-13T08:53:33","modified_gmt":"2026-01-13T08:53:33","slug":"piet-online-ausprobieren-a-coding-game-kurzeinfuehrung","status":"publish","type":"post","link":"https:\/\/www.gamelab.ch\/?p=12531","title":{"rendered":"Piet &#8211; Online ausprobieren &#8211; A Coding Game [Kurzeinf\u00fchrung]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Piet (Mondrian) ist ein esoterische Sprache, die in als Bild mit Farben [Eigentlich ein Farbarray] geschrieben\/gezeichnet wird. Das Ganze ist ein richtiges Game, geht es doch herauszufinden, wie das Ganze funktioniert. Leider gibt es keine M\u00f6glichkeit, den Code selbst wieder zu ver\u00e4ndern &#8211; also selbst wieder Grafik zu generieren. In diesem Sinn ist der Weg offen f\u00fcr eine Sprache, die auch das kann .-) <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Online-IDE: <a href=\"https:\/\/gabriellesc.github.io\/piet\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/gabriellesc.github.io\/piet\/index.html<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Editor sieht so aus. Unbedingt den Debugger einblenden, denn nur dort l\u00e4sst sich ein PietBild &#8222;ausf\u00fchren&#8220;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"864\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-1024x864.png\" alt=\"\" class=\"wp-image-12532\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-1024x864.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-300x253.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-768x648.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-1536x1296.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.29.38-2048x1728.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Schaltet man den Debugger ein hat man eine komplette IDE vor sich.<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"828\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41-1024x828.png\" alt=\"\" class=\"wp-image-12533\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41-1024x828.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41-300x242.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41-768x621.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41-1536x1241.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-10.33.41.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das erste Ausprobieren ist irritierend. Denn &#8222;clickt&#8220; man in die Befehlsfelder ver\u00e4ndern sich diese permanent &#8211; je nachdem, was man gerade in einem Feld angewendet hat. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine &#8222;einfache Einf\u00fchrung&#8220; findet sich hier: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-1024x567.png\" alt=\"\" class=\"wp-image-12536\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-1024x567.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-300x166.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-768x425.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-1536x851.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.10.00-2048x1134.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.google.com\/presentation\/d\/e\/2PACX-1vQL2EVXcFKY1eW475ZQakUC3YARM7OzqwvpL-eFkkVkjFMXxY1G3qOHQCP2mmxAJlPVlzKsla6o-3lc\/pub?start=false&amp;loop=false&amp;delayms=3000&amp;slide=id.g312613e516_0_155\">https:\/\/docs.google.com\/presentation\/d\/e\/2PACX-1vQL2EVXcFKY1eW475ZQakUC3YARM7OzqwvpL-eFkkVkjFMXxY1G3qOHQCP2mmxAJlPVlzKsla6o-3lc\/pub?start=false&amp;loop=false&amp;delayms=3000&amp;slide=id.g312613e516_0_155<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie kann ich einen Buchstaben ausgeben. Wichtigstes Aha ist dabei. Es braucht zuerst einen Block mit Push, dann kann man auf dem Stack ein Out(char) ausf\u00fchren.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.39.png\" alt=\"\" class=\"wp-image-12537\" width=\"334\" height=\"378\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.39.png 684w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.39-265x300.png 265w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">und dann mit 1s dunkler Push und das gelbe ist dann OUT(char).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.47-360x1024.png\" alt=\"\" class=\"wp-image-12538\" width=\"132\" height=\"375\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.47-360x1024.png 360w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.47-106x300.png 106w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.22.47.png 482w\" sizes=\"auto, (max-width: 132px) 100vw, 132px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Man verstehe dann sehr schnell, warum es ein viel h\u00f6here Aufl\u00f6sung braucht f\u00fcr etwa ein Hello World.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"571\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08-1024x571.png\" alt=\"\" class=\"wp-image-12539\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08-1024x571.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08-300x167.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08-768x428.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08-1536x856.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.25.08.png 1970w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Denn es braucht letztlich einfach diese Bl\u00f6cke als Argument f\u00fcr OUT. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das heisst man w\u00e4hlt zuerst den Befehl und f\u00e4rbt einen Block als Argument ein und f\u00fchrt dann die Anzahl des Blocks aus. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Cursor scheint am Ende des Feldes nach Rechts zu drehen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.31.22.png\" alt=\"\" class=\"wp-image-12540\" width=\"324\" height=\"310\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.31.22.png 736w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-11.31.22-300x288.png 300w\" sizes=\"auto, (max-width: 324px) 100vw, 324px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Modell scheint zu sein:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">[In der Hand]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn man etwa 3+2 rechnen will w\u00e4re das so l\u00f6sbar:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"668\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.33.00.png\" alt=\"\" class=\"wp-image-12541\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.33.00.png 692w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.33.00-300x290.png 300w\" sizes=\"auto, (max-width: 692px) 100vw, 692px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Hochz\u00e4hlen im Stack?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 PUSH  | 1  push | x pop | +&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"692\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.41.00.png\" alt=\"\" class=\"wp-image-12542\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.41.00.png 670w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.41.00-290x300.png 290w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Befehl eingeben:<\/strong><br><br>1. zu oberst anfangen &#8211; auf Weiss klicken, dann Farbe ausw\u00e4hlen<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"302\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.00.png\" alt=\"\" class=\"wp-image-12544\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.00.png 646w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.00-300x140.png 300w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2. dann den Befehl, ist dann irgendwas dunkleres<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"326\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.11.png\" alt=\"\" class=\"wp-image-12545\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.11.png 660w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.47.11-300x148.png 300w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Eigentlich geht es nur um Helligkeit und nicht um Farben. Darum immer mit Weiss anfange und dann etwas anderes Klicken.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Printen des Hochz\u00e4hlens?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/ Wichtig hier : DUP &#8211; Duplizieren des obersten Elements des Stacks<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1 PUSH  | 1  push | x pop | x + | x DUP | x OUT(num) <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"644\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.59.28.png\" alt=\"\" class=\"wp-image-12546\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.59.28.png 650w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.59.28-300x297.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-14.59.28-150x150.png 150w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2 gr\u00f6sser als 1?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">xxPUSH xPUSH xGREATER \/\/ Stack 0|1<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"352\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.35.18.png\" alt=\"\" class=\"wp-image-12548\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.35.18.png 670w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.35.18-300x158.png 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7*3 <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7 push | 3 push | x* \/\/ Result on stack<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"478\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.50.40.png\" alt=\"\" class=\"wp-image-12550\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.50.40.png 640w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2026\/01\/Bildschirmfoto-2026-01-12-um-15.50.40-300x224.png 300w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selbstverst\u00e4ndlich kann und muss das ganze komplexer werden, wenn es um If-then Bedingungen geht. Hierzu stehen Befehle wie (Direction-)Pointer zur Verf\u00fcgung, wie man sagen kann, in welche Richtung der Cursor weiterl\u00e4uft. Und dann gibt es noch die M\u00f6glichkeit zu sagen, welchen Block man gerade ansteuert. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aber das scheint dann eine weitere Heldenreise zu sein. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Piet (Mondrian) ist ein esoterische Sprache, die in als Bild mit Farben [Eigentlich ein Farbarray] geschrieben\/gezeichnet wird. Das Ganze ist ein richtiges Game, geht es doch herauszufinden, wie das Ganze funktioniert. Leider gibt es keine M\u00f6glichkeit, den Code selbst wieder &hellip; <a href=\"https:\/\/www.gamelab.ch\/?p=12531\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-12531","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/12531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12531"}],"version-history":[{"count":11,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/12531\/revisions"}],"predecessor-version":[{"id":12564,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/12531\/revisions\/12564"}],"wp:attachment":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}