Pretty interesting but I don't like the fact that some key combinations don't let you move diagonally. I assume you're hard coding it with a bunch of if statements? You should watch this video by Heartbeast for a simpler and more complete implementation. The specific part that applies starts around 13 minutes in.