commit ca5fcaef03ceb1e16749fe655a22599b1f4f3cf4 Author: Ayo Date: Fri Feb 3 21:21:18 2023 +0100 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..697daa3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +node_modules + +*~ +*swo +*swp + diff --git a/index.html b/index.html new file mode 100644 index 0000000..19d6ac7 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + Twists and Shapes and Turns + + + + +

Hello Kahel!

+ + +
+
+ + + diff --git a/index.js b/index.js new file mode 100644 index 0000000..bc5b03e --- /dev/null +++ b/index.js @@ -0,0 +1,52 @@ +// module aliases +let Engine = Matter.Engine, + Render = Matter.Render, + Runner = Matter.Runner, + Bodies = Matter.Bodies, + Composite = Matter.Composite; + +// create an engine +let engine = Engine.create(); + +// create a renderer +let render = Render.create({ + element: document.body, + engine: engine, +}); + +// create two boxes and a ground +let boxA = Bodies.rectangle(400, 200, 80, 200); +let boxB = Bodies.rectangle(450, 50, 80, 80); +let triangle = Bodies.polygon(350, 200, 5, 80); +let ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true }); + +function kaboom() { + let manyShapes = new Array(300) + .fill({}) + .map((item) => + Bodies.polygon( + Math.random() * 450 + 1, + Math.random() * 450 + 1, + Math.random() * 16 + 1, + Math.random() * 80 + 1 + ) + ); + + console.log(manyShapes); + + generateWorld(manyShapes); +} + +function generateWorld(shapes) { + // add all of the bodies to the world + // Composite.add(engine.world, [boxA, boxB, triangle, ground]); + Composite.add(engine.world, [...shapes, ground]); + + // run the renderer + Render.run(render); + + // create runner + let runner = Runner.create(); + // run the engine + Runner.run(runner, engine); +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1bb625d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28 @@ +{ + "name": "twists-and-shapes-and-turns", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "twists-and-shapes-and-turns", + "version": "0.0.1", + "license": "ISC", + "dependencies": { + "matter-js": "^0.18.0" + } + }, + "node_modules/matter-js": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.18.0.tgz", + "integrity": "sha512-/ZVem4WygUnbmo/iE4oHZpZS97btfBtYy5Iwn1396vUZU7YhgVEN8J4UWwfZwY1ZqoTYlPgjvSw9WXauuXL0mg==" + } + }, + "dependencies": { + "matter-js": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/matter-js/-/matter-js-0.18.0.tgz", + "integrity": "sha512-/ZVem4WygUnbmo/iE4oHZpZS97btfBtYy5Iwn1396vUZU7YhgVEN8J4UWwfZwY1ZqoTYlPgjvSw9WXauuXL0mg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..4a320a9 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "twists-and-shapes-and-turns", + "version": "0.0.1", + "description": "This is a game about crazy inventions", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Ayo and Kahel", + "license": "ISC", + "dependencies": { + "matter-js": "^0.18.0" + } +}