From 6173651fd1b4025a95f7258e18540b8006b719d6 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+Kumar-Ankit07@users.noreply.github.com> Date: Mon, 15 Jul 2024 23:37:51 +0530 Subject: [PATCH 1/8] Added NumberGuessingBySpeaking Game --- NumberGuessingBySpeaking/index.html | 20 +++++++ NumberGuessingBySpeaking/script.js | 56 +++++++++++++++++++ NumberGuessingBySpeaking/style.css | 85 +++++++++++++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 NumberGuessingBySpeaking/index.html create mode 100644 NumberGuessingBySpeaking/script.js create mode 100644 NumberGuessingBySpeaking/style.css diff --git a/NumberGuessingBySpeaking/index.html b/NumberGuessingBySpeaking/index.html new file mode 100644 index 00000000..fa87b656 --- /dev/null +++ b/NumberGuessingBySpeaking/index.html @@ -0,0 +1,20 @@ + + + + + + + + Speak Number Guess + + + Speak +

Guess a Number Between 1 - 100

+

Speak the number into your microphone

+
+ + + diff --git a/NumberGuessingBySpeaking/script.js b/NumberGuessingBySpeaking/script.js new file mode 100644 index 00000000..f80a749a --- /dev/null +++ b/NumberGuessingBySpeaking/script.js @@ -0,0 +1,56 @@ +const messageElement = document.getElementById("msg"); + +const randomNumber = getRandomNumber(); + +window.SpeechRecognition = + window.SpeechRecognition || window.webkitSpeechRecognition; +let recognition = new window.SpeechRecognition(); +recognition.start(); + +function getRandomNumber() { + return Math.floor(Math.random() * 100) + 1; +} + +function onSpeak(event) { + const message = event.results[0][0].transcript; + writeMessage(message); + checkNumber(message); +} + +function writeMessage(message) { + messageElement.innerHTML = ` +
You said:
+ ${message} + `; +} + +function checkNumber(message) { + const number = +message; + if (Number.isNaN(number)) { + messageElement.innerHTML += "
That is not a valid number
"; + return; + } + if (number > 100 || number < 1) { + messageElement.innerHTML += "
Number must be between 1 and 100
"; + return; + } + if (number === randomNumber) { + document.body.innerHTML = ` +

Congrats! You have guessed the number!

+ It was ${number}

+ + `; + } else if (number > randomNumber) { + messageElement.innerHTML += "
GO LOWER
"; + } else { + messageElement.innerHTML += "
GO HIGHER
"; + } +} + +// Event Listeners +recognition.addEventListener("result", onSpeak); +recognition.addEventListener("end", () => recognition.start()); + +document.body.addEventListener("click", (e) => { + if (e.target.id == "play-again") history.go(0); +}); diff --git a/NumberGuessingBySpeaking/style.css b/NumberGuessingBySpeaking/style.css new file mode 100644 index 00000000..70ae87a7 --- /dev/null +++ b/NumberGuessingBySpeaking/style.css @@ -0,0 +1,85 @@ +@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); + +* { + box-sizing: border-box; +} + +body { + background: #27273d + url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") + no-repeat center center/cover; + color: rgba(255, 255, 255, 0.87); + font-family: "Recursive", sans-serif; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + height: 100vh; + overflow: hidden; + margin: 0; +} + +body::after { + content: ""; + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +body * { + z-index: 1; +} + +img { + width: 8rem; + height: 8rem; +} + +h1, +h2 { + margin-bottom: 0; +} + +h2 { + font-size: 1.17rem; +} + +p { + line-height: 1.5; + margin: 0; +} + +.play-again { + cursor: pointer; + padding: 0.5rem 1rem; + border: 0; + background-color: #f4f4f4; + border-radius: 5px; + margin-top: 2rem; +} + +.play-again:hover { + background-color: #27273d; + color: #f4f4f4; +} + +.play-again:focus { + outline: none; +} + +.msg { + font-size: 1.5rem; + margin-top: 2.5rem; +} + +.box { + border: 1px solid #dedede; + display: inline-block; + font-size: 1.875rem; + margin: 1.25rem; + padding: 0.625rem; +} From 8aa796e91796bf7fdc655b3a344effc879a9b829 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+Kumar-Ankit07@users.noreply.github.com> Date: Tue, 16 Jul 2024 09:07:40 +0530 Subject: [PATCH 2/8] Changed the Dirextory to Speaking-Number-Guessing --- Speaking-Number-Guessing/index.html | 20 +++++++ Speaking-Number-Guessing/script.js | 56 +++++++++++++++++++ Speaking-Number-Guessing/style.css | 85 +++++++++++++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 Speaking-Number-Guessing/index.html create mode 100644 Speaking-Number-Guessing/script.js create mode 100644 Speaking-Number-Guessing/style.css diff --git a/Speaking-Number-Guessing/index.html b/Speaking-Number-Guessing/index.html new file mode 100644 index 00000000..fa87b656 --- /dev/null +++ b/Speaking-Number-Guessing/index.html @@ -0,0 +1,20 @@ + + + + + + + + Speak Number Guess + + + Speak +

Guess a Number Between 1 - 100

+

Speak the number into your microphone

+
+ + + diff --git a/Speaking-Number-Guessing/script.js b/Speaking-Number-Guessing/script.js new file mode 100644 index 00000000..f80a749a --- /dev/null +++ b/Speaking-Number-Guessing/script.js @@ -0,0 +1,56 @@ +const messageElement = document.getElementById("msg"); + +const randomNumber = getRandomNumber(); + +window.SpeechRecognition = + window.SpeechRecognition || window.webkitSpeechRecognition; +let recognition = new window.SpeechRecognition(); +recognition.start(); + +function getRandomNumber() { + return Math.floor(Math.random() * 100) + 1; +} + +function onSpeak(event) { + const message = event.results[0][0].transcript; + writeMessage(message); + checkNumber(message); +} + +function writeMessage(message) { + messageElement.innerHTML = ` +
You said:
+ ${message} + `; +} + +function checkNumber(message) { + const number = +message; + if (Number.isNaN(number)) { + messageElement.innerHTML += "
That is not a valid number
"; + return; + } + if (number > 100 || number < 1) { + messageElement.innerHTML += "
Number must be between 1 and 100
"; + return; + } + if (number === randomNumber) { + document.body.innerHTML = ` +

Congrats! You have guessed the number!

+ It was ${number}

+ + `; + } else if (number > randomNumber) { + messageElement.innerHTML += "
GO LOWER
"; + } else { + messageElement.innerHTML += "
GO HIGHER
"; + } +} + +// Event Listeners +recognition.addEventListener("result", onSpeak); +recognition.addEventListener("end", () => recognition.start()); + +document.body.addEventListener("click", (e) => { + if (e.target.id == "play-again") history.go(0); +}); diff --git a/Speaking-Number-Guessing/style.css b/Speaking-Number-Guessing/style.css new file mode 100644 index 00000000..70ae87a7 --- /dev/null +++ b/Speaking-Number-Guessing/style.css @@ -0,0 +1,85 @@ +@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); + +* { + box-sizing: border-box; +} + +body { + background: #27273d + url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") + no-repeat center center/cover; + color: rgba(255, 255, 255, 0.87); + font-family: "Recursive", sans-serif; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + height: 100vh; + overflow: hidden; + margin: 0; +} + +body::after { + content: ""; + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +body * { + z-index: 1; +} + +img { + width: 8rem; + height: 8rem; +} + +h1, +h2 { + margin-bottom: 0; +} + +h2 { + font-size: 1.17rem; +} + +p { + line-height: 1.5; + margin: 0; +} + +.play-again { + cursor: pointer; + padding: 0.5rem 1rem; + border: 0; + background-color: #f4f4f4; + border-radius: 5px; + margin-top: 2rem; +} + +.play-again:hover { + background-color: #27273d; + color: #f4f4f4; +} + +.play-again:focus { + outline: none; +} + +.msg { + font-size: 1.5rem; + margin-top: 2.5rem; +} + +.box { + border: 1px solid #dedede; + display: inline-block; + font-size: 1.875rem; + margin: 1.25rem; + padding: 0.625rem; +} From 6b577dc0e8aa28fa5f60d77d184b5d0212784cf1 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+Kumar-Ankit07@users.noreply.github.com> Date: Tue, 16 Jul 2024 09:19:05 +0530 Subject: [PATCH 3/8] Changed the Directory to Speaking-Number-Guessing --- Speaking-Number-Guessings/index.html | 20 +++++++ Speaking-Number-Guessings/script.js | 56 ++++++++++++++++++ Speaking-Number-Guessings/style.css | 85 ++++++++++++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 Speaking-Number-Guessings/index.html create mode 100644 Speaking-Number-Guessings/script.js create mode 100644 Speaking-Number-Guessings/style.css diff --git a/Speaking-Number-Guessings/index.html b/Speaking-Number-Guessings/index.html new file mode 100644 index 00000000..fa87b656 --- /dev/null +++ b/Speaking-Number-Guessings/index.html @@ -0,0 +1,20 @@ + + + + + + + + Speak Number Guess + + + Speak +

Guess a Number Between 1 - 100

+

Speak the number into your microphone

+
+ + + diff --git a/Speaking-Number-Guessings/script.js b/Speaking-Number-Guessings/script.js new file mode 100644 index 00000000..f80a749a --- /dev/null +++ b/Speaking-Number-Guessings/script.js @@ -0,0 +1,56 @@ +const messageElement = document.getElementById("msg"); + +const randomNumber = getRandomNumber(); + +window.SpeechRecognition = + window.SpeechRecognition || window.webkitSpeechRecognition; +let recognition = new window.SpeechRecognition(); +recognition.start(); + +function getRandomNumber() { + return Math.floor(Math.random() * 100) + 1; +} + +function onSpeak(event) { + const message = event.results[0][0].transcript; + writeMessage(message); + checkNumber(message); +} + +function writeMessage(message) { + messageElement.innerHTML = ` +
You said:
+ ${message} + `; +} + +function checkNumber(message) { + const number = +message; + if (Number.isNaN(number)) { + messageElement.innerHTML += "
That is not a valid number
"; + return; + } + if (number > 100 || number < 1) { + messageElement.innerHTML += "
Number must be between 1 and 100
"; + return; + } + if (number === randomNumber) { + document.body.innerHTML = ` +

Congrats! You have guessed the number!

+ It was ${number}

+ + `; + } else if (number > randomNumber) { + messageElement.innerHTML += "
GO LOWER
"; + } else { + messageElement.innerHTML += "
GO HIGHER
"; + } +} + +// Event Listeners +recognition.addEventListener("result", onSpeak); +recognition.addEventListener("end", () => recognition.start()); + +document.body.addEventListener("click", (e) => { + if (e.target.id == "play-again") history.go(0); +}); diff --git a/Speaking-Number-Guessings/style.css b/Speaking-Number-Guessings/style.css new file mode 100644 index 00000000..70ae87a7 --- /dev/null +++ b/Speaking-Number-Guessings/style.css @@ -0,0 +1,85 @@ +@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); + +* { + box-sizing: border-box; +} + +body { + background: #27273d + url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") + no-repeat center center/cover; + color: rgba(255, 255, 255, 0.87); + font-family: "Recursive", sans-serif; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + height: 100vh; + overflow: hidden; + margin: 0; +} + +body::after { + content: ""; + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +body * { + z-index: 1; +} + +img { + width: 8rem; + height: 8rem; +} + +h1, +h2 { + margin-bottom: 0; +} + +h2 { + font-size: 1.17rem; +} + +p { + line-height: 1.5; + margin: 0; +} + +.play-again { + cursor: pointer; + padding: 0.5rem 1rem; + border: 0; + background-color: #f4f4f4; + border-radius: 5px; + margin-top: 2rem; +} + +.play-again:hover { + background-color: #27273d; + color: #f4f4f4; +} + +.play-again:focus { + outline: none; +} + +.msg { + font-size: 1.5rem; + margin-top: 2.5rem; +} + +.box { + border: 1px solid #dedede; + display: inline-block; + font-size: 1.875rem; + margin: 1.25rem; + padding: 0.625rem; +} From b69b5cbe147a66592e76866432fc5e5d12351e0f Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+Kumar-Ankit07@users.noreply.github.com> Date: Tue, 16 Jul 2024 22:08:39 +0530 Subject: [PATCH 4/8] Changed the Directory to Speaking-Number-Guessing snd manifest.json file --- Speaking-Number-Guessings/manifest.json | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Speaking-Number-Guessings/manifest.json diff --git a/Speaking-Number-Guessings/manifest.json b/Speaking-Number-Guessings/manifest.json new file mode 100644 index 00000000..336489e1 --- /dev/null +++ b/Speaking-Number-Guessings/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Speak Number Guess", + "short_name": "Num Guess", + "description": "A game where you guess a number between 1 and 100 by speaking it into your microphone.", + "start_url": ".", + "display": "standalone", + "background_color": "#27273d", + "theme_color": "#27273d", + "orientation": "portrait-primary", + "icons": [ + { + "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "permissions": [ + "microphone" + ] + } + \ No newline at end of file From 53fd7b75ab37026d6fd348cffa1bb53593f98344 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+ankit071105@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:43:18 +0530 Subject: [PATCH 5/8] Add files via upload --- Speaking Number Guessings/index.html | 23 +++++++ Speaking Number Guessings/manifest.json | 26 ++++++++ Speaking Number Guessings/script.js | 56 ++++++++++++++++ Speaking Number Guessings/style.css | 85 +++++++++++++++++++++++++ 4 files changed, 190 insertions(+) create mode 100644 Speaking Number Guessings/index.html create mode 100644 Speaking Number Guessings/manifest.json create mode 100644 Speaking Number Guessings/script.js create mode 100644 Speaking Number Guessings/style.css diff --git a/Speaking Number Guessings/index.html b/Speaking Number Guessings/index.html new file mode 100644 index 00000000..2106e7db --- /dev/null +++ b/Speaking Number Guessings/index.html @@ -0,0 +1,23 @@ + + + + + + + + + + Speak Number Guess + + + Speak +

Guess a Number Between 1 - 100

+

Speak the number into your microphone

+ +
+ + + diff --git a/Speaking Number Guessings/manifest.json b/Speaking Number Guessings/manifest.json new file mode 100644 index 00000000..336489e1 --- /dev/null +++ b/Speaking Number Guessings/manifest.json @@ -0,0 +1,26 @@ +{ + "name": "Speak Number Guess", + "short_name": "Num Guess", + "description": "A game where you guess a number between 1 and 100 by speaking it into your microphone.", + "start_url": ".", + "display": "standalone", + "background_color": "#27273d", + "theme_color": "#27273d", + "orientation": "portrait-primary", + "icons": [ + { + "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "permissions": [ + "microphone" + ] + } + \ No newline at end of file diff --git a/Speaking Number Guessings/script.js b/Speaking Number Guessings/script.js new file mode 100644 index 00000000..f80a749a --- /dev/null +++ b/Speaking Number Guessings/script.js @@ -0,0 +1,56 @@ +const messageElement = document.getElementById("msg"); + +const randomNumber = getRandomNumber(); + +window.SpeechRecognition = + window.SpeechRecognition || window.webkitSpeechRecognition; +let recognition = new window.SpeechRecognition(); +recognition.start(); + +function getRandomNumber() { + return Math.floor(Math.random() * 100) + 1; +} + +function onSpeak(event) { + const message = event.results[0][0].transcript; + writeMessage(message); + checkNumber(message); +} + +function writeMessage(message) { + messageElement.innerHTML = ` +
You said:
+ ${message} + `; +} + +function checkNumber(message) { + const number = +message; + if (Number.isNaN(number)) { + messageElement.innerHTML += "
That is not a valid number
"; + return; + } + if (number > 100 || number < 1) { + messageElement.innerHTML += "
Number must be between 1 and 100
"; + return; + } + if (number === randomNumber) { + document.body.innerHTML = ` +

Congrats! You have guessed the number!

+ It was ${number}

+ + `; + } else if (number > randomNumber) { + messageElement.innerHTML += "
GO LOWER
"; + } else { + messageElement.innerHTML += "
GO HIGHER
"; + } +} + +// Event Listeners +recognition.addEventListener("result", onSpeak); +recognition.addEventListener("end", () => recognition.start()); + +document.body.addEventListener("click", (e) => { + if (e.target.id == "play-again") history.go(0); +}); diff --git a/Speaking Number Guessings/style.css b/Speaking Number Guessings/style.css new file mode 100644 index 00000000..70ae87a7 --- /dev/null +++ b/Speaking Number Guessings/style.css @@ -0,0 +1,85 @@ +@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); + +* { + box-sizing: border-box; +} + +body { + background: #27273d + url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") + no-repeat center center/cover; + color: rgba(255, 255, 255, 0.87); + font-family: "Recursive", sans-serif; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + height: 100vh; + overflow: hidden; + margin: 0; +} + +body::after { + content: ""; + background-color: rgba(0, 0, 0, 0.7); + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +body * { + z-index: 1; +} + +img { + width: 8rem; + height: 8rem; +} + +h1, +h2 { + margin-bottom: 0; +} + +h2 { + font-size: 1.17rem; +} + +p { + line-height: 1.5; + margin: 0; +} + +.play-again { + cursor: pointer; + padding: 0.5rem 1rem; + border: 0; + background-color: #f4f4f4; + border-radius: 5px; + margin-top: 2rem; +} + +.play-again:hover { + background-color: #27273d; + color: #f4f4f4; +} + +.play-again:focus { + outline: none; +} + +.msg { + font-size: 1.5rem; + margin-top: 2.5rem; +} + +.box { + border: 1px solid #dedede; + display: inline-block; + font-size: 1.875rem; + margin: 1.25rem; + padding: 0.625rem; +} From 6c40065edb8555bb2ff80ec9006eb4537d06cb4f Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+ankit071105@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:48:41 +0530 Subject: [PATCH 6/8] Delete Speaking-Number-Guessing directory --- Speaking-Number-Guessing/index.html | 20 ------- Speaking-Number-Guessing/script.js | 56 ------------------- Speaking-Number-Guessing/style.css | 85 ----------------------------- 3 files changed, 161 deletions(-) delete mode 100644 Speaking-Number-Guessing/index.html delete mode 100644 Speaking-Number-Guessing/script.js delete mode 100644 Speaking-Number-Guessing/style.css diff --git a/Speaking-Number-Guessing/index.html b/Speaking-Number-Guessing/index.html deleted file mode 100644 index fa87b656..00000000 --- a/Speaking-Number-Guessing/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - Speak Number Guess - - - Speak -

Guess a Number Between 1 - 100

-

Speak the number into your microphone

-
- - - diff --git a/Speaking-Number-Guessing/script.js b/Speaking-Number-Guessing/script.js deleted file mode 100644 index f80a749a..00000000 --- a/Speaking-Number-Guessing/script.js +++ /dev/null @@ -1,56 +0,0 @@ -const messageElement = document.getElementById("msg"); - -const randomNumber = getRandomNumber(); - -window.SpeechRecognition = - window.SpeechRecognition || window.webkitSpeechRecognition; -let recognition = new window.SpeechRecognition(); -recognition.start(); - -function getRandomNumber() { - return Math.floor(Math.random() * 100) + 1; -} - -function onSpeak(event) { - const message = event.results[0][0].transcript; - writeMessage(message); - checkNumber(message); -} - -function writeMessage(message) { - messageElement.innerHTML = ` -
You said:
- ${message} - `; -} - -function checkNumber(message) { - const number = +message; - if (Number.isNaN(number)) { - messageElement.innerHTML += "
That is not a valid number
"; - return; - } - if (number > 100 || number < 1) { - messageElement.innerHTML += "
Number must be between 1 and 100
"; - return; - } - if (number === randomNumber) { - document.body.innerHTML = ` -

Congrats! You have guessed the number!

- It was ${number}

- - `; - } else if (number > randomNumber) { - messageElement.innerHTML += "
GO LOWER
"; - } else { - messageElement.innerHTML += "
GO HIGHER
"; - } -} - -// Event Listeners -recognition.addEventListener("result", onSpeak); -recognition.addEventListener("end", () => recognition.start()); - -document.body.addEventListener("click", (e) => { - if (e.target.id == "play-again") history.go(0); -}); diff --git a/Speaking-Number-Guessing/style.css b/Speaking-Number-Guessing/style.css deleted file mode 100644 index 70ae87a7..00000000 --- a/Speaking-Number-Guessing/style.css +++ /dev/null @@ -1,85 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); - -* { - box-sizing: border-box; -} - -body { - background: #27273d - url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") - no-repeat center center/cover; - color: rgba(255, 255, 255, 0.87); - font-family: "Recursive", sans-serif; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - text-align: center; - height: 100vh; - overflow: hidden; - margin: 0; -} - -body::after { - content: ""; - background-color: rgba(0, 0, 0, 0.7); - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -body * { - z-index: 1; -} - -img { - width: 8rem; - height: 8rem; -} - -h1, -h2 { - margin-bottom: 0; -} - -h2 { - font-size: 1.17rem; -} - -p { - line-height: 1.5; - margin: 0; -} - -.play-again { - cursor: pointer; - padding: 0.5rem 1rem; - border: 0; - background-color: #f4f4f4; - border-radius: 5px; - margin-top: 2rem; -} - -.play-again:hover { - background-color: #27273d; - color: #f4f4f4; -} - -.play-again:focus { - outline: none; -} - -.msg { - font-size: 1.5rem; - margin-top: 2.5rem; -} - -.box { - border: 1px solid #dedede; - display: inline-block; - font-size: 1.875rem; - margin: 1.25rem; - padding: 0.625rem; -} From c78a1d386339e916e3e2faf133c2ee4895aaab01 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+ankit071105@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:49:18 +0530 Subject: [PATCH 7/8] Delete Speaking-Number-Guessings directory --- Speaking-Number-Guessings/index.html | 20 ------ Speaking-Number-Guessings/manifest.json | 26 -------- Speaking-Number-Guessings/script.js | 56 ---------------- Speaking-Number-Guessings/style.css | 85 ------------------------- 4 files changed, 187 deletions(-) delete mode 100644 Speaking-Number-Guessings/index.html delete mode 100644 Speaking-Number-Guessings/manifest.json delete mode 100644 Speaking-Number-Guessings/script.js delete mode 100644 Speaking-Number-Guessings/style.css diff --git a/Speaking-Number-Guessings/index.html b/Speaking-Number-Guessings/index.html deleted file mode 100644 index fa87b656..00000000 --- a/Speaking-Number-Guessings/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - Speak Number Guess - - - Speak -

Guess a Number Between 1 - 100

-

Speak the number into your microphone

-
- - - diff --git a/Speaking-Number-Guessings/manifest.json b/Speaking-Number-Guessings/manifest.json deleted file mode 100644 index 336489e1..00000000 --- a/Speaking-Number-Guessings/manifest.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "Speak Number Guess", - "short_name": "Num Guess", - "description": "A game where you guess a number between 1 and 100 by speaking it into your microphone.", - "start_url": ".", - "display": "standalone", - "background_color": "#27273d", - "theme_color": "#27273d", - "orientation": "portrait-primary", - "icons": [ - { - "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "https://i.ibb.co/Kb6SkTm/8399350-mic-microphone-audio-icon.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "permissions": [ - "microphone" - ] - } - \ No newline at end of file diff --git a/Speaking-Number-Guessings/script.js b/Speaking-Number-Guessings/script.js deleted file mode 100644 index f80a749a..00000000 --- a/Speaking-Number-Guessings/script.js +++ /dev/null @@ -1,56 +0,0 @@ -const messageElement = document.getElementById("msg"); - -const randomNumber = getRandomNumber(); - -window.SpeechRecognition = - window.SpeechRecognition || window.webkitSpeechRecognition; -let recognition = new window.SpeechRecognition(); -recognition.start(); - -function getRandomNumber() { - return Math.floor(Math.random() * 100) + 1; -} - -function onSpeak(event) { - const message = event.results[0][0].transcript; - writeMessage(message); - checkNumber(message); -} - -function writeMessage(message) { - messageElement.innerHTML = ` -
You said:
- ${message} - `; -} - -function checkNumber(message) { - const number = +message; - if (Number.isNaN(number)) { - messageElement.innerHTML += "
That is not a valid number
"; - return; - } - if (number > 100 || number < 1) { - messageElement.innerHTML += "
Number must be between 1 and 100
"; - return; - } - if (number === randomNumber) { - document.body.innerHTML = ` -

Congrats! You have guessed the number!

- It was ${number}

- - `; - } else if (number > randomNumber) { - messageElement.innerHTML += "
GO LOWER
"; - } else { - messageElement.innerHTML += "
GO HIGHER
"; - } -} - -// Event Listeners -recognition.addEventListener("result", onSpeak); -recognition.addEventListener("end", () => recognition.start()); - -document.body.addEventListener("click", (e) => { - if (e.target.id == "play-again") history.go(0); -}); diff --git a/Speaking-Number-Guessings/style.css b/Speaking-Number-Guessings/style.css deleted file mode 100644 index 70ae87a7..00000000 --- a/Speaking-Number-Guessings/style.css +++ /dev/null @@ -1,85 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@400;700&display=swap"); - -* { - box-sizing: border-box; -} - -body { - background: #27273d - url("https://images.unsplash.com/photo-1552749412-091909ed9f82?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=1350&q=80") - no-repeat center center/cover; - color: rgba(255, 255, 255, 0.87); - font-family: "Recursive", sans-serif; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - text-align: center; - height: 100vh; - overflow: hidden; - margin: 0; -} - -body::after { - content: ""; - background-color: rgba(0, 0, 0, 0.7); - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} - -body * { - z-index: 1; -} - -img { - width: 8rem; - height: 8rem; -} - -h1, -h2 { - margin-bottom: 0; -} - -h2 { - font-size: 1.17rem; -} - -p { - line-height: 1.5; - margin: 0; -} - -.play-again { - cursor: pointer; - padding: 0.5rem 1rem; - border: 0; - background-color: #f4f4f4; - border-radius: 5px; - margin-top: 2rem; -} - -.play-again:hover { - background-color: #27273d; - color: #f4f4f4; -} - -.play-again:focus { - outline: none; -} - -.msg { - font-size: 1.5rem; - margin-top: 2.5rem; -} - -.box { - border: 1px solid #dedede; - display: inline-block; - font-size: 1.875rem; - margin: 1.25rem; - padding: 0.625rem; -} From 0573e03ba4c376c33526b9301dc002ad1d2e2bb2 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <139707943+Kumar-Ankit07@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:32:01 +0530 Subject: [PATCH 8/8] Removed the Number Guessing By Speaking Folder --- .DS_Store | Bin 6148 -> 51204 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index b334382747350339f27ae9031a85fb71c01556bb..2a8007d224b1b188435c27b45ac8d560040a54fc 100644 GIT binary patch literal 51204 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 Nu>SXq;*Y)l|35n}C3*k= delta 151 zcmZpfz}#XW!N9=4=v10w$iN@~WO4v8h-TuPSSU78Pja%s5f(`xpMeR88NqTP42cZM z47v;<4EY-imotJ?OcvRqIN5LWx6L9P!YmUT&Mju=;1Fa6X#?uu1`@6y6E_QTd}p4_ Zf5Z`FC&(}s5DhdKWGPr|b3D%+W&r!78Pxy)