mirror of
https://github.com/FranP-code/Hangman-game-with-React.git
synced 2025-10-13 00:42:32 +00:00
mobile users input style done
This commit is contained in:
66
src/App.js
66
src/App.js
@@ -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
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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) => {
|
||||
|
||||
Reference in New Issue
Block a user