The complete game
That's it for this game. All the rest of the implementation is taken straight from the game we created in Chapter 4, Looking Sideways. We use the same object-oriented code of the player and the other sprites to resolve the collision between the player and the level.
A good exercise would be to make the enemies move around and attack the player, implement an experience and life bar for the player, and design a bigger world and more NPCs to make the story more interesting. Indeed, that's what makes RPGs so great to write; they are a great medium for telling stories!
Another way you could improve this game is to use an isometric projection instead of an orthogonal one. Explaining how to write a general-purpose isometric engine is outside the scope of this book, but if you want to learn more about this, you could read Making Isometric Social Real-Time Games with HTML5, CSS3, and JavaScript by Andres Pagella (http://shop.oreilly.com/product/0636920020011.do).