Hm, bin mir nicht sicher ob ich dich richtig verstehe. Der Held zielt auf den Gegner. Die Schussbahn ist eine Gerade vom Helden zum Gegner, die eine Reihe von Tiles schneidet. Ist eines der Tiles ein Hinderniss, kann der Charakter den Gegner nicht treffen.
Die Schussbahn kann man ja folgendermaßen beschreiben:
(tx, ty) = (sx, sy) + (x, y)
tx/ty sind Zielkoordinaten, sx/sy sind Startkoordinaten, s/y ist die Richtung
Für ein gegebenes dx kann man jetzt nach einem dy suchen für das (dx,dy) von der Gerade geschnitten wird:
dx = sx+ x*a
a = (dx-sx)/x
dy = sy + y*a
Das kann man analog auch mit dy als Parameter und dx als gesuchte Variable machen.
So kannst du alle Tiles iterieren die von der Geraden geschnitten werden.