From c00e46709a9f0cc194cc5acf0cc5ce2497fe1130 Mon Sep 17 00:00:00 2001 From: Aastha Kourav Date: Sun, 2 Jun 2024 13:43:26 +0530 Subject: [PATCH 1/3] adding building block game --- Games/Buliding Block Game/index.html | 19 ++ Games/Buliding Block Game/script.js | 309 +++++++++++++++++++++++++++ Games/Buliding Block Game/style.css | 143 +++++++++++++ 3 files changed, 471 insertions(+) create mode 100644 Games/Buliding Block Game/index.html create mode 100644 Games/Buliding Block Game/script.js create mode 100644 Games/Buliding Block Game/style.css diff --git a/Games/Buliding Block Game/index.html b/Games/Buliding Block Game/index.html new file mode 100644 index 0000000000..f5b26b88ad --- /dev/null +++ b/Games/Buliding Block Game/index.html @@ -0,0 +1,19 @@ + + +
+
+
0
+
Click (or press the spacebar) to place the block
+
+

Game Over

+

You did great, you're the best.

+

Click or spacebar to start again

+
+
+
Start
+
+
+
+ + + \ No newline at end of file diff --git a/Games/Buliding Block Game/script.js b/Games/Buliding Block Game/script.js new file mode 100644 index 0000000000..2317fc900b --- /dev/null +++ b/Games/Buliding Block Game/script.js @@ -0,0 +1,309 @@ +console.clear(); +var Stage = /** @class */ (function () { + function Stage() { + // container + var _this = this; + this.render = function () { + this.renderer.render(this.scene, this.camera); + }; + this.add = function (elem) { + this.scene.add(elem); + }; + this.remove = function (elem) { + this.scene.remove(elem); + }; + this.container = document.getElementById('game'); + // renderer + this.renderer = new THREE.WebGLRenderer({ + antialias: true, + alpha: false + }); + this.renderer.setSize(window.innerWidth, window.innerHeight); + this.renderer.setClearColor('#D0CBC7', 1); + this.container.appendChild(this.renderer.domElement); + // scene + this.scene = new THREE.Scene(); + // camera + var aspect = window.innerWidth / window.innerHeight; + var d = 20; + this.camera = new THREE.OrthographicCamera(-d * aspect, d * aspect, d, -d, -100, 1000); + this.camera.position.x = 2; + this.camera.position.y = 2; + this.camera.position.z = 2; + this.camera.lookAt(new THREE.Vector3(0, 0, 0)); + //light + this.light = new THREE.DirectionalLight(0xffffff, 0.5); + this.light.position.set(0, 499, 0); + this.scene.add(this.light); + this.softLight = new THREE.AmbientLight(0xffffff, 0.4); + this.scene.add(this.softLight); + window.addEventListener('resize', function () { return _this.onResize(); }); + this.onResize(); + } + Stage.prototype.setCamera = function (y, speed) { + if (speed === void 0) { speed = 0.3; } + TweenLite.to(this.camera.position, speed, { y: y + 4, ease: Power1.easeInOut }); + TweenLite.to(this.camera.lookAt, speed, { y: y, ease: Power1.easeInOut }); + }; + Stage.prototype.onResize = function () { + var viewSize = 30; + this.renderer.setSize(window.innerWidth, window.innerHeight); + this.camera.left = window.innerWidth / -viewSize; + this.camera.right = window.innerWidth / viewSize; + this.camera.top = window.innerHeight / viewSize; + this.camera.bottom = window.innerHeight / -viewSize; + this.camera.updateProjectionMatrix(); + }; + return Stage; +}()); +var Block = /** @class */ (function () { + function Block(block) { + // set size and position + this.STATES = { ACTIVE: 'active', STOPPED: 'stopped', MISSED: 'missed' }; + this.MOVE_AMOUNT = 12; + this.dimension = { width: 0, height: 0, depth: 0 }; + this.position = { x: 0, y: 0, z: 0 }; + this.targetBlock = block; + this.index = (this.targetBlock ? this.targetBlock.index : 0) + 1; + this.workingPlane = this.index % 2 ? 'x' : 'z'; + this.workingDimension = this.index % 2 ? 'width' : 'depth'; + // set the dimensions from the target block, or defaults. + this.dimension.width = this.targetBlock ? this.targetBlock.dimension.width : 10; + this.dimension.height = this.targetBlock ? this.targetBlock.dimension.height : 2; + this.dimension.depth = this.targetBlock ? this.targetBlock.dimension.depth : 10; + this.position.x = this.targetBlock ? this.targetBlock.position.x : 0; + this.position.y = this.dimension.height * this.index; + this.position.z = this.targetBlock ? this.targetBlock.position.z : 0; + this.colorOffset = this.targetBlock ? this.targetBlock.colorOffset : Math.round(Math.random() * 100); + // set color + if (!this.targetBlock) { + this.color = 0x333344; + } + else { + var offset = this.index + this.colorOffset; + var r = Math.sin(0.3 * offset) * 55 + 200; + var g = Math.sin(0.3 * offset + 2) * 55 + 200; + var b = Math.sin(0.3 * offset + 4) * 55 + 200; + this.color = new THREE.Color(r / 255, g / 255, b / 255); + } + // state + this.state = this.index > 1 ? this.STATES.ACTIVE : this.STATES.STOPPED; + // set direction + this.speed = -0.1 - (this.index * 0.005); + if (this.speed < -4) + this.speed = -4; + this.direction = this.speed; + // create block + var geometry = new THREE.BoxGeometry(this.dimension.width, this.dimension.height, this.dimension.depth); + geometry.applyMatrix(new THREE.Matrix4().makeTranslation(this.dimension.width / 2, this.dimension.height / 2, this.dimension.depth / 2)); + this.material = new THREE.MeshToonMaterial({ color: this.color, shading: THREE.FlatShading }); + this.mesh = new THREE.Mesh(geometry, this.material); + this.mesh.position.set(this.position.x, this.position.y + (this.state == this.STATES.ACTIVE ? 0 : 0), this.position.z); + if (this.state == this.STATES.ACTIVE) { + this.position[this.workingPlane] = Math.random() > 0.5 ? -this.MOVE_AMOUNT : this.MOVE_AMOUNT; + } + } + Block.prototype.reverseDirection = function () { + this.direction = this.direction > 0 ? this.speed : Math.abs(this.speed); + }; + Block.prototype.place = function () { + this.state = this.STATES.STOPPED; + var overlap = this.targetBlock.dimension[this.workingDimension] - Math.abs(this.position[this.workingPlane] - this.targetBlock.position[this.workingPlane]); + var blocksToReturn = { + plane: this.workingPlane, + direction: this.direction + }; + if (this.dimension[this.workingDimension] - overlap < 0.3) { + overlap = this.dimension[this.workingDimension]; + blocksToReturn.bonus = true; + this.position.x = this.targetBlock.position.x; + this.position.z = this.targetBlock.position.z; + this.dimension.width = this.targetBlock.dimension.width; + this.dimension.depth = this.targetBlock.dimension.depth; + } + if (overlap > 0) { + var choppedDimensions = { width: this.dimension.width, height: this.dimension.height, depth: this.dimension.depth }; + choppedDimensions[this.workingDimension] -= overlap; + this.dimension[this.workingDimension] = overlap; + var placedGeometry = new THREE.BoxGeometry(this.dimension.width, this.dimension.height, this.dimension.depth); + placedGeometry.applyMatrix(new THREE.Matrix4().makeTranslation(this.dimension.width / 2, this.dimension.height / 2, this.dimension.depth / 2)); + var placedMesh = new THREE.Mesh(placedGeometry, this.material); + var choppedGeometry = new THREE.BoxGeometry(choppedDimensions.width, choppedDimensions.height, choppedDimensions.depth); + choppedGeometry.applyMatrix(new THREE.Matrix4().makeTranslation(choppedDimensions.width / 2, choppedDimensions.height / 2, choppedDimensions.depth / 2)); + var choppedMesh = new THREE.Mesh(choppedGeometry, this.material); + var choppedPosition = { + x: this.position.x, + y: this.position.y, + z: this.position.z + }; + if (this.position[this.workingPlane] < this.targetBlock.position[this.workingPlane]) { + this.position[this.workingPlane] = this.targetBlock.position[this.workingPlane]; + } + else { + choppedPosition[this.workingPlane] += overlap; + } + placedMesh.position.set(this.position.x, this.position.y, this.position.z); + choppedMesh.position.set(choppedPosition.x, choppedPosition.y, choppedPosition.z); + blocksToReturn.placed = placedMesh; + if (!blocksToReturn.bonus) + blocksToReturn.chopped = choppedMesh; + } + else { + this.state = this.STATES.MISSED; + } + this.dimension[this.workingDimension] = overlap; + return blocksToReturn; + }; + Block.prototype.tick = function () { + if (this.state == this.STATES.ACTIVE) { + var value = this.position[this.workingPlane]; + if (value > this.MOVE_AMOUNT || value < -this.MOVE_AMOUNT) + this.reverseDirection(); + this.position[this.workingPlane] += this.direction; + this.mesh.position[this.workingPlane] = this.position[this.workingPlane]; + } + }; + return Block; +}()); +var Game = /** @class */ (function () { + function Game() { + var _this = this; + this.STATES = { + 'LOADING': 'loading', + 'PLAYING': 'playing', + 'READY': 'ready', + 'ENDED': 'ended', + 'RESETTING': 'resetting' + }; + this.blocks = []; + this.state = this.STATES.LOADING; + this.stage = new Stage(); + this.mainContainer = document.getElementById('container'); + this.scoreContainer = document.getElementById('score'); + this.startButton = document.getElementById('start-button'); + this.instructions = document.getElementById('instructions'); + this.scoreContainer.innerHTML = '0'; + this.newBlocks = new THREE.Group(); + this.placedBlocks = new THREE.Group(); + this.choppedBlocks = new THREE.Group(); + this.stage.add(this.newBlocks); + this.stage.add(this.placedBlocks); + this.stage.add(this.choppedBlocks); + this.addBlock(); + this.tick(); + this.updateState(this.STATES.READY); + document.addEventListener('keydown', function (e) { + if (e.keyCode == 32) + _this.onAction(); + }); + document.addEventListener('click', function (e) { + _this.onAction(); + }); + document.addEventListener('touchstart', function (e) { + e.preventDefault(); + _this.onAction(); + // ?? this triggers after click on android so you + // insta-lose, will figure it out later. + }); + } + Game.prototype.updateState = function (newState) { + for (var key in this.STATES) + this.mainContainer.classList.remove(this.STATES[key]); + this.mainContainer.classList.add(newState); + this.state = newState; + }; + Game.prototype.onAction = function () { + switch (this.state) { + case this.STATES.READY: + this.startGame(); + break; + case this.STATES.PLAYING: + this.placeBlock(); + break; + case this.STATES.ENDED: + this.restartGame(); + break; + } + }; + Game.prototype.startGame = function () { + if (this.state != this.STATES.PLAYING) { + this.scoreContainer.innerHTML = '0'; + this.updateState(this.STATES.PLAYING); + this.addBlock(); + } + }; + Game.prototype.restartGame = function () { + var _this = this; + this.updateState(this.STATES.RESETTING); + var oldBlocks = this.placedBlocks.children; + var removeSpeed = 0.2; + var delayAmount = 0.02; + var _loop_1 = function (i) { + TweenLite.to(oldBlocks[i].scale, removeSpeed, { x: 0, y: 0, z: 0, delay: (oldBlocks.length - i) * delayAmount, ease: Power1.easeIn, onComplete: function () { return _this.placedBlocks.remove(oldBlocks[i]); } }); + TweenLite.to(oldBlocks[i].rotation, removeSpeed, { y: 0.5, delay: (oldBlocks.length - i) * delayAmount, ease: Power1.easeIn }); + }; + for (var i = 0; i < oldBlocks.length; i++) { + _loop_1(i); + } + var cameraMoveSpeed = removeSpeed * 2 + (oldBlocks.length * delayAmount); + this.stage.setCamera(2, cameraMoveSpeed); + var countdown = { value: this.blocks.length - 1 }; + TweenLite.to(countdown, cameraMoveSpeed, { value: 0, onUpdate: function () { _this.scoreContainer.innerHTML = String(Math.round(countdown.value)); } }); + this.blocks = this.blocks.slice(0, 1); + setTimeout(function () { + _this.startGame(); + }, cameraMoveSpeed * 1000); + }; + Game.prototype.placeBlock = function () { + var _this = this; + var currentBlock = this.blocks[this.blocks.length - 1]; + var newBlocks = currentBlock.place(); + this.newBlocks.remove(currentBlock.mesh); + if (newBlocks.placed) + this.placedBlocks.add(newBlocks.placed); + if (newBlocks.chopped) { + this.choppedBlocks.add(newBlocks.chopped); + var positionParams = { y: '-=30', ease: Power1.easeIn, onComplete: function () { return _this.choppedBlocks.remove(newBlocks.chopped); } }; + var rotateRandomness = 10; + var rotationParams = { + delay: 0.05, + x: newBlocks.plane == 'z' ? ((Math.random() * rotateRandomness) - (rotateRandomness / 2)) : 0.1, + z: newBlocks.plane == 'x' ? ((Math.random() * rotateRandomness) - (rotateRandomness / 2)) : 0.1, + y: Math.random() * 0.1 + }; + if (newBlocks.chopped.position[newBlocks.plane] > newBlocks.placed.position[newBlocks.plane]) { + positionParams[newBlocks.plane] = '+=' + (40 * Math.abs(newBlocks.direction)); + } + else { + positionParams[newBlocks.plane] = '-=' + (40 * Math.abs(newBlocks.direction)); + } + TweenLite.to(newBlocks.chopped.position, 1, positionParams); + TweenLite.to(newBlocks.chopped.rotation, 1, rotationParams); + } + this.addBlock(); + }; + Game.prototype.addBlock = function () { + var lastBlock = this.blocks[this.blocks.length - 1]; + if (lastBlock && lastBlock.state == lastBlock.STATES.MISSED) { + return this.endGame(); + } + this.scoreContainer.innerHTML = String(this.blocks.length - 1); + var newKidOnTheBlock = new Block(lastBlock); + this.newBlocks.add(newKidOnTheBlock.mesh); + this.blocks.push(newKidOnTheBlock); + this.stage.setCamera(this.blocks.length * 2); + if (this.blocks.length >= 5) + this.instructions.classList.add('hide'); + }; + Game.prototype.endGame = function () { + this.updateState(this.STATES.ENDED); + }; + Game.prototype.tick = function () { + var _this = this; + this.blocks[this.blocks.length - 1].tick(); + this.stage.render(); + requestAnimationFrame(function () { _this.tick(); }); + }; + return Game; +}()); +var game = new Game(); \ No newline at end of file diff --git a/Games/Buliding Block Game/style.css b/Games/Buliding Block Game/style.css new file mode 100644 index 0000000000..27a7c6c25a --- /dev/null +++ b/Games/Buliding Block Game/style.css @@ -0,0 +1,143 @@ +@import url("https://fonts.googleapis.com/css?family=Comfortaa"); +html, body { + margin: 0; + overflow: hidden; + height: 100%; + width: 100%; + position: relative; + font-family: 'Comfortaa', cursive; +} + +#container { + width: 100%; + height: 100%; +} +#container #score { + position: absolute; + top: 20px; + width: 100%; + text-align: center; + font-size: 10vh; + -webkit-transition: -webkit-transform 0.5s ease; + transition: -webkit-transform 0.5s ease; + transition: transform 0.5s ease; + transition: transform 0.5s ease, -webkit-transform 0.5s ease; + color: #333344; + -webkit-transform: translatey(-200px) scale(1); + transform: translatey(-200px) scale(1); +} +#container #game { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +#container .game-over { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 85%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; +} +#container .game-over * { + -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease; + opacity: 0; + -webkit-transform: translatey(-50px); + transform: translatey(-50px); + color: #333344; +} +#container .game-over h2 { + margin: 0; + padding: 0; + font-size: 40px; +} +#container .game-ready { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: distribute; + justify-content: space-around; +} +#container .game-ready #start-button { + -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease; + opacity: 0; + -webkit-transform: translatey(-50px); + transform: translatey(-50px); + border: 3px solid #333344; + padding: 10px 20px; + background-color: transparent; + color: #333344; + font-size: 30px; +} +#container #instructions { + position: absolute; + width: 100%; + top: 16vh; + left: 0; + text-align: center; + -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease; + opacity: 0; +} +#container #instructions.hide { + opacity: 0 !important; +} +#container.playing #score, #container.resetting #score { + -webkit-transform: translatey(0px) scale(1); + transform: translatey(0px) scale(1); +} +#container.playing #instructions { + opacity: 1; +} +#container.ready .game-ready #start-button { + opacity: 1; + -webkit-transform: translatey(0); + transform: translatey(0); +} +#container.ended #score { + -webkit-transform: translatey(6vh) scale(1.5); + transform: translatey(6vh) scale(1.5); +} +#container.ended .game-over * { + opacity: 1; + -webkit-transform: translatey(0); + transform: translatey(0); +} +#container.ended .game-over p { + -webkit-transition-delay: 0.3s; + transition-delay: 0.3s; +} \ No newline at end of file From 0d8a9dfdb41468543dd23882ee18083b75d83aa0 Mon Sep 17 00:00:00 2001 From: Aastha Kourav Date: Sun, 2 Jun 2024 14:03:11 +0530 Subject: [PATCH 2/3] changes done --- Games/Buliding Block Game/Readme.md | 12 ++++++++++++ Games/Buliding Block Game/assets | 1 + README.md | 2 ++ 3 files changed, 15 insertions(+) create mode 100644 Games/Buliding Block Game/Readme.md create mode 100644 Games/Buliding Block Game/assets diff --git a/Games/Buliding Block Game/Readme.md b/Games/Buliding Block Game/Readme.md new file mode 100644 index 0000000000..3898b5506f --- /dev/null +++ b/Games/Buliding Block Game/Readme.md @@ -0,0 +1,12 @@ +# Building Block Game + +## About Building Blocks Game +Building blocks game is a fun game for kids of all ages. In this game, our target is to construct the highest tower by arranging blocks one over the other such that we never disobey Newton’s law by this line we mean no block can hang in the air. It has to be over some other block or over the ground. + +Project Prerequisites +To implement this project we need to know the following : + +1. Basic concepts of JavaScript +2. HTML +3. CSS + diff --git a/Games/Buliding Block Game/assets b/Games/Buliding Block Game/assets new file mode 100644 index 0000000000..3a4e8ef3da --- /dev/null +++ b/Games/Buliding Block Game/assets @@ -0,0 +1 @@ +c:\Users\aasth\OneDrive\Pictures\Screenshots\Screenshot (266).png \ No newline at end of file diff --git a/README.md b/README.md index f30969d4f2..e7d8034a99 100644 --- a/README.md +++ b/README.md @@ -325,6 +325,8 @@ This repository also provides one such platforms where contributers come over an | [Find_the_ball](https://github.com/kunjgit/GameZone/tree/main/Games/Find_the_ball) | |[Color The Page](https://github.com/kunjgit/GameZone/tree/main/Games/Color_The_Page)| + [Building Blocks Game](https://github.com/kunjgit/GameZone/tree/main/Games/Building_Block_Game) + From e0a6765c3fd249bacb4584e4dfd146eabeaf4cc4 Mon Sep 17 00:00:00 2001 From: Aastha Kourav Date: Sun, 2 Jun 2024 14:15:50 +0530 Subject: [PATCH 3/3] new_changes --- README.md | 2 +- assets/images/Building Block Game.png | Bin 0 -> 50215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 assets/images/Building Block Game.png diff --git a/README.md b/README.md index e7d8034a99..d34f483fe9 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,7 @@ This repository also provides one such platforms where contributers come over an | [Find_the_ball](https://github.com/kunjgit/GameZone/tree/main/Games/Find_the_ball) | |[Color The Page](https://github.com/kunjgit/GameZone/tree/main/Games/Color_The_Page)| - [Building Blocks Game](https://github.com/kunjgit/GameZone/tree/main/Games/Building_Block_Game) +|[Building Blocks Game](https://github.com/kunjgit/GameZone/tree/main/Games/Building_Block_Game)| diff --git a/assets/images/Building Block Game.png b/assets/images/Building Block Game.png new file mode 100644 index 0000000000000000000000000000000000000000..20a3c183c59719730dfd1a973b9bbcbcb98f31c2 GIT binary patch literal 50215 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