Schon mal Danke, aber ich hab immer große Schwierigkeiten diese komprimierte Schreibweise zu verstehen. Wie funktioniert die Methode hinderniss denn genau? Mir wird nicht ganz klar wie cut_tiles an die Koordinaten der zu prüfenden Tiles kommt. Und was ist denn terrain_id? Bei diesem Block bin ich mir auch nicht ganz sicher:

Code:
if terrain_id(x, y) == hinderniss_id
   return false
end
Wird die Methode mit false beendet, wenn die Terrain-ID gleich der Hindernis-ID ist? Das ist ja eigentlich das Gegenteil von dem was der Name der Methode assoziiert.