From 72caad588c550a0f012f5e1af6a12ab3e40e28f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=A2=E1=84=91=E1=85=B3=E1=86=AF=20=E1=84=82?= =?UTF-8?q?=E1=85=A9=E1=84=90=E1=85=B3=E1=84=87=E1=85=AE=E1=86=A8?= Date: Tue, 27 Aug 2019 08:13:39 +0900 Subject: [PATCH] Fix: revise calculateTypingRecord --- src/game/typing/examination/game.js | 31 ++++++++++++++++------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/game/typing/examination/game.js b/src/game/typing/examination/game.js index e004a11..52334b5 100644 --- a/src/game/typing/examination/game.js +++ b/src/game/typing/examination/game.js @@ -467,25 +467,31 @@ TypingExamination.prototype.checkTypingContents = function(event) { if(this.isGameOver) return; + //not trimmed contents + var notTrimmedInputContent = this.inputTextContent.canvasInput.value(); + var notTrimmedTypingContent = this.typingExaminationContents[this.typingIndex]; + this.showTypingContentHighlight(notTrimmedInputContent, notTrimmedTypingContent); + + // trimmed contents // var inputContent = inputText.replace(/ /g, TypingExamination.SPACE_INDICATOR); var inputContent = this.inputTextContent.canvasInput.value(); var trimmedInputContent = inputContent.trim(); - var typingContent = this.typingExaminationContents[this.typingIndex].trim(); - typingContent = typingContent.replace(TypingExamination.ENTER_INDICATOR, ""); + var trimmedTypingContent = this.typingExaminationContents[this.typingIndex].trim(); + trimmedTypingContent = trimmedTypingContent.replace(TypingExamination.ENTER_INDICATOR, ""); if(event.keyCode == Phaser.Keyboard.ENTER || event.keyCode == Phaser.Keyboard.SPACEBAR) { // console.log("### enter ###"); // console.log("this.typingIndex : " + this.typingIndex); // console.log("trimmedInputContent : [" + trimmedInputContent + "], length : " + trimmedInputContent.length); - // console.log("typingContent : [" + typingContent + "], length : " + typingContent.length); + // console.log("trimmedTypingContent : [" + trimmedTypingContent + "], length : " + trimmedTypingContent.length); - if(trimmedInputContent === typingContent) { + if(trimmedInputContent === trimmedTypingContent) { // console.log("input completed"); - this.calculateTypingRecord(typingContent); + this.calculateTypingRecord(notTrimmedTypingContent); // console.log("this.typingIndex : " + this.typingIndex); - // console.log("this.typingContentLength : " + this.typingContentLength); + // console.log("this.trimmedTypingContentLength : " + this.trimmedTypingContentLength); if(this.typingIndex == this.typingContentLength - 1) { this.isGameOver = true; this.gameOver(); @@ -502,9 +508,6 @@ TypingExamination.prototype.checkTypingContents = function(event) { this.setTimeTypingStart(); } - var notTrimmedInputContent = this.inputTextContent.canvasInput.value(); - var notTrimmedTypingContent = this.typingExaminationContents[this.typingIndex]; - this.showTypingContentHighlight(notTrimmedInputContent, notTrimmedTypingContent); } TypingExamination.prototype.showTypingContentHighlight = function(inputContent, typingContent) { @@ -541,6 +544,7 @@ TypingExamination.prototype.showTypingContentHighlight = function(inputContent, TypingExamination.prototype.calculateTypingRecord = function(typingContent) { // console.log('입력 단어 : ' + this.typingExaminationContents[this.typingIndex]); + var ONE_MINUTE_MS = Phaser.Timer.SECOND * 60; this.isTyping = false; this.timeTypingEnd = game.time.elapsedSince(0); @@ -551,12 +555,10 @@ TypingExamination.prototype.calculateTypingRecord = function(typingContent) { var typingContentLength = StringUtil.getUnicodeAlphabetCount(typingContent); // console.log('typingContentLength : ' + typingContentLength); - var typingContentPlusEnterCount = typingContentLength + TypingExamination.TYPING_COUNT_PLUS_ENTER; - - var typingRecord = (typingContentPlusEnterCount + TypingExamination.TYPING_COUNT_PLUS_ENTER) * 60000 / elapsedTimeMS; + var typingRecord = typingContentLength * (ONE_MINUTE_MS / elapsedTimeMS); this.typingElapsedTime[this.typingIndex] = elapsedTimeMS; - this.typingLetterCountTotal += typingContentPlusEnterCount; + this.typingLetterCountTotal += typingContentLength; this.typingRecordForLines[this.typingIndex] = typingRecord; // console.log(this.typingRecordForLines[this.typingIndex]); @@ -565,7 +567,8 @@ TypingExamination.prototype.calculateTypingRecord = function(typingContent) { // console.log('i : ' + i + ' - time : ' + this.typingElapsedTime[i]); typingElapsedTimeTotal += this.typingElapsedTime[i]; } - this.typingRecordTotal = this.typingLetterCountTotal * 60000 / typingElapsedTimeTotal; + // this.typingRecordTotal = this.typingLetterCountTotal * 60000 / typingElapsedTimeTotal; + this.typingRecordTotal = this.typingLetterCountTotal * (ONE_MINUTE_MS / typingElapsedTimeTotal); // console.log(this.typingElapsedTime); // console.log(this.typingLetterCountTotal); // console.log(typingElapsedTimeTotal);