08 Und nun – wie verschleiere ich das Final?

Am besten, indem die Koordinaten weder in Bildern, Beschreibungen und Texten genannt werden. Was allerdings für die Final-Zone ein Problem darstellt. Die sollte es schon geben.

Verschleiern der Final-Zone

Ja – auch das geht – mit LUA. Aber um ehrlich zu sein, wer sich die Mühe macht und den LUA Sourcecode aufmerksam liest, wird auch hier fündig werden.

Der Aufwand hält sich in Grenzen und sollte auch für Ungeübte nachvollziehbar sein. Das folgende Beispiel nutzt Urwigo. Es lässt sich aber auch auf andere Entwicklungsumgebungen wie beispielsweise Earwigo übertragen.

  • Zunächst braucht ihr die Koordinaten vom Final – und zwar im Dezimalformat: DEC: DD.DDDDDD°
  • Nun definiert ihr die Zone für das Final. Die Koordinaten der Zone könnt ihr auf der Karte beliebig wählen – denn sie werden zur Laufzeit der Cartridge überschrieben!
    Ich gehe davon aus, dass die Zone vom Final sowohl inaktiv als auch unsichtbar ist – schließlich soll sie ja nicht durch Zufall gefunden werden.
  • Als nächstes zeigt ihr Euch über “Ansicht:Lua Benutzerdef. Funktionen” diese an.
  • In diesem Registerblatt definiert ihr zwei Funktionen
  • Eine Funktion berechnet eine achteckige Zone um einen Mittelpunkt.
function GetZonePoints(refPt)
  local dist = Wherigo.Distance(2, 'm')
   local pts = {
    Wherigo.TranslatePoint(refPt, dist, 0),
    Wherigo.TranslatePoint(refPt, dist, 45),
    Wherigo.TranslatePoint(refPt, dist, 90),
    Wherigo.TranslatePoint(refPt, dist, 135),
    Wherigo.TranslatePoint(refPt, dist, 180),
    Wherigo.TranslatePoint(refPt, dist, 225),
    Wherigo.TranslatePoint(refPt, dist, 270),
    Wherigo.TranslatePoint(refPt, dist, 315),
  }
  return pts
end
  • Eine Funktion berechnet damit die Zone für das Final.
function calculateFinal()
  p = ZonePoint(52.471333, 13.119283, 0) 
  zFC.active = false
  zFC.OriginalPoint = p
  zFC.Points = GetZonePoints(p)
end
  • Abschließend wird diese Funktion calculateFinal() beim Start der Cartridge aufgerufen und ausgeführt. Hierfür gibt es bei Urwigo den grafischen Befehl Lua Benutzerdefinierter Code