This commit is contained in:
RezHackXYZ 2025-05-03 12:24:32 +05:30
parent 6cae0e6b23
commit 8061185e24
5 changed files with 1230 additions and 1229 deletions

42
package-lock.json generated
View file

@ -8,8 +8,9 @@
"name": "package",
"version": "0.0.0",
"dependencies": {
"common-words": "^0.1.3",
"wordlist-english": "^1.2.1"
"random-words": "^2.0.1",
"random-words-commonjs": "^2.0.1",
"word-exists": "^1.0.0"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.0.3",
@ -818,14 +819,6 @@
"node": ">=6"
}
},
"node_modules/common-words": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/common-words/-/common-words-0.1.3.tgz",
"integrity": "sha512-g/zZAwbC4LCfYcGzQoMxFAhGmPuH3ZfyMV5xd4wAY0HyRLWP/K/gRXDBiMJNYzAxX4sSjtUwHpUdRKe2ibjCZg==",
"engines": {
"node": ">=0.8"
}
},
"node_modules/debug": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
@ -1012,6 +1005,22 @@
"node": "^10 || ^12 || >=14"
}
},
"node_modules/random-words": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/random-words/-/random-words-2.0.1.tgz",
"integrity": "sha512-nZNJAmgcFmtJMTDDIUCm/iK4R6RydC6NvALvWhYItXQrgYGk1F7Gww416LpVROFQtfVd5TaLEf4WuSsko03N7w==",
"dependencies": {
"seedrandom": "^3.0.5"
}
},
"node_modules/random-words-commonjs": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/random-words-commonjs/-/random-words-commonjs-2.0.1.tgz",
"integrity": "sha512-U7IWz6PF7omuiw6iGABYUJ6Mx8q9fp1h6wZym36m6xdUkSbmWKjqeYGZXWoWreQBGwB8clthFhzY9VoOa4lctA==",
"dependencies": {
"seedrandom": "^3.0.5"
}
},
"node_modules/rollup": {
"version": "4.35.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.35.0.tgz",
@ -1050,6 +1059,11 @@
"fsevents": "~2.3.2"
}
},
"node_modules/seedrandom": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
},
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@ -1170,10 +1184,10 @@
}
}
},
"node_modules/wordlist-english": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/wordlist-english/-/wordlist-english-1.2.1.tgz",
"integrity": "sha512-vaiQQiu95UeON0WZFtiTrWfZmIiUd2rhrhMCBeEzwq3oTVzHCX8naGCqv/smSspE9kH2sN+E8lZyV0JZjqSzGw=="
"node_modules/word-exists": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/word-exists/-/word-exists-1.0.0.tgz",
"integrity": "sha512-uvBrbg1bjPzist7dMwRLuOn4TZojTOUgocFFbRft+RPGZuFpzuNO32PXHIKOPFKeocItfCPCkw/Nic09fKqOSA=="
},
"node_modules/zimmerframe": {
"version": "1.1.2",

View file

@ -15,7 +15,7 @@
"vite": "^6.2.4"
},
"dependencies": {
"common-words": "^0.1.3",
"wordlist-english": "^1.2.1"
"random-words": "^2.0.1",
"word-exists": "^1.0.0"
}
}

View file

@ -25,7 +25,7 @@
border: 2px solid #202020;
margin: 20px;
border-radius: 10px;
overflow-y: scroll;
overflow-y: auto;
}
.word {

View file

@ -46,7 +46,7 @@
background-color: #202020;
font-family: "JetBrains Mono", monospace;
color: #808080;
width: 70px;
width: 80px;
height: 70px;
display: flex;
justify-content: center;

View file

@ -1,5 +1,9 @@
import commonWords from "common-words";
import wordExists from "word-exists";
import {generate} from "random-words";
export let CorrectWord = generate({ minLength: 5, maxLength: 5 });
export let words = $state([]);
export let CurrentWord = $state({ v: [] });
export let keys = $state([
["Q", "n"],
["W", "n"],
@ -20,7 +24,7 @@ export let keys = $state([
["J", "n"],
["K", "n"],
["L", "n"],
["", "o"],
["", "o"],
["Z", "n"],
["X", "n"],
["C", "n"],
@ -28,34 +32,24 @@ export let keys = $state([
["B", "n"],
["N", "n"],
["M", "n"],
["", "o"],
["", "o"],
]);
export let words = $state([
[
["R", "c"],
["A", "d"],
["D", "w"],
["I", "w"],
["O", "w"],
],
]);
export let CurrentWord = $state({v:[]});
function SendWord(word) {}
export function ButtonPressed(key) {
if (key === "") {
if (key === "⏎") {
if (CurrentWord.v.length === 5) {
let word = CurrentWord.v.join("");
if (commonWords.map((entry) => entry.word).includes(word)) {
words.push(CurrentWord.v);
if (wordExists(word)) {
SendWord(CurrentWord.v);
CurrentWord.v = [];
} else {
alert("Not a valid word");
}
}
return;
} else if (key === "") {
} else if (key === "") {
CurrentWord.v.pop();
return;
}
@ -65,10 +59,3 @@ export function ButtonPressed(key) {
CurrentWord.v.push(key);
}
function getRandomWord() {
let fiveLetterWords = commonWords
.map((entry) => entry.word)
.filter((word) => word.length === 5);
return fiveLetterWords[Math.floor(Math.random() * fiveLetterWords.length)];
}