ID zu Map-Koordinaten finden

  • Hi

    ich habe ein Feld, das aus 16 * 12 Feldern (der Größe 40*40) besteht. Die IDs der Felder sind 0 bis 191.

    Jetzt möchte ich die IDs der Felder mit Hilfe ihrer Map-Koordinaten herausfinden. Zur Verdeutlichung hier eine kleine Skizze:

    Spoiler anzeigen

    Beispiele für Koordinaten der Felder:

    Code
    Feld ID, Koordinaten
    0, 0/0
    1, 1/0
    2, 2/0
    ...
    16, 0/1
    17, 1/1
    18, 2/1
    usw.

    Jetzt brauche ich wie gesagt eine Funktion, die mir eine Feld ID zu gegebenen Koordinaten liefert.

    Kann mir bitte jemand weiterhelfen?

  • Das ist nicht schwer. Dazu braucht man nur ein bisschen Mathematik. Wie sollen jetzt die IDs aussehen? Wie im ersten Beispiel linear von 0-191 oder 2-dimensional (0/1, 1/2...) wie im zweiten?
    Und mit Koordinaten meinst du die Koordinaten bezogen auf das Rechteck das entsteht wenn du alle Felder in einem 16*12 Gitter anordnest?

    Edit:
    Nur mal als Beispiel mit den IDs von 0-191:

    [autoit]

    ConsoleWrite(_GetID(15*40, 11*40) & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    Func _GetID($iX_Coord, $iY_Coord)
    Return Floor($iX_Coord + $iY_Coord * 16) / 40
    EndFunc

    [/autoit]
  • Danke für die Antwort.

    Ich glaube deine Funktion funktioniert soweit ganz gut. Ich werde morgen mal testen, ob es so funktioniert wie ich es mir vorstelle!