mobile users input style done

This commit is contained in:
2021-10-20 19:12:40 -03:00
parent 65251009de
commit ef0fe3d836
7 changed files with 84 additions and 41 deletions

View File

@@ -101,37 +101,51 @@ function App() {
if (mobileUser) {
currentKey = e.explicitOriginalTarget.nodeValue
if (e.key) {
currentKey = e.key.toLowerCase()
}
else {
currentKey = e.explicitOriginalTarget.nodeValue
}
}
if (alphabet.includes(currentKey)) {
setLettersRegistered([...lettersRegistered, currentKey])
if (selectedWord.includes(currentKey)) {
if (!correctLetters.includes(currentKey)) {
setCorrectLetters([...correctLetters, currentKey])
setLettersRegistered([...lettersRegistered, currentKey])
checkVictory(setEndOfGame)
if (selectedWord.includes(currentKey)) {
if (!correctLetters.includes(currentKey)) {
setCorrectLetters([...correctLetters, currentKey])
checkVictory(setEndOfGame)
}
}
}
else {
setHangmanFrame(hangmanFrame + 1)
checkDefeat(setEndOfGame, hangmanFrame, setCorrectLetters, selectedWord)
if (hangmanFrame <= 5) {
setHangmanFrame(hangmanFrame + 1)
}
checkDefeat(setEndOfGame, hangmanFrame, setCorrectLetters, selectedWord, mobileUser)
}
}
}
}
}
window.addEventListener('keyup', registerKeys)
if (endOfGame === '') {
window.addEventListener('keyup', registerKeys)
}
return () => window.removeEventListener('keyup', registerKeys)
}, [correctLetters, displayApp, lettersRegistered, setLettersRegistered, hangmanFrame, selectedWord])
}, [correctLetters, displayApp, lettersRegistered, setLettersRegistered, hangmanFrame, selectedWord, mobileUser, endOfGame])
React.useEffect(() => {
@@ -199,22 +213,6 @@ function App() {
{
mobileUser ?
<LetterInput
displayApp={displayApp}
setLettersRegistered={setLettersRegistered}
lettersRegistered={lettersRegistered}
selectedWord={selectedWord}
setCorrectLetters={setCorrectLetters}
correctLetters={correctLetters}
setEndOfGame={setEndOfGame}
setHangmanFrame={setHangmanFrame}
hangmanFrame={hangmanFrame}
checkVictory={checkVictory}
/>
:null
}

View File

@@ -1,10 +1,11 @@
const checkDefeat = (setEndOfGame, hangmanFrame, setCorrectLetters, selectedWord, mobileUser = false) => {
const checkDefeat = (setEndOfGame, hangmanFrame, setCorrectLetters, selectedWord, mobileUser) => {
if (hangmanFrame >= 5) {
setCorrectLetters([...selectedWord])
setEndOfGame('Defeat')
if (!mobileUser) {
console.log(navigator.keyboard)
if (!mobileUser && navigator.keyboard) {
navigator.keyboard.lock();
}

View File

@@ -1,8 +1,6 @@
import React from 'react'
import alphabet from '../../General Scripts/alphabet'
import checkDefeat from '../../General Scripts/checkDefeat'
const LetterInput = ({displayApp, setLettersRegistered, lettersRegistered, selectedWord, correctLetters, setCorrectLetters, setEndOfGame, setHangmanFrame, hangmanFrame, checkVictory}) => {
const LetterInput = () => {
const registerInput = (letter) => {