CHAPTER 01:
- Lesson 01 A tic-tac-toe game (the book's version). JavaScript code: ternary operators, for
- Lesson 02 A tic-tac-toe game (my version): completely reworked UI, UI themes
CHAPTER 02:
- Lesson 01 JavaScript code: canvas, canvas.getContext, ctx.fillStyle, ctx.fillRect, ctx.clearRect
- Lesson 02 A snake game (the book's version)
- Lesson 03 A snake game (my version): completely reworked UI, difficulties, maps
CHAPTER 03:
- Lesson 01 A table tennis game (the book's version). JavaScript code: function constructors, objects, arrays, Math.abs(), addEventListener(), ctx.beginPath(), ctx.arc(), ctx.fill(), setTimeout(), clearTimeout()
- Lesson 02 A table tennis game (my version): completely reworked UI, heavily improved AI, AI difficulties, players modes, game modes, UI themes, ball count option, audio
- Lesson 03 A table tennis game (my version): decomposition of JavaScript code into multiple files
CHAPTER 04:
- Lesson 01 A runner game (the book's version). JavaScript code: const, Math.floor(), Math.random(), push(), splice(), ctx.font(), ctx.fillText(), new Image()
- Lesson 02 A runner game (the book's version) with comments
- Lesson 03 A runner game (my version): completely reworked UI and collision, audio, pits
CHAPTER 05:
- Lesson 01 A platformer game with two canvases (the book's version). JavaScript code: window.onload(), play(), setAttribute()
- Lesson 02 A platformer game with two canvases (the book's version) refactored
- Lesson 03 A platformer game with two canvases (my version): heavily improved collision, jumping enemies