From 5eae78a41b9eb2499e727f971a2b973cc1d014ee Mon Sep 17 00:00:00 2001 From: "rahulbiya@student.sfit.ac.in" Date: Wed, 20 Sep 2023 16:28:11 +0530 Subject: [PATCH 1/3] blocktower game push --- Games/Blocktower/README.md | 7 + Games/Blocktower/assets/images/2.png | Bin 0 -> 47972 bytes .../Blocktower/assets/images/blocktower1.png | Bin 0 -> 29303 bytes Games/Blocktower/index.html | 347 ++++++++++++++++++ Games/Blocktower/script.js | 309 ++++++++++++++++ Games/Blocktower/style.css | 121 ++++++ 6 files changed, 784 insertions(+) create mode 100644 Games/Blocktower/README.md create mode 100644 Games/Blocktower/assets/images/2.png create mode 100644 Games/Blocktower/assets/images/blocktower1.png create mode 100644 Games/Blocktower/index.html create mode 100644 Games/Blocktower/script.js create mode 100644 Games/Blocktower/style.css diff --git a/Games/Blocktower/README.md b/Games/Blocktower/README.md new file mode 100644 index 0000000000..0bae1b2397 --- /dev/null +++ b/Games/Blocktower/README.md @@ -0,0 +1,7 @@ +# Block-Tower +Building Up a AmaizngTower Block is a simple, Play This fun and exciting game. + +How to play: +Tap on the screen to stack a tower block +Stack up the blocks as high as you can. +Try to beat your friend score diff --git a/Games/Blocktower/assets/images/2.png b/Games/Blocktower/assets/images/2.png new file mode 100644 index 0000000000000000000000000000000000000000..d5eda330c669b47c4d17ebf8f1f361160c3e62f9 GIT binary patch literal 47972 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 literal 0 HcmV?d00001 diff --git a/Games/Blocktower/index.html b/Games/Blocktower/index.html new file mode 100644 index 0000000000..a3775eadeb --- /dev/null +++ b/Games/Blocktower/index.html @@ -0,0 +1,347 @@ + + + + + + + + + +
+
+
+ 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 +
+
+
+
+ + + + + + diff --git a/Games/Blocktower/script.js b/Games/Blocktower/script.js new file mode 100644 index 0000000000..84ffacea0b --- /dev/null +++ b/Games/Blocktower/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.5;} + 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(); diff --git a/Games/Blocktower/style.css b/Games/Blocktower/style.css new file mode 100644 index 0000000000..07f3f10d72 --- /dev/null +++ b/Games/Blocktower/style.css @@ -0,0 +1,121 @@ +@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; + 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: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} +#container .game-over * { + 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: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; +} +#container .game-ready #start-button { + 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; + 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 { + transition-delay: 0.3s; +} From b5ca7cbae19de1122e5daa84d151ac1656bb0f7d Mon Sep 17 00:00:00 2001 From: "rahulbiya@student.sfit.ac.in" Date: Wed, 20 Sep 2023 16:38:44 +0530 Subject: [PATCH 2/3] blocktower game push --- Games/Blocktower/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Games/Blocktower/README.md b/Games/Blocktower/README.md index 0bae1b2397..4cd4a47fb8 100644 --- a/Games/Blocktower/README.md +++ b/Games/Blocktower/README.md @@ -5,3 +5,4 @@ How to play: Tap on the screen to stack a tower block Stack up the blocks as high as you can. Try to beat your friend score +Block stack on one upon another. \ No newline at end of file From 1ad3ce825b66e528db3ec393e4ea16fa1a01e6c2 Mon Sep 17 00:00:00 2001 From: "rahulbiya@student.sfit.ac.in" Date: Wed, 20 Sep 2023 19:07:34 +0530 Subject: [PATCH 3/3] blocktower game push --- Games/Blocktower/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Games/Blocktower/README.md b/Games/Blocktower/README.md index 4cd4a47fb8..9f8f559375 100644 --- a/Games/Blocktower/README.md +++ b/Games/Blocktower/README.md @@ -5,4 +5,5 @@ How to play: Tap on the screen to stack a tower block Stack up the blocks as high as you can. Try to beat your friend score -Block stack on one upon another. \ No newline at end of file +Block stack on one upon another. +fun game \ No newline at end of file