diff --git a/client/logic/SkribblServer.js b/client/logic/SkribblServer.js index 0db4d2e71d2275f7c954b12c300f8a8842cf7169..22d1fb5980e812740d59e92f82af2634b242a666 100644 --- a/client/logic/SkribblServer.js +++ b/client/logic/SkribblServer.js @@ -267,7 +267,7 @@ export default class SkribblServer { if (this._hasGameStarted){ if (player.guessedWord||playerIndex==this._drawingPlayer){ // TODO let people who already know the word send ghost messages to others who already know it too - }else if (word===this._word){ + }else if (typeof this._word=="string"&&SkribblServer._isCorrect(word,this._word)){ player.guessedWord = true; player.guessedIndex = Math.max(...this._clients.map(client=>client.guessedIndex))+1; this._clients.forEach((client,index)=>{ @@ -323,10 +323,10 @@ export default class SkribblServer { * @param {string} word */ static _isClose(guess,word) { - guess = guess.toLowerCase(); - word = word.toLowerCase(); - word.replace(/-/g," "); - guess.replace(/-/g," "); + guess = guess.toLowerCase().replace(/-/g," "); + word = word.toLowerCase().replace(/-/g," "); + const wordArray = Array.from(word); + const guessArray = Array.from(guess); //if equal if (guess == word) { @@ -335,19 +335,9 @@ export default class SkribblServer { //either one letter wrong or two letters swapped if (guess.length == word.length) { - let wordArray = []; - let guessArray = []; - - //makes the string into an array - for (var i = 0; i < word.length; i++) { - wordArray[i] = word.charAt(i); - guessArray[i] = guess.charAt(i); - } - //Counts the mistakes and their position let errorCounter = 0; let errorPos = 0; - for (var i = 0; i < wordArray.length; i++) { if (wordArray[i] != guessArray[i]) { if (errorCounter == 0) { @@ -363,24 +353,13 @@ export default class SkribblServer { errorCounter++; } } - //if it hasnt returned false by now, the guess is close return true; } //if one letter too much if (guess.length - 1 == word.length) { - let wordArray = []; - let guessArray = []; - - for (var i = 0; i < word.length; i++) { - wordArray[i] = word.charAt(i); - guessArray[i] = guess.charAt(i); - } - guessArray[guessArray.length] = guess.charAt(guessArray.length); - let errorCounter = 0; //also the offset - for (var i = 0; i < wordArray.length; i++) { if (wordArray[i] != guessArray[i + errorCounter]) { errorCounter++; @@ -389,23 +368,12 @@ export default class SkribblServer { } } } - return true; } //if one letter too little if (guess.length + 1 == word.length) { - let wordArray = []; - let guessArray = []; - - for (var i = 0; i < guess.length; i++) { - wordArray[i] = word.charAt(i); - guessArray[i] = guess.charAt(i); - } - wordArray[wordArray.length] = word.charAt(wordArray.length); - let errorCounter = 0; //also the offset - for (var i = 0; i < guessArray.length; i++) { if (wordArray[i + errorCounter] != guessArray[i]) { errorCounter++; @@ -414,7 +382,6 @@ export default class SkribblServer { } } } - return true; } @@ -427,15 +394,8 @@ export default class SkribblServer { * @param {string} word */ static _isCorrect(guess, word) { - guess = guess.toLowerCase(); - word = word.toLowerCase(); - word.replace(/-/g," "); - guess.replace(/-/g," "); - - if (guess == word) { - return true; - } else { - return true; - } + guess = guess.toLowerCase().replace(/-/g," "); + word = word.toLowerCase().replace(/-/g," "); + return guess==word; } } \ No newline at end of file