Fix: revise calculateTypingRecord

This commit is contained in:
2019-08-27 08:13:39 +09:00
parent c91bbb0ccd
commit 72caad588c
+17 -14
View File
@@ -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);