I really suck at trigonometry, so this will be almost like an elementary school level question (hey, I'm a history major who's coding games for fun, what do you expect...).
My game uses 2d tile-based maps and at the moment I'm implementing a casting/shadowing/whatever's the name system so that tiles that aren't visible to the player (ones that are behind objects or walls) are not shown.
I have it otherwise done but I'm stuck with a very simple problem.
Basically what I need is a function that gives me the angle between two points (let's say point A and point B) on the map (I know there's no angle between two points, but you know what I mean). You tell the function the point coordinates x1, y1, x2 and y2 but it's very important that it should then return a value like this:
if Point B is directly above Point A, the function returns 0 (or 360)
if Point B is directly on the right side of Point A, the function returns 90
if Point B is directly below Point A, the function returns 180
If Point B is on Point A's left side, it returns 270.
(and in other cases it returns a value between these)
In short: I need a function that takes two points on the map (x1, y1, x2, y2) and returns a value that is converted into a number between 0 and 360, so that it follows the style presented above. I know I have to first count the delta values and I'm guessing I need to use Arctan or something, but I'm not sure how to do it and how to then convert the value into this 0-360 system that I'm looking for.
I wouldn't ask you to do my stuff for you, but I know this can be done in seconds when you know what you're doing. A simple function is enough, I'm sure I'll understand it once I see it, but feel free to give some extra pointers along the way.
If you need to use code (which you don't), please use pseudocode
PS. I promise to take a math class this year, if someone helps me.