Book Image

TypeScript Blueprints

By : Ivo Gabe de Wolff
Book Image

TypeScript Blueprints

By: Ivo Gabe de Wolff

Overview of this book

TypeScript is the future of JavaScript. Having been designed for the development of large applications, it is now being widely incorporated in cutting-edge projects such as Angular 2. Adopting TypeScript results in more robust software - software that is more scalable and performant. It's scale and performance that lies at the heart of every project that features in this book. The lessons learned throughout this book will arm you with everything you need to build some truly amazing projects. You'll build a complete single page app with Angular 2, create a neat mobile app using NativeScript, and even build a Pac Man game with TypeScript. As if fun wasn't enough, you'll also find out how to migrate your legacy codebase from JavaScript to TypeScript. This book isn't just for developers who want to learn - it's for developers who want to develop. So dive in and get started on these TypeScript projects.
Table of Contents (16 chapters)
TypeScript Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Chapter 8. Pac Man in HTML5

In this chapter, we will recreate Pac Man with the HTML5 canvas. Just like the previous chapter, we will be using functional programming. With the HTML5 canvas and JavaScript, you can play games in the browser.

Pac Man is a classic game where the player (Pac Man, the yellow circle) must eat all of the dots. The ghosts are the enemies of Pac Man: when you get caught by a ghost, you lose. If you eat all of the dots without being caught by a ghost, you win the game.

Drawing on a canvas is, just like modifying the HTML elements of a page, a side effect and thus not pure. Since we will be using functional programming, we will create some abstraction around it, similar to what React does. We will build a small non-pure framework so we can use that to build the rest of the game with pure functions. We will also use strictNullChecks in this chapter. The compiler will check which values can be undefined or null.

We will build the game in these steps:

  • Setting up the project...