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", "name": "package",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"common-words": "^0.1.3", "random-words": "^2.0.1",
"wordlist-english": "^1.2.1" "random-words-commonjs": "^2.0.1",
"word-exists": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.0.3", "@sveltejs/vite-plugin-svelte": "^5.0.3",
@ -818,14 +819,6 @@
"node": ">=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": { "node_modules/debug": {
"version": "4.4.0", "version": "4.4.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
@ -1012,6 +1005,22 @@
"node": "^10 || ^12 || >=14" "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": { "node_modules/rollup": {
"version": "4.35.0", "version": "4.35.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.35.0.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.35.0.tgz",
@ -1050,6 +1059,11 @@
"fsevents": "~2.3.2" "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": { "node_modules/source-map-js": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@ -1170,10 +1184,10 @@
} }
} }
}, },
"node_modules/wordlist-english": { "node_modules/word-exists": {
"version": "1.2.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordlist-english/-/wordlist-english-1.2.1.tgz", "resolved": "https://registry.npmjs.org/word-exists/-/word-exists-1.0.0.tgz",
"integrity": "sha512-vaiQQiu95UeON0WZFtiTrWfZmIiUd2rhrhMCBeEzwq3oTVzHCX8naGCqv/smSspE9kH2sN+E8lZyV0JZjqSzGw==" "integrity": "sha512-uvBrbg1bjPzist7dMwRLuOn4TZojTOUgocFFbRft+RPGZuFpzuNO32PXHIKOPFKeocItfCPCkw/Nic09fKqOSA=="
}, },
"node_modules/zimmerframe": { "node_modules/zimmerframe": {
"version": "1.1.2", "version": "1.1.2",

View file

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

View file

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

View file

@ -46,7 +46,7 @@
background-color: #202020; background-color: #202020;
font-family: "JetBrains Mono", monospace; font-family: "JetBrains Mono", monospace;
color: #808080; color: #808080;
width: 70px; width: 80px;
height: 70px; height: 70px;
display: flex; display: flex;
justify-content: center; 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([ export let keys = $state([
["Q", "n"], ["Q", "n"],
["W", "n"], ["W", "n"],
@ -20,7 +24,7 @@ export let keys = $state([
["J", "n"], ["J", "n"],
["K", "n"], ["K", "n"],
["L", "n"], ["L", "n"],
["", "o"], ["", "o"],
["Z", "n"], ["Z", "n"],
["X", "n"], ["X", "n"],
["C", "n"], ["C", "n"],
@ -28,34 +32,24 @@ export let keys = $state([
["B", "n"], ["B", "n"],
["N", "n"], ["N", "n"],
["M", "n"], ["M", "n"],
["", "o"], ["", "o"],
]); ]);
export let words = $state([ function SendWord(word) {}
[
["R", "c"],
["A", "d"],
["D", "w"],
["I", "w"],
["O", "w"],
],
]);
export let CurrentWord = $state({v:[]});
export function ButtonPressed(key) { export function ButtonPressed(key) {
if (key === "") { if (key === "⏎") {
if (CurrentWord.v.length === 5) { if (CurrentWord.v.length === 5) {
let word = CurrentWord.v.join(""); let word = CurrentWord.v.join("");
if (commonWords.map((entry) => entry.word).includes(word)) { if (wordExists(word)) {
words.push(CurrentWord.v); SendWord(CurrentWord.v);
CurrentWord.v = []; CurrentWord.v = [];
} else { } else {
alert("Not a valid word"); alert("Not a valid word");
} }
} }
return; return;
} else if (key === "") { } else if (key === "") {
CurrentWord.v.pop(); CurrentWord.v.pop();
return; return;
} }
@ -65,10 +59,3 @@ export function ButtonPressed(key) {
CurrentWord.v.push(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)];
}