more logic fix
This commit is contained in:
parent
da17da906f
commit
af8342fabe
32
src/Game.vue
32
src/Game.vue
@ -74,8 +74,7 @@ function completeRow() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let correct = true
|
const answerLetters: (string | null)[] = answer.split('')
|
||||||
let answerLetters: (string | null)[] = answer.split('')
|
|
||||||
// first pass: mark correct ones
|
// first pass: mark correct ones
|
||||||
currentRow.forEach((tile, i) => {
|
currentRow.forEach((tile, i) => {
|
||||||
if (answerLetters[i] === tile.letter) {
|
if (answerLetters[i] === tile.letter) {
|
||||||
@ -83,23 +82,24 @@ function completeRow() {
|
|||||||
answerLetters[i] = null
|
answerLetters[i] = null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// second pass: mark the rest
|
// second pass: mark the present
|
||||||
currentRow.forEach((tile, i) => {
|
currentRow.forEach((tile) => {
|
||||||
if (answerLetters[i]) {
|
if (answerLetters.includes(tile.letter)) {
|
||||||
if (answerLetters.includes(tile.letter)) {
|
tile.state = LetterState.PRESENT
|
||||||
tile.state = LetterState.PRESENT
|
answerLetters[answerLetters.indexOf(tile.letter)] = null
|
||||||
answerLetters[i] = null
|
if (!letterStates[tile.letter]) {
|
||||||
if (!letterStates[tile.letter]) {
|
letterStates[tile.letter] = LetterState.PRESENT
|
||||||
letterStates[tile.letter] = LetterState.PRESENT
|
|
||||||
}
|
|
||||||
correct = false
|
|
||||||
} else {
|
|
||||||
tile.state = letterStates[tile.letter] = LetterState.ABSENT
|
|
||||||
correct = false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (correct) {
|
// 3rd pass: mark absent
|
||||||
|
currentRow.forEach((tile) => {
|
||||||
|
if (!tile.state) {
|
||||||
|
tile.state = LetterState.ABSENT
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
if (currentRow.every((tile) => tile.state === LetterState.CORRECT)) {
|
||||||
// yay!
|
// yay!
|
||||||
allowInput = false
|
allowInput = false
|
||||||
showMessage(
|
showMessage(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user