added some convenience methods and cleanup
implemented detectplayer
slight modification

It shouldn't return true on the diagonals