Path finding using (A*) search algorithm and Manhattan distance formula |x1 - x2| + |y1 - y2|.
This still has a small logical flaw. (for now I think its got to do with the "tile_score" ) this could be because of the initializing of the first tile. Away I'll get around it eventually.