From 554829ffda4441184cdf84170fa7eca37d87a9c8 Mon Sep 17 00:00:00 2001 From: vishnuvardhan reddy goli Date: Tue, 18 Jun 2024 19:32:13 +0530 Subject: [PATCH] Added new project Random Quote generator --- 126 - Random Quote Generator/font/sans.ttf | Bin 0 -> 55852 bytes 126 - Random Quote Generator/index.html | 34 ++ 126 - Random Quote Generator/main.js | 45 +++ 126 - Random Quote Generator/style.css | 78 +++++ 30DaysOfJavaScript/assets/126 - quote.png | Bin 0 -> 3096 bytes index.html | 374 ++++++++++++--------- 6 files changed, 367 insertions(+), 164 deletions(-) create mode 100644 126 - Random Quote Generator/font/sans.ttf create mode 100644 126 - Random Quote Generator/index.html create mode 100644 126 - Random Quote Generator/main.js create mode 100644 126 - Random Quote Generator/style.css create mode 100644 30DaysOfJavaScript/assets/126 - quote.png diff --git a/126 - Random Quote Generator/font/sans.ttf b/126 - Random Quote Generator/font/sans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..85860e6c086e60a9458ff45af4dfb55471f744cd GIT binary patch literal 55852 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 z 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 literal 0 HcmV?d00001 diff --git a/126 - Random Quote Generator/index.html b/126 - Random Quote Generator/index.html new file mode 100644 index 00000000..33863e06 --- /dev/null +++ b/126 - Random Quote Generator/index.html @@ -0,0 +1,34 @@ + + + + + + + + + + Random Quote Generator + + + +
+

Random Quote Generator

+
Loading...
+
Generate Quote
+
Copy Quote
+
+ + + + + + + \ No newline at end of file diff --git a/126 - Random Quote Generator/main.js b/126 - Random Quote Generator/main.js new file mode 100644 index 00000000..0ed9b490 --- /dev/null +++ b/126 - Random Quote Generator/main.js @@ -0,0 +1,45 @@ +document.addEventListener("DOMContentLoaded", () => { + let quotes = []; + + // Fetch quotes from the API + fetch("https://type.fit/api/quotes") + .then((response) => response.json()) + .then((data) => { + quotes = data; + getQuote(); // Display an initial quote + }); + + // Function to generate a new quote + function getQuote() { + if (quotes.length === 0) { + return; + } + const randomIndex = Math.floor(Math.random() * quotes.length); + const quoteElement = document.getElementById("quote"); + const quoteText = quotes[randomIndex].text; + const quoteAuthor = cleanAuthor(quotes[randomIndex].author || "Unknown"); + quoteElement.textContent = `${quoteText} - ${quoteAuthor}`; + } + + // Function to clean up the author text + function cleanAuthor(author) { + // Remove unwanted text patterns (e.g., ", type.fit") + return author.replace(/, type\.fit/g, ""); + } + + // Function to copy the current quote to the clipboard + function copyQuote() { + const quoteElement = document.getElementById("quote"); + const textArea = document.createElement("textarea"); + textArea.value = quoteElement.textContent; + document.body.appendChild(textArea); + textArea.select(); + document.execCommand("copy"); + document.body.removeChild(textArea); + alert("Quote copied to clipboard!"); + } + + // Expose functions to the global scope so they can be called from the onclick attribute + window.getQuote = getQuote; + window.copyQuote = copyQuote; +}); diff --git a/126 - Random Quote Generator/style.css b/126 - Random Quote Generator/style.css new file mode 100644 index 00000000..280b72bc --- /dev/null +++ b/126 - Random Quote Generator/style.css @@ -0,0 +1,78 @@ +* { + padding: 0; + margin: 0; + font-family: "sans"; + user-select: none; +} + +@font-face { + src: url("font/sans.ttf"); + font-family: "sans"; +} + +.container { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 100vh; + background: #19172e; +} + +h2 { + color: white; + font-size: 2rem; + text-align: center; + margin-bottom: 20px; +} + +#quote { + color: rgb(15, 201, 233); + font-size: 1.5rem; + text-align: center; + margin-bottom: 20px; +} + +#btn, +#copy-btn { + cursor: pointer; + color: #fff; + background: #333; + font-size: 1rem; + padding: 10px 20px; + border-radius: 5px; + transition: background 0.3s ease; + text-align: center; + margin-top: 20px; +} + +#btn:hover, +#copy-btn:hover { + background: #1e8e3e; +} + +footer { + text-align: center; + color: white; + font-size: 1rem; + position: fixed; + bottom: 0; + left: 0; + right: 0; + padding: 5px; + line-height: 3vh; +} + +footer a:visited { + color: inherit; +} + +.name { + text-decoration: none; + color: white; +} + +.ProjectName { + color: white; + text-decoration: none; +} diff --git a/30DaysOfJavaScript/assets/126 - quote.png b/30DaysOfJavaScript/assets/126 - quote.png new file mode 100644 index 0000000000000000000000000000000000000000..abca3dbaf946ed33cba344090925f0f59b403127 GIT binary patch literal 3096 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

30 Days of JavaScript

- +
@@ -125,7 +132,8 @@

Drum Kit

- Jam out with this interactive JavaScript Drum Kit. Trigger realistic drum sounds by pressing keyboard keys or clicking on virtual drum pads. + Jam out with this interactive JavaScript Drum Kit. Trigger realistic drum sounds by pressing keyboard keys or + clicking on virtual drum pads.

@@ -153,7 +161,7 @@

Random Color Generator

- Unleash a Spectrum of Colors with this JavaScript Random Color Generator. + Unleash a Spectrum of Colors with this JavaScript Random Color Generator. Generate random hex codes or RGB values at the click of a button.

@@ -168,7 +176,7 @@

Digital Clock

- A sleek JavaScript Digital Clock displays the current time in an easy-to-read format. + A sleek JavaScript Digital Clock displays the current time in an easy-to-read format. Customize the clock's appearance and enjoy a modern timekeeping.

@@ -183,7 +191,8 @@

Random Password Generator

- This user-friendly JavaScript Random Password Generator creates strong, unique passwords for all your online accounts. + This user-friendly JavaScript Random Password Generator creates strong, unique passwords for all your online + accounts.

@@ -196,7 +205,7 @@

Calendar

- A dynamic JavaScript Calendar keeps you on top of your appointments and events. + A dynamic JavaScript Calendar keeps you on top of your appointments and events. View the current month, navigate to different dates.

@@ -211,8 +220,9 @@

Dynamic Form Field

- Build Flexible Forms with Dynamic JavaScript Fields. - Effortlessly add, remove, and manage form fields on the fly, allowing users to enter varying amounts of data.

+ Build Flexible Forms with Dynamic JavaScript Fields. + Effortlessly add, remove, and manage form fields on the fly, allowing users to enter varying amounts of data. +

@@ -225,7 +235,7 @@

Number Counter

- Track Any Value with a Simple JavaScript Number Counter. + Track Any Value with a Simple JavaScript Number Counter. Increment or decrement a number displayed on screen, ideal for keeping score.

@@ -254,7 +264,7 @@

Emoji Switcher

- Customize your emoji experience by seamlessly switching between different emoji sets. + Customize your emoji experience by seamlessly switching between different emoji sets. Express yourself in a more personalized way and add fun.

@@ -283,7 +293,7 @@

Custom QR Code

- Craft custom QR codes on-demand with this versatile JavaScript library. + Craft custom QR codes on-demand with this versatile JavaScript library. Encode any text data, URL, or even contact information into a scannable QR code.

@@ -298,7 +308,7 @@

Favicon Fetcher

- A lightweight JavaScript Favicon Fetcher retrieves website favicons with ease. + A lightweight JavaScript Favicon Fetcher retrieves website favicons with ease. Effortlessly grab the tiny icons that represent websites and integrate them.

@@ -313,7 +323,7 @@

Visit Counter

- Track Website Traffic with a Simple JavaScript Visit Counter. + Track Website Traffic with a Simple JavaScript Visit Counter. Display the number of visitors to your website, providing valuable insights into user engagement.

@@ -328,7 +338,7 @@

Joke Generator

- Laughter on Demand: A JavaScript Joke Generator delivers side-splitting puns, one-liners, + Laughter on Demand: A JavaScript Joke Generator delivers side-splitting puns, one-liners, and dad jokes at the click of a button.

@@ -358,7 +368,7 @@

Text Speed Control

- A customizable Text Speed Controller built with JavaScript. + A customizable Text Speed Controller built with JavaScript. Adjust the speed at which text appears on screen, catering to different reading preferences.

@@ -372,7 +382,7 @@

Stopwatch

- A versatile JavaScript Stopwatch for tracking elapsed time. + A versatile JavaScript Stopwatch for tracking elapsed time. Start, stop, and reset the timer with ease, perfect for timing workouts, races, cooking, or any activity.

@@ -402,7 +412,7 @@

Levitate Board

- Unleash your inner light artist with the Levitate Board App built with JavaScript. + Unleash your inner light artist with the Levitate Board App built with JavaScript. Move your mouse across a grid of squares, leaving a trail of vibrant color.

@@ -472,7 +482,7 @@

Weather App

- Stay informed with this comprehensive JavaScript Weather App. + Stay informed with this comprehensive JavaScript Weather App. Access real-time weather data for your location, including temperature, precipitation, wind.

@@ -486,7 +496,7 @@

Calculator

- Crunch numbers with ease using this versatile JavaScript Calculator. + Crunch numbers with ease using this versatile JavaScript Calculator. Solve everyday math problems or explore complex equations - it's all at your fingertips!

@@ -501,7 +511,8 @@

Memory Matching Game

- Challenge your memory with this fun Matching Game built in JavaScript. Uncover hidden pairs of images by flipping cards. Sharpen your memory and have a blast! + Challenge your memory with this fun Matching Game built in JavaScript. Uncover hidden pairs of images by + flipping cards. Sharpen your memory and have a blast!

@@ -514,7 +525,8 @@

Music Player

- A powerful Music Player built with JavaScript. Play your favorite tunes locally or stream them online (depending on implementation). + A powerful Music Player built with JavaScript. Play your favorite tunes locally or stream them online + (depending on implementation).

@@ -527,7 +539,8 @@

To Do List

- A user-friendly To-Do List built with JavaScript. Streamline your day by adding, managing, and marking tasks complete. + A user-friendly To-Do List built with JavaScript. Streamline your day by adding, managing, and marking tasks + complete.

@@ -541,7 +554,7 @@

Tic Tac Toe

- A classic Tic Tac Toe game built with JavaScript. Players take turns marking squares on a 3x3 grid. + A classic Tic Tac Toe game built with JavaScript. Players take turns marking squares on a 3x3 grid. The first to achieve a row, column, or diagonal of their mark wins!

@@ -557,7 +570,8 @@

Pop the Balloons

- Test your reflexes and aim in this fast-paced JavaScript game, Pop the Balloons! Click or tap to burst colorful balloons before they float away. + Test your reflexes and aim in this fast-paced JavaScript game, Pop the Balloons! Click or tap to burst + colorful balloons before they float away.

@@ -586,7 +600,7 @@

Decimal To Binary

- Convert numbers from everyday use to computer language with this JavaScript Decimal to Binary Converter. + Convert numbers from everyday use to computer language with this JavaScript Decimal to Binary Converter.

@@ -600,7 +614,7 @@

Hangman

- Test your vocabulary and guess the word before the hangman gets you! + Test your vocabulary and guess the word before the hangman gets you! This classic JavaScript Hangman game lets you guess letters to reveal a hidden word.

@@ -616,7 +630,8 @@

Simple Form Validation

- Users are prompted to fill in required fields, and error messages appear if they leave something blank or enter invalid data. + Users are prompted to fill in required fields, and error messages appear if they leave something blank or + enter invalid data.

@@ -631,7 +646,7 @@

Lorem Ipsum Generator

- Generate placeholder text with ease using this JavaScript Lorem Ipsum Generator. + Generate placeholder text with ease using this JavaScript Lorem Ipsum Generator. Fill empty sections of your web pages with realistic-looking Latin text.

@@ -660,7 +675,7 @@

Snake-Game

- Relive a nostalgic experience with this addictive JavaScript Snake Game. + Relive a nostalgic experience with this addictive JavaScript Snake Game. Guide a growing snake through a grid and avoid hitting itself or the walls.

@@ -675,7 +690,7 @@

Age Calculator

- This user-friendly JavaScript Age Calculator lets you determine your age in seconds since your date of birth! + This user-friendly JavaScript Age Calculator lets you determine your age in seconds since your date of birth!

@@ -690,7 +705,7 @@

Gradient Generator

- Choose your starting and ending colors, + Choose your starting and ending colors, adjust the number of intermediate steps, and generate beautiful gradients for any design element!

@@ -706,7 +721,7 @@

Sorting visualizer

- Witness the power of sorting algorithms in action! This interactive JavaScript + Witness the power of sorting algorithms in action! This interactive JavaScript Sorting Visualizer lets you choose from various sorting methods.

@@ -722,7 +737,7 @@

PixSort Studio

- Transform images into mesmerizing, pixelated works of art with PixSort Studio. + Transform images into mesmerizing, pixelated works of art with PixSort Studio. Experiment with various pixel sorting algorithms!

@@ -738,7 +753,7 @@

Getting Started with APIs

- Enter a search term, and this user-friendly API instantly retrieves + Enter a search term, and this user-friendly API instantly retrieves the number of cat images available online based on your search.

@@ -753,7 +768,7 @@

Block Runner

- Navigate a dynamic landscape in this fast-paced JavaScript game, Block Runner! + Navigate a dynamic landscape in this fast-paced JavaScript game, Block Runner! Jump over obstacles, collect coins, and unlock new characters.

@@ -768,7 +783,7 @@

Dice Game

- Challenge your friends or test your luck with this classic Dice Game built with JavaScript! + Challenge your friends or test your luck with this classic Dice Game built with JavaScript! Roll the virtual dice, compete for the highest score.

@@ -784,7 +799,7 @@

Palindrome Checker

- Enter a word or phrase, and this JavaScript app instantly reveals whether it's a palindrome! + Enter a word or phrase, and this JavaScript app instantly reveals whether it's a palindrome! Palindromes read the same backward as forward.

@@ -800,7 +815,7 @@

Caesar Cipher

- Encode and decode messages with this user-friendly JavaScript Caesar Cipher app. + Encode and decode messages with this user-friendly JavaScript Caesar Cipher app. Shift letters by a chosen number to create a simple but fun secret code.

@@ -816,7 +831,7 @@

Weight Converter

- Convert between kilograms, pounds, grams, and ounces with ease! + Convert between kilograms, pounds, grams, and ounces with ease! This convenient JavaScript Weight Converter lets you switch weight units instantly.

@@ -832,7 +847,7 @@

Image Utility

- This JavaScript Image Utility empowers you to manage and enhance your photos. + This JavaScript Image Utility empowers you to manage and enhance your photos. Perform basic image editing tasks like resizing, cropping, and rotating.

@@ -848,7 +863,8 @@

Guess the Number Game

- Test your luck and intuition! This simple JavaScript game generates a random number, and you have to guess it within a limited number of tries. + Test your luck and intuition! This simple JavaScript game generates a random number, and you have to guess it + within a limited number of tries.

@@ -862,8 +878,9 @@

Balloon Game

- Test your reflexes and aim in this fast-paced game. - Click or tap to burst colorful balloons before they float away. Earn points and avoid missing them for a high score! + Test your reflexes and aim in this fast-paced game. + Click or tap to burst colorful balloons before they float away. Earn points and avoid missing them for a high + score!

@@ -878,7 +895,8 @@

Temperature Convertor

- Switch between Celsius, Fahrenheit, and Kelvin with ease! This convenient JavaScript Temperature Converter lets you convert temperatures instantly. + Switch between Celsius, Fahrenheit, and Kelvin with ease! This convenient JavaScript Temperature Converter + lets you convert temperatures instantly.

@@ -893,8 +911,8 @@

Notes Taking App

- Capture ideas, jot down reminders, and organize your thoughts with ease! This JavaScript - Notes App lets you create, edit, and manage notes with a clean. + Capture ideas, jot down reminders, and organize your thoughts with ease! This JavaScript + Notes App lets you create, edit, and manage notes with a clean.

@@ -909,7 +927,8 @@

N Queen Visualizer

- This interactive JavaScript N-Queens Visualizer lets you explore solutions for different board sizes and witness the backtracking algorithm in action! + This interactive JavaScript N-Queens Visualizer lets you explore solutions for different board sizes and + witness the backtracking algorithm in action!

@@ -924,7 +943,7 @@

Bubble Shooting Game

- Match bubbles and clear the board in this addictive Bubble Shooter game (JavaScript)! + Match bubbles and clear the board in this addictive Bubble Shooter game (JavaScript)! Aim and shoot colorful bubbles and clear your way to victory!

@@ -940,7 +959,8 @@

Stick Hero Game

- Extend bridges for your stick figure character to reach the goal. Test your timing and logic as you navigate increasingly difficult levels! + Extend bridges for your stick figure character to reach the goal. Test your timing and logic as you navigate + increasingly difficult levels!

@@ -954,7 +974,8 @@

Quiz App

- Challenge yourself or your friends with this interactive JavaScript Quiz App! Answer multiple-choice questions on various topics + Challenge yourself or your friends with this interactive JavaScript Quiz App! Answer multiple-choice questions + on various topics and track your progress.

@@ -969,7 +990,8 @@

Simon Game

- Test Your Memory and Reflexes: Play Simon (JavaScript)! Repeat a sequence of lights and sounds displayed by the game. + Test Your Memory and Reflexes: Play Simon (JavaScript)! Repeat a sequence of lights and sounds displayed by + the game.

@@ -984,7 +1006,7 @@

Color Choosing Game

- Can you identify the exact shade? This interactive JavaScript game + Can you identify the exact shade? This interactive JavaScript game challenges you to match a displayed color by adjusting sliders for hue, saturation.

@@ -1000,7 +1022,7 @@

Reaction Time

- Sharpen your reaction skills! Click the button as soon as it turns + Sharpen your reaction skills! Click the button as soon as it turns green to measure your response time in milliseconds. Can you beat your high score?

@@ -1016,7 +1038,7 @@

Wall Breaker Game

- Guide your ball through a maze, + Guide your ball through a maze, break through obstacles, and collect power-ups in this action-packed Wall Breaker game!

@@ -1032,7 +1054,7 @@

Dot Connect Game

- This engaging JavaScript game combines classic connect the dots with a puzzle element! + This engaging JavaScript game combines classic connect the dots with a puzzle element! Draw lines to connect matching dots, but be strategic.

@@ -1048,7 +1070,8 @@

Insect_Catching_Game

- Put your focus to the test! Catch only the designated objects while avoiding others as they fly across the screen. + Put your focus to the test! Catch only the designated objects while avoiding others as they fly across the + screen.

@@ -1063,7 +1086,7 @@

Particle Effect Animation

- Create mesmerizing visuals with interactive particle effects built with JavaScript. + Create mesmerizing visuals with interactive particle effects built with JavaScript. Animate swarms of tiny particles that react to user input, mouse movement.

@@ -1079,7 +1102,8 @@

Postmaster Clone

- Manage your email efficiently with this user-friendly postmaster clone. Compose, send, and receive emails directly within your browser, similar to a webmail. + Manage your email efficiently with this user-friendly postmaster clone. Compose, send, and receive emails + directly within your browser, similar to a webmail.

@@ -1094,7 +1118,7 @@

Text to Speech Converter

- Give your text a voice with this user-friendly JavaScript Text-to-Speech Converter! Simply enter your text, + Give your text a voice with this user-friendly JavaScript Text-to-Speech Converter! Simply enter your text, choose from various voices and languages!

@@ -1110,7 +1134,8 @@

Currency Converter

- Enter the amount and choose your currencies from a comprehensive list. Access live exchange rates and see the converted amount in real-time. + Enter the amount and choose your currencies from a comprehensive list. Access live exchange rates and see the + converted amount in real-time.

@@ -1126,7 +1151,7 @@

Movie Series Quote Generator<

- Spark nostalgia or discover hidden gems with this dynamic JavaScript Quote Generator! + Spark nostalgia or discover hidden gems with this dynamic JavaScript Quote Generator! Get a random quote from your favorite movies and TV shows.

@@ -1142,7 +1167,8 @@

Pattern Generator

- This versatile JavaScript Pattern Generator empowers you to create bespoke designs! Choose from a library of shapes, adjust size, color, and rotation. + This versatile JavaScript Pattern Generator empowers you to create bespoke designs! Choose from a library of + shapes, adjust size, color, and rotation.

@@ -1157,7 +1183,7 @@

Transpose Matrix Calculator

- Analyze transportation costs and distances with ease! This JavaScript Transport Matrix + Analyze transportation costs and distances with ease! This JavaScript Transport Matrix Calculator allows you to input origin and destination points, calculate distances.

@@ -1189,7 +1215,7 @@

Typing Platform

- Improve your typing speed and accuracy with engaging exercises and games. + Improve your typing speed and accuracy with engaging exercises and games. Track your progress, compete with friends, and become a typing ninja!

@@ -1205,7 +1231,7 @@

Casino Slot Machine Game

- Experience the thrill of Vegas (without the risk) with this interactive JavaScript Slot Machine! + Experience the thrill of Vegas (without the risk) with this interactive JavaScript Slot Machine! Spin the reels, match symbols, and trigger exciting bonus features

@@ -1220,7 +1246,8 @@

Color Game

- Challenge yourself with this vibrant JavaScript Memory Game! Memorize a sequence of colorful tiles and then try to replicate it perfectly. + Challenge yourself with this vibrant JavaScript Memory Game! Memorize a sequence of colorful tiles and then + try to replicate it perfectly.

@@ -1235,7 +1262,7 @@

Movie Search App

- Find your next favorite film! Search for movies by title, genre, actor, or director. + Find your next favorite film! Search for movies by title, genre, actor, or director. Access detailed information, trailers, and ratings to make informed choices.

@@ -1250,7 +1277,8 @@

Car Game

- Navigate a bustling cityscape in this open-world driving game. Complete missions, avoid obstacles, and enjoy the freedom of the road! + Navigate a bustling cityscape in this open-world driving game. Complete missions, avoid obstacles, and enjoy + the freedom of the road!

@@ -1265,7 +1293,7 @@

Search Github Profile

- Dive deeper into the world of open-source development. + Dive deeper into the world of open-source development. Search for GitHub profiles by username and explore their contributions, repositories.

@@ -1281,7 +1309,8 @@

Dictionary App

- Never get caught without a definition! This user-friendly JavaScript Dictionary App stores a wealth of words and definitions right on your device. + Never get caught without a definition! This user-friendly JavaScript Dictionary App stores a wealth of words + and definitions right on your device.

@@ -1295,7 +1324,8 @@

Three Number

- Test your luck and sharpen your observation skills. This interactive JavaScript app generates a set of random numbers. + Test your luck and sharpen your observation skills. This interactive JavaScript app generates a set of random + numbers.

@@ -1309,7 +1339,7 @@

Sudoku

- Challenge yourself with the timeless puzzle of Sudoku, built with JavaScript. + Challenge yourself with the timeless puzzle of Sudoku, built with JavaScript. Fill the grid with numbers 1 through 9, subgrid contains each number only once.

@@ -1324,7 +1354,8 @@

Hangman Game

- A chilling take on the classic Hangman! Guess letters to reveal a hidden word, but be careful - with each wrong guess, a spooky spirit gets closer to claiming your soul! + A chilling take on the classic Hangman! Guess letters to reveal a hidden word, but be careful - with each + wrong guess, a spooky spirit gets closer to claiming your soul!

@@ -1339,7 +1370,7 @@

Falling Ball Game

- Guide your bouncing ball through a maze of falling blocks. Strategically tilt the platform + Guide your bouncing ball through a maze of falling blocks. Strategically tilt the platform to avoid obstacles and collect points.

@@ -1354,7 +1385,7 @@

Dot Target Game

- Test your reflexes and precision in this fast-paced shooting game! + Test your reflexes and precision in this fast-paced shooting game! Tap or click to fire dots at moving targets. Earn points for accuracy and speed.

@@ -1369,7 +1400,7 @@

Tetris Game

- Experience the enduring puzzle game, Tetris, built with JavaScript! Strategically rotate and place falling + Experience the enduring puzzle game, Tetris, built with JavaScript! Strategically rotate and place falling Tetriminos to complete horizontal lines.

@@ -1384,7 +1415,7 @@

Sticky Notes

- Jot down quick thoughts, to-do lists, or reminders with this user-friendly JavaScript Sticky Notes app. + Jot down quick thoughts, to-do lists, or reminders with this user-friendly JavaScript Sticky Notes app. Easily create, edit, and organize your notes with a clean.

@@ -1400,7 +1431,7 @@

Spin The Wheel Game

- Take a spin and see where fate takes you in this classic game of chance. + Take a spin and see where fate takes you in this classic game of chance. Will you land on a prize, a challenge, or something unexpected?

@@ -1416,7 +1447,7 @@

Body Mass Index Calculator

- Enter your weight and height to calculate your Body Mass Index (BMI). This simple + Enter your weight and height to calculate your Body Mass Index (BMI). This simple JavaScript tool provides a general indicator of your weight-to-height ratio.

@@ -1432,7 +1463,8 @@

Ping Pong Game

- Sharpen your reflexes and reaction time in this fast-paced JavaScript ping pong game! Play against a friend or the computer, master your volleys and smashes. + Sharpen your reflexes and reaction time in this fast-paced JavaScript ping pong game! Play against a friend or + the computer, master your volleys and smashes.

@@ -1447,7 +1479,7 @@

Projectile Motion Simulator

- Adjust initial velocity, launch angle, and gravity to see how they affect a projectile's trajectory. + Adjust initial velocity, launch angle, and gravity to see how they affect a projectile's trajectory. Visualize the path and analyze the factors.

@@ -1462,7 +1494,7 @@

Atari Game

- Don't be fooled by the blocky graphics! This Atari game offers addictive gameplay with a + Don't be fooled by the blocky graphics! This Atari game offers addictive gameplay with a surprisingly high skill ceiling.

@@ -1478,7 +1510,7 @@

Multiply Math Game

- Sharpen your multiplication skills in a fun and engaging way! This JavaScript game provides + Sharpen your multiplication skills in a fun and engaging way! This JavaScript game provides various practice exercises with adjustable difficulty.

@@ -1493,8 +1525,8 @@

Casio

- Transform your Casio digital piano into a personalized learning experience with Casio Music Space! - This versatile JavaScript app offers a library of songs. + Transform your Casio digital piano into a personalized learning experience with Casio Music Space! + This versatile JavaScript app offers a library of songs.

@@ -1522,7 +1554,7 @@

Word Guess

- Test your vocabulary and intuition! This simple JavaScript game generates a hidden word. + Test your vocabulary and intuition! This simple JavaScript game generates a hidden word. You have a limited number of tries to guess it based on clues.

@@ -1538,7 +1570,8 @@

Whack a Mole Game

- Test your reflexes and whack those pesky moles! This fast-paced JavaScript game challenges you to hit as many moles as possible before they disappear. + Test your reflexes and whack those pesky moles! This fast-paced JavaScript game challenges you to hit as many + moles as possible before they disappear.

@@ -1552,8 +1585,8 @@

Pomodoro Clock

- Take control of your focus time with this versatile Pomodoro Timer built with JavaScript! - Set custom work and break intervals, personalize notification sounds. + Take control of your focus time with this versatile Pomodoro Timer built with JavaScript! + Set custom work and break intervals, personalize notification sounds.

@@ -1567,8 +1600,8 @@

Captcha Generator

- Enhance your web form security with this easy-to-integrate JavaScript Captcha Generator! - Generate distorted text or image captchas. + Enhance your web form security with this easy-to-integrate JavaScript Captcha Generator! + Generate distorted text or image captchas.

@@ -1582,7 +1615,8 @@

Math Game

- Master your arithmetic skills in a fun and engaging way! Choose your operation (addition, subtraction, multiplication, division), + Master your arithmetic skills in a fun and engaging way! Choose your operation (addition, subtraction, + multiplication, division), and blast!

@@ -1598,7 +1632,7 @@

BlackJack Game

- Try Your Luck and Test Your Skills: Experience the thrill of the casino with this classic card game. + Try Your Luck and Test Your Skills: Experience the thrill of the casino with this classic card game. Hit or stand, strategize your bets, and try to beat the dealer.

@@ -1613,7 +1647,8 @@

Coin Game

- Predict the fate of the coin! This fast-paced JavaScript game challenges you to guess heads or tails before the coin flips. + Predict the fate of the coin! This fast-paced JavaScript game challenges you to guess heads or tails before + the coin flips.

@@ -1628,7 +1663,7 @@

Bomb Throw Game

- Test your logic and bomb disposal skills! Each level presents a bomb with blinking lights and wires. + Test your logic and bomb disposal skills! Each level presents a bomb with blinking lights and wires. Analyze the clues and cut the correct wires.

@@ -1644,7 +1679,8 @@

Minesweeper Game

- Uncover the board, but beware of hidden mines! This classic strategy game challenges you to reveal all safe squares on a grid while avoiding exploding mines. + Uncover the board, but beware of hidden mines! This classic strategy game challenges you to reveal all safe + squares on a grid while avoiding exploding mines.

@@ -1659,7 +1695,8 @@

Retro Mario Game

- Relive the nostalgia or experience the magic for the first time with this faithful recreation of the iconic Super Mario Bros. + Relive the nostalgia or experience the magic for the first time with this faithful recreation of the iconic + Super Mario Bros.

@@ -1674,7 +1711,8 @@

Catch Me If You Can

- A thrilling game of cat and mouse, but with boxes! Control a pursuer character and strategically block the path of a + A thrilling game of cat and mouse, but with boxes! Control a pursuer character and strategically block the + path of a fleeing box before it escapes the screen.

@@ -1691,7 +1729,7 @@

Word For Alphabet Speak Aloud

- Never be stumped by a letter again! Letter Lector reads any letter aloud instantly. + Never be stumped by a letter again! Letter Lector reads any letter aloud instantly. Perfect for learning pronunciation, accessibility needs.

@@ -1707,7 +1745,7 @@

Snowy Particle Js

- Transform your website or app into a peaceful winter scene with this enchanting JavaScript particle animation! + Transform your website or app into a peaceful winter scene with this enchanting JavaScript particle animation!

@@ -1721,7 +1759,7 @@

Stack Game

- Test your precision and strategy! Carefully stack colorful blocks to build the highest tower possible. + Test your precision and strategy! Carefully stack colorful blocks to build the highest tower possible. One wrong move can send it all crashing down!

@@ -1737,7 +1775,7 @@

Maths addition

- Make learning addition engaging for young children! + Make learning addition engaging for young children! This JavaScript app features colorful graphics, interactive exercises, and playful sounds to help children.

@@ -1753,7 +1791,7 @@

Number Facts

- Did you know zero is the only even prime number? Explore the weird, wonderful, and sometimes wacky world + Did you know zero is the only even prime number? Explore the weird, wonderful, and sometimes wacky world of numbers with this captivating JavaScript app!

@@ -1769,7 +1807,8 @@

Pixel to em Converter

- Ensure consistent and responsive layouts across different screens with this user-friendly JavaScript Pixel to EM Converter! + Ensure consistent and responsive layouts across different screens with this user-friendly JavaScript Pixel to + EM Converter!

@@ -1784,8 +1823,8 @@

Luminosity Particle Js

- Create a captivating spectacle with this mesmerizing - JavaScript particle animation! Glowing particles dance and swirl across the screen. + Create a captivating spectacle with this mesmerizing + JavaScript particle animation! Glowing particles dance and swirl across the screen.

@@ -1800,23 +1839,25 @@

Maze Game

- Sharpen your problem-solving skills in this captivating JavaScript maze game! + Sharpen your problem-solving skills in this captivating JavaScript maze game! Explore a labyrinthine world filled with twists and turns.

- Minesweeper + Minesweeper

Minesweeper

- +

- Uncover the board, but beware of hidden mines! This classic game of chance and strategy challenges you to reveal all safe squares on a grid avoiding exploding mines. + Uncover the board, but beware of hidden mines! This classic game of chance and strategy challenges you to + reveal all safe squares on a grid avoiding exploding mines.

@@ -1831,7 +1872,7 @@

Movie Guessing Game

- Test your movie knowledge and have some laughs with this interactive guessing game! + Test your movie knowledge and have some laughs with this interactive guessing game! Identify movies based on clues like quotes, iconic scenes, or even emojis.

@@ -1849,8 +1890,7 @@

Guess the Country

Movie Guessing Game

Movie Guessing Game

- + @@ -1873,8 +1913,7 @@

Tower of Hanoi

2048 Game

2048 Game

- + @@ -1887,55 +1926,62 @@

2048 Game

Flappy Bird Game

Flappy Bird Game

- +
-

Flappy Bird challenges players to tap and fly a bird through an endless series of pipes, aiming for the highest score without crashing. +

Flappy Bird challenges players to tap and fly a bird through an endless series of pipes, aiming for the + highest score without crashing. +

+
+
+ +
+ Taash Game +

Taash Game

+ + + + +
+

Play a classic game of Taash (cards) against the computer.

-
- Taash Game -

Taash Game

- - - - -
-

Play a classic game of Taash (cards) against the computer. -

+
+ Mancala Game +

Mancala Game

+ + + + +
+

Play a classic game of Mancala between two players. +

+
-
-
- Mancala Game -

Mancala Game

- - - - -
-

Play a classic game of Mancala between two players. -

+
+ Lights Out +

Lights Out

+ + + +
-
-
- Lights Out -

Lights Out

- - - - +
+ random quotes +

Random Quote Generator

+ + + +
-
+