{"id":228,"date":"2012-06-09T11:50:47","date_gmt":"2012-06-09T09:50:47","guid":{"rendered":"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=228"},"modified":"2012-06-09T11:57:32","modified_gmt":"2012-06-09T09:57:32","slug":"aktionen-2-in-die-regeln-der-welt-eingreifen","status":"publish","type":"page","link":"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=228","title":{"rendered":"Aktionen 2 &#8211; In die Regeln der Welt eingreifen"},"content":{"rendered":"<p>Aktionen sind also der Motor der Welt. Sie werden meist von der Spielfigur ausgel\u00f6st. (Das Programm die Spielfigur aber auch dazu zwingen, eine bestimmte Aktion auszuf\u00fchren, und auch Nichtspielercharaktere k\u00f6nnen Aktionen ausf\u00fchren.) Wenn die Spielfigur dem Wunsch des Spielers gem\u00e4\u00df eine Aktion ausf\u00fchren soll, \u00fcberpr\u00fcfen Check-Regeln, ob die Aktion m\u00f6glich ist; Carry-out-Regeln, was die Aktion bewirkt; und Report-Regeln, was dem Spieler als Antwort ausgegeben wird.<\/p>\n<p>Diese Regeln bilden quasi die Naturgesetze der Welt und beschreiben, wie sich Dinge \u00fcblicherweise verhalten: Alles Essbare kann man essen, alles Tragbare tragen, alle vorhandenen Wege kann man begehen. An diesen Naturgesetzen muss man selten etwas \u00e4ndern.<\/p>\n<hr\/>\n<p>Aber man will f\u00fcr einzelne F\u00e4lle Ausnahmen hinzuf\u00fcgen. Dazu bieten die Regeln <em>hooks<\/em> an, Stellen, an denen man in den Kreislauf der Regelverarbeitung eingreifen kann. F\u00fcr jede Aktion kann man zus\u00e4tzliche Regeln einrichten: <strong>Before, Instead<\/strong> und <strong>After<\/strong>.<\/p>\n<ul>\n<li>Die Before-Regeln werden vor den standardm\u00e4\u00dfigen Check-Regeln ausgef\u00fchrt.<\/li>\n<li>Die Instead-Regeln werden statt der standardm\u00e4\u00dfigen Check-Regeln ausgef\u00fchrt.<\/li>\n<li>Die After-Regeln werden nach den standardm\u00e4\u00dfigen Carry-out-Regeln ausgef\u00fchrt.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/herr-rau.de\/blogs\/inform\/files\/aktionen-mvc-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/herr-rau.de\/blogs\/inform\/files\/aktionen-mvc-3-1024x768.png\" alt=\"\" title=\"aktionen-mvc-3\" width=\"584\" height=\"438\" class=\"alignnone size-large wp-image-239\" \/><\/a><\/p>\n<p><small><a href=\"https:\/\/herr-rau.de\/blogs\/inform\/files\/aktionen-mvc-4.png\"\/>(Andere Darstellung mit etwas mehr Text.)<\/a><\/small><\/p>\n<p>Am h\u00e4ufigsten braucht man die Instead-Regeln, und auf die k\u00f6nnen wir uns am Anfang auch beschr\u00e4nken. Eine solche Regel besteht aus einem Kopf und dem Rumpf. Der Kopf beginnt mit &#8220;Instead of&#8221;, gefolgt von einer Aktion, optional mit Angaben zu den Objekten der Aktion. &#8220;Instead of eating something&#8221; gilt f\u00fcr alle Dinge, &#8220;Instead of eating the apple&#8221; nur f\u00fcr den Apfel. Im Rumpf der Aktion stehen dann die imperativen Anweisungen, was in diesem Fall zu geschehen hat.<br \/>\nStandardm\u00e4\u00dfig wird nach einer Instead-Regel die Regelverarbeitung abgebrochen, man kann die urspr\u00fcngliche Aktion aber regul\u00e4r fortsetzen, indem man ans Ende der Anweisungen ein &#8220;continue the action&#8221; setzt.<\/p>\n<hr\/>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\n&#x5B;Regel f\u00fcr ein konkretes Objekt:]\r\nInstead of eating the apple:\r\n\tremove the apple from play;\r\n\tsay &quot;Ugh, there was something inside.&quot;;\r\n\tsay &quot;Something dropped at your feet.&quot;;\r\n\tnow the silver key is in the location of the player.\r\n\r\n&#x5B;Regel f\u00fcr beliebige Objekt der Klasse Thing:]\r\nInstead of eating something:\r\n\tif the noun is edible:\r\n\t\tremove the noun from play;\r\n\t\tsay &quot;That tasted okay.\u201c&quot;;\r\n\totherwise:\r\n\t\tsay &quot;You're being silly.&quot;\r\n&#x5B;&quot;the noun&quot; ist dabei eine globale Variable, die das jeweilige direkte Objekt jeder aktuellen Aktion enth\u00e4lt]\r\n\r\n&#x5B;Wer nicht mit der globalen noun-Variable arbeiten will, kann dem Objekt der Aktion auf einen lokalen Namen zuweisen:]\r\nInstead of eating something (called the foodstuff):\r\n\tif the foodstuff is edible:\r\n\t\tremove the foodstuff from play;\r\n\t\tsay &quot;That tasted okay.\u201c&quot;;\r\n\totherwise:\r\n\t\tsay &quot;You're being silly.&quot;\r\n\r\nA piece of clothing is a kind of thing. It is always wearable. The plural of piece of clothing is pieces of clothing.\r\n\r\n&#x5B;Regel f\u00fcr beliebige Objekt der Klasse Kleidungsst\u00fcck:]\r\nInstead of wearing a piece of clothing (called the clothes):\r\n\tnow the player is wearing the clothes;\r\n\tsay &quot;You put on &#x5B;the clothes].&quot;\r\n\r\n&#x5B;Eine Regel f\u00fcr beliebige Objekt der Klasse Kleidungsst\u00fcck, die sich zus\u00e4tzlich durch eine bestimmte Eigenschaft auszeichnen:]\r\nInstead of wearing a piece of clothing (called the clothes) worn by the player:\r\n\tsay &quot;You're already wearing &#x5B;the clothes], stupid!&quot;\r\n\r\n&#x5B;Noch eine Regel f\u00fcr beliebige Objekt der Klasse Kleidungsst\u00fcck, die sich zus\u00e4tzlich durch eine bestimmte Eigenschaften auszeichnen. Die Eigenschaft &quot;outsize&quot; muss vorher definiert worden sein.]\r\nInstead of wearing an outsize piece of clothing (called the clothes):\r\n\tsay &quot;That's too big for you.&quot;\r\n<\/pre>\n<hr\/>\n<p>Sp\u00e4ter mal ausf\u00fchrlicher erkl\u00e4ren:<\/p>\n<p>Manchmal will man nur Aktionen umleiten:<\/p>\n<pre class=\"brush: inform7; title: ; notranslate\" title=\"\">\r\nInstead of jumping:\r\n\ttry going up.\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Aktionen sind also der Motor der Welt. Sie werden meist von der Spielfigur ausgel\u00f6st. (Das Programm die Spielfigur aber auch dazu zwingen, eine bestimmte Aktion auszuf\u00fchren, und auch Nichtspielercharaktere k\u00f6nnen Aktionen ausf\u00fchren.) Wenn die Spielfigur dem Wunsch des Spielers gem\u00e4\u00df &hellip; <a href=\"https:\/\/herr-rau.de\/blogs\/inform\/?page_id=228\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":148,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-228","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=228"}],"version-history":[{"count":0,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/228\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=\/wp\/v2\/pages\/148"}],"wp:attachment":[{"href":"https:\/\/herr-rau.de\/blogs\/inform\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}