Adding more directions is just a temporary fix and leads, if you want to expand the radius-of-sight, to requiring directions like north north north north north northwest, etc.
In a typical grid system, each room is assumed to be the same size (vs in a typical node-based room system where the room size in the world fiction may vary dramatically from 1 room = a closet to one room = section of forest). So, assign an arbitrary unit to the length and width of each room (say, 1), and then simply calculate if a given room's center is within the radius of line-of-sight that you want to use.
Or, hell, cheat and just make it a 'square' radius if you want. That makes it even more trivial to check.
--matt
|