From de99c5f7636a952025ea13de02bafd25bcb6bdec Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Mon, 17 Aug 2026 20:14:16 -0400 Subject: Fix broken --- 2026/games/steeledshield/script.js | 200 ------------------------------------- 1 file changed, 200 deletions(-) delete mode 100644 2026/games/steeledshield/script.js (limited to '2026/games/steeledshield/script.js') diff --git a/2026/games/steeledshield/script.js b/2026/games/steeledshield/script.js deleted file mode 100644 index 6ccfe0a..0000000 --- a/2026/games/steeledshield/script.js +++ /dev/null @@ -1,200 +0,0 @@ -//Assets & Elements -var bomb = document.getElementById("bomb"); -var food = document.getElementById("food"); -var blank = document.getElementById("blank"); -var friend = document.getElementById("friend"); -var container = document.getElementById("container"); -const objects = document.querySelectorAll(".objects"); -var explode = new Audio('assets/Explode.wav'); -var eat = new Audio('assets/Eat.wav'); -var win = new Audio('assets/Win.wav'); -var music = new Audio('assets/feeding_friend-zy_beat.wav'); -music.loop = true; -music.volume = 0.33; - -//Score counter -var counter = 0; - -//Randomizes food & bombs, as well as food emoji -var random = Math.floor(Math.random() * 3); -var foodItemRand = Math.floor(Math.random() * 3); - -//Iterator -let i = 0; - -//result & randoStart ensure that food & bomb start on either side of friend, -//this will make it so that a bomb doesn't spawn immediatley oncoming to the player -const result = Math.floor(Math.random() * 2) * 2; - -function randoStart(){for (i; i < objects.length; i++) { - objects[0].style.order = result; - objects[1].style.order = 1; - if(result == 0){ - objects[2].style.order = 2; - } - else{ - objects[2].style.order = 0; - } - food.innerHTML = foodItem[foodItemRand]; - -}}; - -//Moves the food & bomb -function objectMove(){ - for (let i = 0; i < objects.length; i++) { - objects[i].style.animation = "slide 1.5s infinite"; - } -} - -//Pauses food & bomb scrolling -function objectStop(){ - for (let i = 0; i < objects.length; i++) { - objects[i].style.animation = "none"; - } -} - -//Pauses food & bomb scrolling -objectStop(); - - -//Pauses the game to show instructions -//Once the message has been received from Clonk's harness the game will begin -function clonkload(){ - //for the love of god Steeled, do NOT touch this line of code - //it is finally working now - window.parent.postMessage({op: "ready"}); - //this one too, this is a load-bearing eventlistener - //game will fall apart like a jengaβ„’ structure if this eventlistener is broken - window.addEventListener("message", ev => { - window.parent.postMessage({op: "started", verb: "Feed Friend!"}), - setTimeout(() => { - objectMove(), - document.getElementById("counter").innerHTML = "Foods eated: " + counter, - document.getElementById("counter").style.width = "75px" - }, 2000) - }); -} - -//Food emojis, purely visual, has no gameplay effect -const foodItem = []; -foodItem[0]= "🍌"; -foodItem[1]= "🍎"; -foodItem[2]= "🍊"; - -//Loads instructions, randomizes the bomb & food positions and runs the harness check -document.addEventListener("load", - randoStart(), - clonkload(), - document.getElementById("counter").innerHTML = "Feed Friend!
Avoid the Bombs!", - document.getElementById("counter").style.width = "100%" -); - -//Prevents context menu on right click, so that the player can move right without issues -document.addEventListener('contextmenu', (event) => { - event.preventDefault(); -}); - -function moveLeft(){ - let left = parseInt(window.getComputedStyle(friend) - .getPropertyValue("left")); - left -= 32; - if(left>=0){ - friend.style.left = left + "px"; - }; - music.play(); -} - -function moveRight(){ - let left = parseInt(window.getComputedStyle(friend) - .getPropertyValue("left")); - left += 32; - if(left<96){ - friend.style.left = left + "px"; - }; - music.play(); -} - -//Checks mouse input, to get direction of movement -document.addEventListener('mousedown', (event) => { - switch (event.button) { - case 0: - moveLeft(); - break; - case 2: - moveRight(); - break; - } -}); - -//Moves the food & bomb row back to the top once it reaches the bottom of the game screen -setInterval(function(){for (let i = 0; i < objects.length; i++) { - objects[i].addEventListener('animationiteration', () => { - random = Math.floor(Math.random() * 3) + 1; - foodItemRand = Math.floor(Math.random() * 3); - objects[i].style.order = random; - food.innerHTML = foodItem[foodItemRand]; -})}},125); - -//Underlying collision code to be used for both food & bombs -function isCollide(a, b) { - var aRect = a.getBoundingClientRect(); - var bRect = b.getBoundingClientRect(); - - return !( - ((aRect.top + aRect.height) < (bRect.top)) || - (aRect.top > (bRect.top + bRect.height)) || - ((aRect.left + aRect.width) < bRect.left) || - (aRect.left > (bRect.left + bRect.width)) - ); -} - -//Checks collisions on an interval -setInterval(function(){ - //Food collision check - if(isCollide(friend, food)){ - friend.innerHTML = ""; - counter++; - eat.play(); - document.getElementById("counter").innerHTML = "Foods eated: " + counter; - //Ends game at 10 food eaten - if(counter>9){ - win.play(); - container.style.visibility = "hidden"; - objectStop(); - document.getElementById("counter").style.width = "100%"; - document.getElementById("counter").innerHTML = "YOU WIN! CONGLATURATIONS!"; - //Tells harness that the game is won and resets, to await the harness check again - setTimeout(function(){ - window.parent.postMessage({op: "done", win: true}), - location.reload() - },2000); - } - else{ - //Makes friend a happy fella :) on collision with food - setTimeout(function(){ - friend.innerHTML = ""; - },1000); - } - } - //Bomb collsion check - if(isCollide(friend, bomb)){ - container.style.visibility = "hidden"; - objectStop(); - explode.play(); - document.getElementById("counter").style.width = "100%"; - document.getElementById("counter").innerHTML = "oh no..."; - //Makes friend explode :( on collision with bomb - friend.innerHTML = "πŸ’₯"; - setTimeout(function(){ - //Tells harness that the game is lost and resets, to await the harness check again - window.parent.postMessage({op: "done", win: false}), - location.reload() - },2000); - } -},250); - -//Hate. Let me tell you how much I've come to hate Javascript since I began to jam. -//There are 5771 characters contained in the total lines of code that fill my script.js file. -//If the word 'hate' was engraved on each subpixel of those 5771 characters -//it would not equal one one-billionth of the hate I feel for javascript at this micro-instant. -//For js. Hate. Hate. \ No newline at end of file -- cgit v1.3.1