Vorlage:Karte/Layout: Unterschied zwischen den Versionen

aus FreewarWiki, der Referenz für Freewar
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(+ APPARAT)
 
(45 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}}+{{{1}}}}}}}<!--
<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}}+{{{2}}}}}}}<!--
 
-->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_bild}}|<!--
Variablen, die hier genutzt, aber nicht hier definiert werden (falls nicht anders angegeben, werden die Variablen in [[Vorlage:Karte]] definiert):
-->{{Karte/Feld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_npc}}|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/([\x5B\x5D]){2}/|}}|none}}}}|<!--
  - {{#var:name}}: (interner) Name des darzustellenden Gebietes (LocateRegion/Data)
-->{{#if:{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_bild}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_bild}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_bild}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_bild}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_bild}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_bild}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_bild}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_bild}}|<!--
  - {{#var:map_bergfelder}}: + (plus) wenn Bergfelder angezeigt werden sollen, wenn nicht - (minus)
-->{{Karte/Berg}}|<!--
  - {{#var:locateRegion_needFieldData}}: Name des darzustellenden Gebietes
-->{{Karte/Leer}}}}}}
 
Variablen des Typs {{#var:mapxAyB_.+}} werden auch nicht hier definiert, beziehen sich aber immer auf ein bestimmtes Feld mit den Koordinaten A und B (der Einfachheit halber wird in den Beschreibungen das Präfix weg gelassen):
(falls nicht anders angegeben, werden die Variablen in [[Vorlage:Feldzusammenfassung/Layout]] definiert)
  - {{#var:_gebiet}}: Gebietsname des Feldes
  - {{#var:_bild}} (_auch_ aus [[Vorlage:Karte/Unbetretbar]]): URL des Feldbildes
  - {{#var:_npc}}: Eine kommaseparierte Liste aller auf dem Feld existierenden NPCs, in Linkform
  - {{#var:_teleport}}: Hierher kann man per Stab oder Kugel springen; die möglichen Parameter sind im Quellcode von [[Vorlage:Feldzusammenfassung/Teleportziel]] bestens erklärt
  - {{#var:_passagen_count}}: Anzahl an Passagen auf dem Feld
  - {{#var:_passage_N}} (N >= 1): Eine Passage des Feldes führt in dieses Gebiet
  - {{#var:_quest}}: Auf diesem Feld gibt es eine Quest
  - {{#var:_wiedergeburt}}: Dieses Feld ist ein Wiedergeburtsort dieser Rasse
  - {{#var:_ort}}: Dieses Feld hat einen extra Feldartikel
  - {{#var:_unbetretbar}} (aus [[Vorlage:Karte/Unbetretbar]]): Dieses Feld ist unbetretbar, hat jedoch ein extra Feldbildchen
 
Variablen, die hier genutzt und definiert werden:
  - {{#var:X}}: Absolute X-Koordinate dieses Feldes
  - {{#var:Y}}: Absolute Y-Koordinate dieses Feldes
  - {{#var:map_NPCs}}: maximale Anzahl an NPCs auf diesem Feld
  - {{#var:map_npc}}: NPC-Link eines NPCs
 
Regex-Hinweis:
  - \x5B == [
  - \x5D == ]
Diese umständliche Umschreibung der eckigen Klammern ist notwendig, da der regex-Parser hier irgendwie nicht richtig mit denen klar kommt
 
--><!--
 
Bestimme absolute Koordinaten anhand der übergebenen relativen Koordinaten
 
-->{{#vardefine:X|{{#expr:{{#var:{{#var:name}}TopLeftX}} + {{{1}}} {{#if:{{#ifeq:{{#var:map_bergfelder}}|-|1|{{#ifeq:{{#var:left_extrarow}}|0|1}}}}|+ 1}}}}}}<!--
-->{{#vardefine:Y|{{#expr:{{#var:{{#var:name}}TopLeftY}} + {{{2}}} {{#if:{{#ifeq:{{#var:map_bergfelder}}|-|1|{{#ifeq:{{#var:top_extrarow}}|0|1}}}}|+ 1}}}}}}<!--
 
Prüfe ob aktuelles Feld zum Gebiet gehört
 
-->{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|{{#var:locateRegion_needFieldData}}|<!--
 
Aktuelles Feld gehört zum Gebiet
 
--><!--
 
Wie viele NPCs gibt es auf diesem Feld? Resultat wird in {{#var:map_NPCs}} gespeichert
Wenn es keine NPCs gibt, ist {{#var:_npc}} leer.
Sonst ist es die Anzahl an NPCs = 1 + Anzahl(Kommas in {{#var:_npc}})
 
-->{{#vardefine:map_NPCs|<!--
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_npc}}|<!--
 
Das innere Regex entfernt alles innerhalb der [[…]], damit Kommas in NPC-Namen nicht mitgezählt werden
Das äußere Regex entfernt alles außer den Kommas, um diese zählen zu können
 
  -->{{#switch:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}/|}}|/[^,]/|}}
      |,,,, = 5
      |,,, = 4
      |,, = 3
      |, = 2
      |#default = 1
      }}<!--
  -->}}<!--
-->}}<!--
 
Das Feld an sich mit den NPCs (nutzt [[Vorlage:Karte/Feld]])
 
Der erste Parameter ist das Feldbild; die folgenden Parameter sind die sich dort befindlichen NPCs, wobei |N= der Artikelname des NPCs ist und |Alt(N-1)= der eigentliche Name des NPCs
 
Der Parameter ist N>=2
 
  |N=
 
Nur wenn es mehr als N-2 NPCs auf diesem Feld gibt (NPC Anzahl in {{#var:map_NPCs}})
 
  {{#ifexpr:{{#var:map_NPCs|0}} > (N-2)|
    {{#regex:
 
{{#vardefineecho}} definiert eine Variable und gibt sie direkt wieder zurück. Hier wird {{#var:map_npc}} definiert mit dem aktuellen NPC-Link, um Redundanz zu vermeiden (spätere Nutzung)
 
    {{#vardefineecho:map_npc|
      {{#regex:
 
Dieses Regex wird bei bei N=2 genutzt; es extrahiert den ersten NPC-Link (Form: [[.+]])
 
      {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]+*\K[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
 
 
Dieses Regex wird bei N>=2 genutzt.
Das innere Regex extrahiert alle NPC-Links bis zu dem gewünschten NPC-Link.
Das äußere Regex extrahiert den letzten NPC-Link.
 
      {{#regex:
        {{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|
        /[\x5B]{2}([^\x5D]+)[\x5D]{2}$/
      }}|
 
Dieses Regex entfernt die [[ und ]] vom NPC-Link
 
      /([\x5B\x5D]){2}/|
      }}
    }}|
 
Der erste Teil eines NPC-Links wird herausgefiltert
  v          v
.+|.+ oder .+
 
    /(.+)(\{{!}}.+)/|$1}}
 
Gibt es nicht so viele NPCs, so ist der Defaultparameter zu nutzen: none
 
    |none}}
 
Bei N=2, heißt der Parameter nur "Alt", ab N=3 heißt der Parameter "Alt(N-1)
 
  |Alt(N-1)=
 
Der letzte Teil eines NPC-Links wird herausgefiltert
    v      v
.+|.+ oder .+
 
  {{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}
 
-->{{Karte/Feld<!--
  -->|1=<!--
  -->{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}<!--
  -->|2=<!--
  -->{{#ifexpr:{{#var:map_NPCs|0}} > 0|{{#regex:{{#vardefineecho:map_npc|<!--
    -->{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/([\x5B\x5D]){2}/|}}<!--
  -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
  -->|Alt=<!--
  -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
  -->|3=<!--
  -->{{#ifexpr:{{#var:map_NPCs|0}} > 1|{{#regex:{{#vardefineecho:map_npc|<!--
    -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){1}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
  -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
  -->|Alt2=<!--
  -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
  -->|4=<!--
  -->{{#ifexpr:{{#var:map_NPCs|0}} > 2|{{#regex:{{#vardefineecho:map_npc|<!--
    -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){2}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
  -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
  -->|Alt3=<!--
  -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
  -->|5=<!--
  -->{{#ifexpr:{{#var:map_NPCs|0}} > 3|{{#regex:{{#vardefineecho:map_npc|<!--
    -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){3}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
  -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
  -->|Alt4=<!--
  -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
  -->|6=<!--
  -->{{#ifexpr:{{#var:map_NPCs|0}} > 4|{{#regex:{{#vardefineecho:map_npc|<!--
    -->{{#regex:{{#regex:{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_npc}}|/^[^\x5B]*\K([\x5B]{2}([^\x5D]+)[\x5D]{2}([^\x5B]+)){4}[\x5B]{2}([^\x5D]+)[\x5D]{2}/}}|/[\x5B]{2}([^\x5D]+)[\x5D]{2}$/}}|/([\x5B\x5D]){2}/|}}<!--
  -->}}|/(.+)(\{{!}}.+)/|$1}}|none}}<!--
  -->|Alt5=<!--
  -->{{#regex:{{#var:map_npc}}|/(.+\{{!}})?(.+)/|$2}}<!--
-->}}<!--
 
Eventuelle Stab- oder Kugelpunkte (geht davon aus dass maximal einer davon am selben Feld landet)
 
-->{{#switch:{{#var:mapx{{#var:X}}y{{#var:Y}}_teleport}}
    |KLEIN = {{Karte/Kugelpunkt|blue}}
    |GELB = {{Karte/Kugelpunkt|gold}}
    |SAND = {{Karte/Ringpunkt|green}}
    |HANDEL = {{Karte/Stabpunkt|green}}
    |SPIEL = <!-- nichts...?! -->
    |REIKAN = {{Karte/Portalpunkt}}
    |APPARAT = {{Karte/Apparatpunkt}}
    |SCHIFF= {{Karte/Schiffpunkt}}
    |SCHWARZ = {{Karte/Kugelpunkt|black}}<!--
-->}}<!--
 
Passagen (Zufallspassagen sowie normale Passagen)
 
{{Karte/Passage/Basis|
            ^
Grundvorlage für alle Passagen
 
  {{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}}}|
                        ^                                ^            ^                                ^                                                                                             
              Wohin geht die Passage?            Zufallsoberflächenkartenartikel              Link zum Kartenartikel
 
  {{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_N}}|zufall|&nbsp;'''?'''|►}}|
                                                          ^        ^        ^
                          Der Passagen''text'' ist bei Zufall ein ?, sonst ►
 
  12 * (N - 1)
      ^
  Vertikale entfernung vom unteren Felderrand
 
}}
 
-->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 1|<!--
  -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_1}}|zufall|&nbsp;'''?'''|►}}|12}}<!--
-->}}<!--
-->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 2|<!--
  -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_2}}|zufall|&nbsp;'''?'''|►}}|24}}<!--
-->}}<!--
-->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 3|<!--
  -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_3}}|zufall|&nbsp;'''?'''|►}}|36}}<!--
-->}}<!--
-->{{#ifexpr:{{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}} >= 4|<!--
  -->{{Karte/Passage/Basis|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|Spezial:Random/Karte|Karte:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}}}|{{#ifeq:{{#var:mapx{{#var:X}}y{{#var:Y}}_passage_4}}|zufall|&nbsp;'''?'''|►}}|48}}<!--
-->}}<!--
 
Questpassagen (relativ gleich); abstand muss auf den von Vorlage:Karte/Passage/Basis hinzuaddiert werden
 
-->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|<!--
  -->{{Karte/Questpassage/Basis|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|/^(Quest:)/|}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_gebiet}}|{{#expr:12 + 12 * {{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}}}}}}<!--
-->}}<!--
 
Quest: {{#var:_quest}} enthält bereits das Prefix ''Quest:'' weswegen es per Regex herausgefiltert werden muss
 
-->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_quest}}|<!--
  -->{{Karte/Quest/Basis|{{#regex:{{#var:mapx{{#var:X}}y{{#var:Y}}_quest}}|/^(Quest:)/|}}|{{#expr:12 {{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_questpassage_quest}}|* 2}} + 12 * {{#var:mapx{{#var:X}}y{{#var:Y}}_passagen_count|0}}}}}}<!--
-->}}<!--
 
Ist Wiedergeburtsort?
 
-->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|<!--
  -->{{Karte/Wiedergeburt|{{#var:mapx{{#var:X}}y{{#var:Y}}_wiedergeburt}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}|<!--
 
Die Wiedergeburtsvorlage inkludiert bereits [[Vorlage:Karte/Ort]], weswegen diese dann nicht mehr eingebunden werden muss
Sonst prüfe ob für dieses Feld ein spezieller Ortsartikel existiert
 
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_ort}}|<!--
  -->{{Karte/Ort|{{#var:mapx{{#var:X}}y{{#var:Y}}_ort}}}}<!--
  -->}}<!--
-->}}|<!--
 
Aktuelles Feld gehört nicht zum Gebiet
 
--><!--
 
Prüfe ob das Feld unbetretbar ist und ein extra Bildchen hat (nur dann ist {{#var:_unbetretbar}} ausgefüllt)
 
-->{{#if:{{#var:mapx{{#var:X}}y{{#var:Y}}_unbetretbar}}|<!--
 
Das Feld ist unbetretbar und hat ein extra Bildchen: binde [[Vorlage:Karte/Grenzfeld]] mit Bild ein
  -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|none}}<!--
 
-->|<!--
 
Das Feld ist entweder inexistent oder nicht zu diesem Gebiet gehörend
 
  -->{{#if:<!--
 
Prüfe ob ein Feld dieses Gebietes umliegend ist (in den 8 Feldern rundherum)
 
  -->{{#regex:{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_gebiet}}{{#var:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_gebiet}}|%{{#regexquote:{{#var:name}}|%}}%}}<!--
 
Oder ob ein unbetretbares Feld umliegend ist (in den 8 Feldern rundherum)
 
  -->{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}-1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#var:Y}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}-1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#var:X}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}{{#varexists:mapx{{#expr:{{#var:X}}+1}}y{{#expr:{{#var:Y}}+1}}_unbetretbar}}|<!--
 
Es ist etwas umliegend: zeige ein Feldbildchen an
 
  -->{{#if:{{#varexists:mapx{{#var:X}}y{{#var:Y}}_gebiet}}|<!--
    -->{{Karte/Grenzfeld|{{#var:mapx{{#var:X}}y{{#var:Y}}_bild}}|{{#var:mapx{{#var:X}}y{{#var:Y}}_gebiet}}}}|<!--
 
Es gibt hier anscheinend kein Feld, also inkludiere in Dungeons [[Vorlage:Karte/Leer]] und in Oberflächengebieten [[Vorlage:Karte/Berg]]
 
    -->{{Karte/{{#ifeq:{{#var:map_bergfelder}}|+|Berg|Leer}}}}<!--
  -->}}|<!--
 
Wenn nichts umliegend ist, nichts (also ein leeres Feld) anzeigen
 
  -->{{Karte/Leer}}<!--
  -->}}<!--
-->}}<!--
-->}}<!--
--><noinclude>{{Dokumentation}}[[Kategorie:Kartenvorlagen|L]]</noinclude>

Aktuelle Version vom 11. April 2022, 11:31 Uhr


[Bearbeiten] Dokumentation

Diese Vorlage liefert die entsprechende Kartenvorlage (Vorlage:Karte/Feld, Vorlage:Karte/Leer, Vorlage:Karte/Berg oder Vorlage:Karte/Grenzfeld) zurück, ausgefüllt mit den aus dem Felderartikel eingetragenen Daten.

Verwendung[Bearbeiten]

Diese Vorlage wird mit {{Karte/Layout|relative X-Koordinate|relative Y-Koordinate}} eingebunden.

Parameter[Bearbeiten]

  • relative X-Koordinate: Die X-Koordinate des Feldes minus die X-Koordinate des Feldes in der linken oberen Ecke
  • relative Y-Koordinate: Die Y-Koordinate des Feldes minus die Y-Koordinate des Feldes in der linken oberen Ecke