gitextract_49aaihe4/ ├── content/ │ ├── 2018/ │ │ └── minkowski-difference/ │ │ └── minkowski-difference.html │ ├── animation/ │ │ ├── animation.css │ │ ├── animation.html │ │ └── animation.js │ ├── animation-game-loop/ │ │ ├── animation.css │ │ ├── animation.html │ │ └── animation.js │ ├── better-tile/ │ │ ├── better-tile.html │ │ └── better-tile.js │ ├── better-tile-graphics/ │ │ ├── better-tile-graphics.html │ │ └── better-tile-graphics.js │ ├── blit/ │ │ ├── blit.css │ │ ├── blit.html │ │ └── blit.js │ ├── bouncing-polygons/ │ │ └── bouncing-polygons.html │ ├── calculator/ │ │ ├── calculator.css │ │ ├── calculator.html │ │ └── calculator.js │ ├── canvas/ │ │ ├── canvas.css │ │ ├── canvas.html │ │ └── canvas.js │ ├── circle-collision-detection/ │ │ └── circle-collision-detection.html │ ├── circle-collision-response/ │ │ └── circle-collision-response.html │ ├── collision/ │ │ ├── collision.css │ │ ├── collision.html │ │ └── collision.js │ ├── control/ │ │ ├── control.css │ │ ├── control.html │ │ └── control.js │ ├── cube/ │ │ └── cube.html │ ├── dino/ │ │ ├── dino.css │ │ ├── dino.html │ │ └── dino.js │ ├── dominiques-doors/ │ │ ├── area0.json │ │ ├── area1.json │ │ ├── area2.json │ │ ├── area3.json │ │ ├── dominiques-doors.css │ │ ├── dominiques-doors.html │ │ └── dominiques-doors.js │ ├── elements/ │ │ ├── elements.html │ │ └── elements.js │ ├── gjk/ │ │ └── gjk.html │ ├── hello-world/ │ │ └── hello.html │ ├── hit-the-wall/ │ │ ├── hit-the-wall.css │ │ ├── hit-the-wall.html │ │ └── hit-the-wall.js │ ├── hitbox/ │ │ └── hitbox.html │ ├── https-server/ │ │ ├── index.css │ │ ├── index.html │ │ ├── server.js │ │ └── ssl/ │ │ ├── crt.cnf │ │ ├── crt.pfx │ │ ├── csr.cnf │ │ ├── make-crt.sh │ │ ├── make-csr.sh │ │ ├── make-key.sh │ │ └── make-pfx.sh │ ├── indexed-db/ │ │ ├── index.css │ │ └── index.html │ ├── inheritance/ │ │ ├── inheritance.html │ │ └── inheritance.js │ ├── inventory/ │ │ └── inventory.html │ ├── ipo/ │ │ ├── components/ │ │ │ ├── input.js │ │ │ ├── main.js │ │ │ ├── output.js │ │ │ └── processor.js │ │ └── ipo.html │ ├── json/ │ │ ├── json.html │ │ ├── json.js │ │ └── json.json │ ├── load-image/ │ │ ├── load-image.css │ │ ├── load-image.html │ │ └── load-image.js │ ├── multiple-inheritance/ │ │ ├── multiple-inheritance.html │ │ └── multiple-inheritance.js │ ├── objects-and-vars/ │ │ ├── objects.html │ │ └── objects.js │ ├── offline-web-app/ │ │ ├── manifest.json │ │ ├── server.js │ │ ├── ssl/ │ │ │ └── crt.pfx │ │ ├── web-app-service.js │ │ ├── web-app.css │ │ └── web-app.html │ ├── pagination/ │ │ ├── article1.txt │ │ ├── article2.txt │ │ ├── article3.txt │ │ ├── article4.txt │ │ ├── article5.txt │ │ ├── pagination.css │ │ ├── pagination.html │ │ └── paginator.js │ ├── particle-pool/ │ │ └── particle-pool.html │ ├── platform/ │ │ └── platform.html │ ├── platformer-ai/ │ │ └── platformer-ai.html │ ├── polygon/ │ │ └── polygon.html │ ├── polygon-rotation/ │ │ └── polygon-rotation.html │ ├── pre-scale-performance/ │ │ ├── pre-scale-performance.css │ │ ├── pre-scale-performance.html │ │ └── pre-scale-performance.js │ ├── prototype-inheritance/ │ │ ├── prototype-inheritance.html │ │ └── prototype-inheritance.js │ ├── rabbit-trap/ │ │ ├── 01/ │ │ │ ├── controller-01.js │ │ │ ├── display-01.js │ │ │ ├── engine-01.js │ │ │ ├── game-01.js │ │ │ └── main-01.js │ │ ├── 02/ │ │ │ ├── controller-02.js │ │ │ ├── display-02.js │ │ │ ├── game-02.js │ │ │ └── main-02.js │ │ ├── 03/ │ │ │ ├── display-03.js │ │ │ ├── game-03.js │ │ │ └── main-03.js │ │ ├── 04/ │ │ │ ├── display-04.js │ │ │ └── game-04.js │ │ ├── 05/ │ │ │ ├── display-05.js │ │ │ ├── game-05.js │ │ │ └── main-05.js │ │ ├── 06/ │ │ │ ├── engine-06.js │ │ │ ├── game-06.js │ │ │ ├── main-06.js │ │ │ ├── script.txt │ │ │ ├── zone00.json │ │ │ ├── zone01.json │ │ │ ├── zone02.json │ │ │ ├── zone03.json │ │ │ └── zone04.json │ │ ├── 07/ │ │ │ ├── game-07.js │ │ │ ├── main-07.js │ │ │ └── zone00.json │ │ ├── rabbit-trap.css │ │ └── rabbit-trap.html │ ├── rectangle-collision/ │ │ └── rectangle-collision.html │ ├── shoot/ │ │ └── shoot.html │ ├── snake/ │ │ ├── snake.css │ │ ├── snake.html │ │ └── snake.js │ ├── square-collision-response/ │ │ ├── response.css │ │ ├── response.html │ │ └── response.js │ ├── starfield/ │ │ └── starfield.html │ ├── stay-down/ │ │ ├── game-states/ │ │ │ ├── pause.js │ │ │ ├── run.js │ │ │ └── title.js │ │ ├── initialize.js │ │ ├── stay-down.html │ │ ├── stay-down.js │ │ ├── tools/ │ │ │ ├── controller.js │ │ │ ├── engine.js │ │ │ ├── loader.js │ │ │ ├── state-manager.js │ │ │ └── text.js │ │ └── utilities/ │ │ ├── buffer.js │ │ ├── collider.js │ │ ├── frame.js │ │ ├── item.js │ │ ├── platform.js │ │ ├── player.js │ │ └── rectangle-2d.js │ ├── tile-animation/ │ │ └── tile-animation.html │ ├── tile-graphics/ │ │ ├── tile-graphics.css │ │ ├── tile-graphics.html │ │ └── tile-graphics.js │ ├── tile-grid/ │ │ ├── tile-grid.css │ │ ├── tile-grid.html │ │ └── tile-grid.js │ ├── tile-scroll/ │ │ └── tile-scroll.html │ ├── tile-types/ │ │ ├── tile-types.css │ │ ├── tile-types.html │ │ └── tile-types.js │ ├── tile-world/ │ │ ├── tile-world.css │ │ ├── tile-world.html │ │ └── tile-world.js │ ├── top-down-tiles/ │ │ ├── top-down-tiles.css │ │ ├── top-down-tiles.html │ │ └── top-down-tiles.js │ ├── touch-controller/ │ │ ├── touch-controller.css │ │ ├── touch-controller.html │ │ └── touch-controller.js │ ├── vector-math/ │ │ └── vector-math.html │ ├── walk-on-tiles/ │ │ ├── walk-on-tiles.css │ │ ├── walk-on-tiles.html │ │ └── walk-on-tiles.js │ ├── web-app/ │ │ ├── manifest.json │ │ ├── server.js │ │ ├── ssl/ │ │ │ └── crt.pfx │ │ ├── web-app.css │ │ └── web-app.html │ ├── wmw-basic/ │ │ └── basic.html │ └── wmw-bouncing-balls/ │ └── bouncing-balls.html ├── data/ │ ├── logs.json │ └── projects.json ├── index.css ├── index.html ├── index.js ├── library/ │ └── dom-kit.js ├── log.css ├── project.css ├── robots.txt ├── server.js ├── theme.css └── tools/ ├── log.js └── project.js