feat: Only accept valid words

This commit is contained in:
sigmasternchen 2024-09-20 21:57:35 +02:00
parent ddd2631bb8
commit 641e476ad6

View file

@ -61,14 +61,18 @@ export const App = () => {
const inputHandler = key => { const inputHandler = key => {
if (key === "ENTER") { if (key === "ENTER") {
if (currentGuess.length === wordLength) { if (currentGuess.length === wordLength) {
setPastGuesses(pastGuesses.concat([currentGuess])); if (availableWords.indexOf(currentGuess) === -1) {
setCurrentGuess(""); setMessage("Not in word list.");
if (currentGuess.toUpperCase() === correct.toUpperCase()) {
setGameState(GameState.Won);
} else { } else {
if (pastGuesses.length === numberOfGuesses - 1) { setPastGuesses(pastGuesses.concat([currentGuess]));
setGameState(GameState.Lost); setCurrentGuess("");
if (currentGuess.toUpperCase() === correct.toUpperCase()) {
setGameState(GameState.Won);
} else {
if (pastGuesses.length === numberOfGuesses - 1) {
setGameState(GameState.Lost);
}
} }
} }
} else { } else {
@ -94,8 +98,6 @@ export const App = () => {
})) }))
]) ])
return <div> return <div>
<Field <Field
size={[wordLength, numberOfGuesses]} size={[wordLength, numberOfGuesses]}