From f0557a21f15e73539e0e63a6527d5845dc77c826 Mon Sep 17 00:00:00 2001 From: ION606 Date: Thu, 25 Apr 2024 11:27:33 -0700 Subject: [PATCH] initial commit --- index.html | 37 ++++++++++++ pink-nodders.gif | Bin 0 -> 23875 bytes script.js | 142 +++++++++++++++++++++++++++++++++++++++++++ style.css | 154 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 333 insertions(+) create mode 100644 index.html create mode 100644 pink-nodders.gif create mode 100644 script.js create mode 100644 style.css diff --git a/index.html b/index.html new file mode 100644 index 0000000..cf315b5 --- /dev/null +++ b/index.html @@ -0,0 +1,37 @@ + + + + + + + PINK NODDERS + + + + +
+ PINK NODDERS + +
+ + + +
+

I N S A N I T Y

+
+ + + + + \ No newline at end of file diff --git a/pink-nodders.gif b/pink-nodders.gif new file mode 100644 index 0000000000000000000000000000000000000000..95f7d74b932bee08b335f5f3d413f3135ff13825 GIT binary patch literal 23875 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
  • C00^Uv@IpL6Gl zgG)9!`J-PRe|Y4nT{_Hx?~a^cGW@a}D)r?N%Ippp@t(m;JZ`~!$g$6e`T{wMe9V`| zGR|0($R!}Nb}f3c%v$SgB|k+$7s(9unD41b62E#Ff6d5}?&2jk7elan5_loNnj4>y zpCx)aP+C2H{K9b=o~v+Dx~&$K0*%!8@;WBBXx*>COJz7PIa`e{-;2Ah91I)}U&T0c z$2@v%U!2#H<5?9O>wjHF;_xc+zV58aRk(?(bGm_G?UP$(-)fTMKfu)99XW>5cZQNQ zZbK5QwRZQ=<=zu7O4k0^L-PeZcBwG{%LvE4_-eDs7BUuQIQX25xT5Ge8BGIG*=a}d zV3TQ=*1_{L+8v``rZ7LZv<7iEezm}S^FFMP1^F3jR%?vrfp<+ttK#o(njn-v&>kBbtQ8;0)cY7Ce@T5^^5|`mPqI?v_?LqhTwZpK zUF#Efipt+KMgB30{`xd@ryH^FE`4ifcNNVQhIo9T;rI6^*Tlh3m#b`@k@L-G4*YnL zc;KsL5l3J5FW~MA7Mu0k_)XbBHiQYlFURCwd2k|aB0w-Z~Titi)2mbCUgj zn>r#jNeam`K^E#I!W65^CAi-f$vidB#H^In(`f+V50U=IG#Zzy(Ocmq2PL6h#$EIN zoJO;iiulNbC0_qMjm}?Sr^zpsrfE9_U62{teKsR+mo9)y>cFuW!oYt`qbFq8WNaLE zr_lvwQ5+S+pY+djoKJr*!YVRUH9_$;KXoJ(xHvHxkAR^CTjMLOfp4Q%>CUnuktsew z-)lqXOCgt`GqdL!9-Niv;-=nehUTeo^ zellogG)o|s>XUpE7NL-A{Yg{y_ky`c-{q9Hel%@&z)e88b59lcDLrNe09e?N>C-Wx{m4Ws|_52J(s2gB&~y$GA05bevGmM78fxTh$|3lAB_e6S6r1wO6Po)2KB5m+r0HvI0)Bpeg literal 0 HcmV?d00001 diff --git a/script.js b/script.js new file mode 100644 index 0000000..faaa28f --- /dev/null +++ b/script.js @@ -0,0 +1,142 @@ +// Function to generate a random number within a range +function random(min, max) { + return Math.floor(Math.random() * (max - min + 1) + min); +} + +// Function to create an emote element +function createEmote() { + const emote = document.createElement('img'); + emote.src = 'pink-nodders.gif'; + emote.classList.add('emote'); + const d = Math.random() * 100; + + emote.style.width = `${d}px`; + emote.style.height = `${d}px`; + + document.body.appendChild(emote); + return emote; +} + +// Function to update the emote position +function updatePosition(emote) { + emote.style.left = `${random(0, window.innerWidth - 150)}px`; // 150 is the emote width + emote.style.top = `${random(0, window.innerHeight - 150)}px`; // 150 is the emote height +} + +// Create multiple emotes and make them bounce around +const aLength = (localStorage.getItem('alen')) ? Number(localStorage.getItem('alen')) : 20; +let emotes = Array.from({ length: aLength }, createEmote); + +// Update each emote's initial position +emotes.forEach(updatePosition); + +// Function to animate emotes +function animateEmotes() { + emotes.forEach(emote => { + const xMove = random(-100, 100); + const yMove = random(-100, 100); + emote.style.transform = `translate(${xMove}px, ${yMove}px)`; + // Update the position after the transition + setTimeout(() => updatePosition(emote), 1000); + }); +} + +function changeNodders() { + const aLengthNew = document.querySelector('#cherryBlossomPopup').querySelector('input[type="number"]').value; + localStorage.setItem('alen', aLengthNew); + document.querySelectorAll('.emote:not(.NOCLONE)').forEach(el => el.remove()); + + emotes = Array.from({ length: aLengthNew }, createEmote); + emotes.push(document.querySelector('.NOCLONE')); + emotes.forEach(updatePosition); +} + + +function dupNodders() { + document.querySelectorAll('.emote:not(.NOCLONE)').forEach(el => el.click()); +} + +function changeBK() { + let r = 255; // Red value at full to emphasize pink + const g = Math.floor(Math.random() * 156 + 100); // Green value between 100 and 255 + const b = Math.floor(Math.random() * 156 + 100); // Blue value between 100 and 255 + let alpha = 0.5; // Set transparency to make it softer + + // random chance of hard color + const isRand = Math.floor(100 * Math.random()); + if (isRand === 1 || isRand >= 99) { + r = Math.floor(Math.random() * 156 + 100); + alpha = 1; + } + + const backgroundColor = `rgba(${r}, ${g}, ${b}, ${alpha})`; + document.body.style.backgroundColor = backgroundColor; +} + +// Animate emotes every second +document.addEventListener('DOMContentLoaded', () => { + emotes.push(document.querySelector('.NOCLONE')); + setInterval(animateEmotes, 2000); + + const konamiCode = ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'b', 'a', 'Enter']; + let userInput = []; + + let intId = setInterval(() => {userInput = []}, 3000); + + document.addEventListener('keydown', (event) => { + userInput.push(event.key); + + clearInterval(intId); + intId = setInterval(() => {userInput = []}, 3000); + + // Remove the first element if it exceeds the length + if (userInput.length > konamiCode.length) userInput.shift(); + + // Check if the userInput array matches the konamiCode + if (userInput.join('') === konamiCode.join('')) { + let gradient = document.getElementById('neonRainbowGradient'); + if (!gradient) { + gradient = document.createElement('div'); + gradient.id = 'neonRainbowGradient'; + gradient.className = 'neon-rainbow'; + document.body.appendChild(gradient); + } + else gradient.remove(); + } + else if (event.ctrlKey && event.key === 's') { + event.preventDefault(); + console.log("%cINSANITY", "color:red;font-weight:bold;font-size:100px;"); + emotes.forEach(e => e.classList.add('rotneon')); + + const container = document.querySelector("#fullscreenTextContainer"); + container.style.opacity = 1; + container.style.zIndex = 1000; + setTimeout(() => { + container.style.zIndex = 0; + container.style.opacity = 0; + }, 3000); + } + }); +}); + +// Listen for click events on emotes for possible future interactivity +document.addEventListener('click', e => { + if (e.target.classList.contains('NOCLONE')) { + const popupEl = document.getElementById('cherryBlossomPopup'); + popupEl.style.display = "block"; + popupEl.querySelector('input[type="number"]').value = emotes.length; + } + else if (e.target.classList.contains('emote')) { + const pink_clone = e.target.cloneNode(true); + document.body.appendChild(pink_clone); + + // Move the original element to the left relative to its current position + e.target.style.transform = `translateX(-${e.target.offsetWidth}px)`; + + // Move the cloned element to the right relative to the original position + pink_clone.style.transform = `translateX(${e.target.offsetWidth}px)`; + + emotes.push(pink_clone); + + } +}); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..0126459 --- /dev/null +++ b/style.css @@ -0,0 +1,154 @@ +body { + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; + background-color: #f3f3f3; + font-family: 'Arial', sans-serif; +} + +.emote-container { + text-align: center; +} + + +.emote { + position: absolute; + border-radius: 50%; + will-change: transform; + transition: transform 1s ease, left 1s ease, top 1s ease; + cursor: pointer; +} + + +@keyframes colorShift { + 0% { filter: hue-rotate(0deg); transform: rotate(0deg); } + 50% { filter: hue-rotate(180deg); } + 100% { filter: hue-rotate(360deg); transform: rotate(360deg);;} +} + +.rotneon { + filter: brightness(150%) saturate(120%); + animation: colorShift 5s infinite; +} + +.NOCLONE { + z-index: 300; +} + + +.popup { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: none; + background-color: rgba(0, 0, 0, 0.5); + z-index: 1000; +} + +.popup-content { + position: relative; + width: 300px; + padding: 20px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + background-color: #fff; + border-radius: 10px; + text-align: center; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background-image: url('cherry-blossom-bg.jpg'); /* Background image of cherry blossoms */ +} + +.close-btn { + position: absolute; + top: 10px; + right: 10px; + border: none; + background: none; + font-size: 16px; + cursor: pointer; +} + +.theme-button { + display: block; /* Makes the button block to fill the width of the container */ + margin: 10px auto; /* Automatically centers the button horizontally */ + padding: 10px 20px; + border: none; + border-radius: 5px; + background-color: pink; + color: white; + cursor: pointer; + font-size: 14px; + outline: none; + width: 90%; +} + +h2 { + color: #333; +} + +input[type="number"] { + padding: 8px; + margin-top: 10px; + border-radius: 5px; + border: 1px solid #ccc; + width: 80%; +} + +@keyframes moveGradient { + 0% { background-position: 0% 50%; } + 100% { background-position: -800% 50%; } +} + +@keyframes rotateGradient { + 0% { + transform: rotate(0deg) scale(1); + } + 100% { + transform: rotate(360deg) scale(3); + } +} + +.neon-rainbow { + height: 200vh; + width: 200vw; + position: fixed; + z-index: -1; + + background: linear-gradient(90deg, #ff0, #f0f, #00f, #0ff, #0f0, #ff0, #f00, #ff0, #ff0); + background-size: 800% 100%; + + animation: moveGradient 15s linear infinite, rotateGradient 20s linear infinite; +} + + +#fullscreenTextContainer { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + font-size: 4em; + color: white; + opacity: 0; + transition: opacity 2s ease-in-out; + font-weight: bold; + + text-shadow: + 0 0 5px #ff5ec9, /* Glowing effect */ + 0 0 10px #fc86ab, /* Glowing effect */ + 0 0 20px #ff5ec9, /* Glowing effect */ + 0 0 40px #fc86ab; /* Glowing effect */ +} + +.hidden { + opacity: 0; +} \ No newline at end of file