Add: WhacAMole typing game
This commit is contained in:
@@ -14,7 +14,7 @@ var TypingTest = {
|
||||
game.stage.backgroundColor = '#4d4d4d';
|
||||
|
||||
// top ui
|
||||
let screenTopUI = new ScreenTopUI();
|
||||
var screenTopUI = new ScreenTopUI();
|
||||
screenTopUI.makeBackButton( function() {
|
||||
sessionStorageManager.resetPlayingAppData();
|
||||
location.href = '../../web/client/menu_typing_test.html';
|
||||
@@ -32,13 +32,13 @@ var TypingTest = {
|
||||
|
||||
|
||||
// typing content
|
||||
let typingContentBG = new TypingContentBG();
|
||||
var typingContentBG = new TypingContentBG();
|
||||
typingContentBG.makeTestContentBG();
|
||||
|
||||
let TYPING_CONTENT_Y = 320;
|
||||
var TYPING_CONTENT_Y = 320;
|
||||
|
||||
if( (isKoreanTypingStage() && isTypingSentenceStage())
|
||||
|| (isEnglishTypingStage() && isTypingSentenceStage()) )
|
||||
if( (isKoreanTypingApp() && isTypingSentenceApp())
|
||||
|| (isEnglishTypingApp() && isTypingSentenceApp()) )
|
||||
textStyleBasic.font = "bold 48px Arial";
|
||||
else
|
||||
textStyleBasic.font = "bold 84px Arial";
|
||||
@@ -51,13 +51,13 @@ var TypingTest = {
|
||||
.addColor(TypingTest.COLOR_CONTENT_INPUT, 0);
|
||||
this.textTypingContent.anchor.set(0.5);
|
||||
|
||||
let TYPING_OFFSET_Y = 90;
|
||||
var TYPING_OFFSET_Y = 90;
|
||||
textStyleBasic.font = "32px Arial";
|
||||
|
||||
let textDoneColor = [ '#99994d', '#77774d', '#66664d' ];
|
||||
var textDoneColor = [ '#99994d', '#77774d', '#66664d' ];
|
||||
this.textTypingContentsDone = [];
|
||||
this.textTypingRecordsDone = [];
|
||||
for(let i = 0; i < TypingTest.TYPING_CONTENT_DONE_COUNT; i++) {
|
||||
for(var i = 0; i < TypingTest.TYPING_CONTENT_DONE_COUNT; i++) {
|
||||
this.textTypingContentsDone[i] = game.add.text(
|
||||
game.world.centerX, TYPING_CONTENT_Y + TYPING_OFFSET_Y + i * 50,
|
||||
"", textStyleBasic
|
||||
@@ -66,8 +66,8 @@ var TypingTest = {
|
||||
.addColor(textDoneColor[i], 0);
|
||||
this.textTypingContentsDone[i].anchor.set(0.5);
|
||||
|
||||
let SCORE_POSITION_X = 900;
|
||||
if(isTypingWordStage())
|
||||
var SCORE_POSITION_X = 900;
|
||||
if(isTypingWordApp())
|
||||
SCORE_POSITION_X = 700;
|
||||
|
||||
this.textTypingRecordsDone[i] = game.add.text(
|
||||
@@ -79,9 +79,9 @@ var TypingTest = {
|
||||
this.textTypingRecordsDone[i].anchor.set(0.5);
|
||||
}
|
||||
|
||||
let textPreviewColor = [ '#999999', '#888888', '#777777' ];
|
||||
var textPreviewColor = [ '#999999', '#888888', '#777777' ];
|
||||
this.textTypingContentPreview = [];
|
||||
for(let i = 0; i < TypingTest.TYPING_CONTENT_PREVIEW_COUNT; i++) {
|
||||
for(var i = 0; i < TypingTest.TYPING_CONTENT_PREVIEW_COUNT; i++) {
|
||||
this.textTypingContentPreview[i] = game.add.text(
|
||||
game.world.centerX, TYPING_CONTENT_Y - TYPING_OFFSET_Y - i * 50,
|
||||
"", textStyleBasic
|
||||
@@ -105,7 +105,7 @@ var TypingTest = {
|
||||
|
||||
|
||||
// bottom ui
|
||||
let screenBottomUI = new ScreenBottomUI();
|
||||
var screenBottomUI = new ScreenBottomUI();
|
||||
screenBottomUI.printLeftTextWithBestRecord(sessionStorageManager.getBestRecord());
|
||||
screenBottomUI.printCenterText(sessionStorageManager.getPlayingAppKoreanName());
|
||||
screenBottomUI.printRightText(sessionStorageManager.getPlayerName());
|
||||
@@ -138,7 +138,7 @@ var TypingTest = {
|
||||
this.countDownText.text = this.countDownNumber.toString();
|
||||
this.countDownText.alpha = 1;
|
||||
|
||||
let countDownTween = game.add.tween(this.countDownText);
|
||||
var countDownTween = game.add.tween(this.countDownText);
|
||||
countDownTween.to( { alpha: 0 }, GAME_SCREEN_SIZE.x, Phaser.Easing.Linear.None, true);
|
||||
countDownTween.onComplete.add(this.tweenCountDown, this);
|
||||
|
||||
@@ -154,7 +154,7 @@ var TypingTest = {
|
||||
},
|
||||
|
||||
gameOver: function() {
|
||||
let gameOverText = new GameOverText();
|
||||
var gameOverText = new GameOverText();
|
||||
|
||||
this.animalOnTitle.stopAnimation();
|
||||
|
||||
@@ -170,12 +170,12 @@ var TypingTest = {
|
||||
},
|
||||
|
||||
initTypingData: function() {
|
||||
let typingTextMan = new TypingTextManager();
|
||||
var typingTextMan = new TypingTextManager();
|
||||
|
||||
let typingPracticeContents = this.getTypingTestContents();
|
||||
var typingPracticeContents = this.getTypingTestContents();
|
||||
// console.log(typingPracticeContents);
|
||||
typingTextMan.makeTestContents(typingPracticeContents);
|
||||
let wordCountForStage = TypingTest.WORD_COUNT_FOR_STAGE;
|
||||
var wordCountForStage = TypingTest.WORD_COUNT_FOR_STAGE;
|
||||
if(isDebugMode())
|
||||
wordCountForStage = 3;
|
||||
typingTextMan.slice(0, wordCountForStage);
|
||||
@@ -195,14 +195,14 @@ var TypingTest = {
|
||||
|
||||
|
||||
getTypingTestContents: function() {
|
||||
let typingTestContents = this.loadTestContent();
|
||||
var typingTestContents = this.loadTestContent();
|
||||
// console.log('playingStageData.language : ' + playingStageData.language);
|
||||
// console.log('playingStageData.level : ' + playingStageData.level);
|
||||
// console.log('typingTestContents : ' + typingTestContents);
|
||||
|
||||
this.typingRecordForLines = [];
|
||||
this.typingElapsedTime = [];
|
||||
for(let i = 0; i < typingTestContents.length; i++) {
|
||||
for(var i = 0; i < typingTestContents.length; i++) {
|
||||
this.typingRecordForLines[i] = 0;
|
||||
this.typingElapsedTime[i] = 0;
|
||||
}
|
||||
@@ -211,13 +211,13 @@ var TypingTest = {
|
||||
},
|
||||
|
||||
loadTestContent: function() {
|
||||
let appName = "";
|
||||
if(isTypingTestStage())
|
||||
var appName = "";
|
||||
if(isTypingTestApp())
|
||||
appName = sessionStorageManager.getPlayingAppName().substring(5);
|
||||
else if(isTypingPracticeStage())
|
||||
else if(isTypingPracticeApp())
|
||||
appName = sessionStorageManager.getPlayingAppName().substring(9);
|
||||
|
||||
let testContent = [];
|
||||
var testContent = [];
|
||||
switch(appName) {
|
||||
case "korean_basic":
|
||||
testContent = koreanBasicWordList;
|
||||
@@ -280,8 +280,8 @@ var TypingTest = {
|
||||
},
|
||||
|
||||
showTypingTestContents: function() {
|
||||
for(let i = 0; i < TypingTest.TYPING_CONTENT_DONE_COUNT; i++) {
|
||||
let doneIndex = this.typingIndex - i - 1;
|
||||
for(var i = 0; i < TypingTest.TYPING_CONTENT_DONE_COUNT; i++) {
|
||||
var doneIndex = this.typingIndex - i - 1;
|
||||
if(doneIndex < 0) {
|
||||
this.textTypingContentsDone[i].text = "";
|
||||
this.textTypingRecordsDone[i].text = "";
|
||||
@@ -298,8 +298,8 @@ var TypingTest = {
|
||||
|
||||
this.textTypingContent.text = this.typingRandomContents[this.typingIndex];
|
||||
|
||||
for(let i = 0; i < TypingTest.TYPING_CONTENT_PREVIEW_COUNT; i++) {
|
||||
let previewIndex = this.typingIndex + i + 1;
|
||||
for(var i = 0; i < TypingTest.TYPING_CONTENT_PREVIEW_COUNT; i++) {
|
||||
var previewIndex = this.typingIndex + i + 1;
|
||||
if(previewIndex < this.typingRandomContents.length)
|
||||
this.textTypingContentPreview[i].text = this.typingRandomContents[previewIndex];
|
||||
else
|
||||
@@ -316,8 +316,8 @@ var TypingTest = {
|
||||
checkTypingContents: function(evnet) {
|
||||
if(event.keyCode == Phaser.Keyboard.ENTER) {
|
||||
// console.log("### enter ###");
|
||||
let inputContent = this.inputTextContent.canvasInput.value();
|
||||
let typingContent = this.typingRandomContents[this.typingIndex];
|
||||
var inputContent = this.inputTextContent.canvasInput.value();
|
||||
var typingContent = this.typingRandomContents[this.typingIndex];
|
||||
|
||||
if(inputContent === typingContent) {
|
||||
this.calculateTypingRecord(typingContent);
|
||||
@@ -340,8 +340,8 @@ var TypingTest = {
|
||||
},
|
||||
|
||||
showTypingContentHighlight: function() {
|
||||
let typingContent = this.typingRandomContents[this.typingIndex];
|
||||
let inputContent = this.inputTextContent.canvasInput.value();
|
||||
var typingContent = this.typingRandomContents[this.typingIndex];
|
||||
var inputContent = this.inputTextContent.canvasInput.value();
|
||||
|
||||
this.textTypingContent.clearColors();
|
||||
this.textTypingContent.addColor(TypingTest.COLOR_CONTENT_RIGHT, 0);
|
||||
@@ -349,8 +349,8 @@ var TypingTest = {
|
||||
if(typingContent == null)
|
||||
return;
|
||||
|
||||
let typingContentLength = typingContent.length;
|
||||
for(let i = 0; i < typingContentLength; i++) {
|
||||
var typingContentLength = typingContent.length;
|
||||
for(var i = 0; i < typingContentLength; i++) {
|
||||
// console.log("typingContent.charAt(i) : " + typingContent.charAt(i));
|
||||
// console.log("inputContent.charAt(i) : " + inputContent.charAt(i));
|
||||
|
||||
@@ -368,22 +368,22 @@ var TypingTest = {
|
||||
this.timeTypingEnd = game.time.elapsedSince(0);
|
||||
// console.log('this.timeTypingEnd : ' + this.timeTypingEnd);
|
||||
|
||||
let elapsedTimeMS = this.timeTypingEnd - this.timeTypingStart;
|
||||
var elapsedTimeMS = this.timeTypingEnd - this.timeTypingStart;
|
||||
// console.log('elapsedTimeMS : ' + elapsedTimeMS);
|
||||
|
||||
let typingContentLength = StringUtil.getUnicodeAlphabetCount(typingContent);
|
||||
var typingContentLength = StringUtil.getUnicodeAlphabetCount(typingContent);
|
||||
// console.log('typingContentLength : ' + typingContentLength);
|
||||
let typingContentPlusEnterCount = typingContentLength + TypingTest.TYPING_COUNT_PLUS_ENTER;
|
||||
var typingContentPlusEnterCount = typingContentLength + TypingTest.TYPING_COUNT_PLUS_ENTER;
|
||||
|
||||
let typingRecord = (typingContentPlusEnterCount + TypingTest.TYPING_COUNT_PLUS_ENTER) * 60000 / elapsedTimeMS;
|
||||
var typingRecord = (typingContentPlusEnterCount + TypingTest.TYPING_COUNT_PLUS_ENTER) * 60000 / elapsedTimeMS;
|
||||
|
||||
this.typingElapsedTime[this.typingIndex] = elapsedTimeMS;
|
||||
this.typingLetterCountTotal += typingContentPlusEnterCount;
|
||||
this.typingRecordForLines[this.typingIndex] = typingRecord;
|
||||
// console.log(this.typingRecordForLines[this.typingIndex]);
|
||||
|
||||
let typingElapsedTimeTotal = 0;
|
||||
for(let i = 0; i <= this.typingIndex; i++) {
|
||||
var typingElapsedTimeTotal = 0;
|
||||
for(var i = 0; i <= this.typingIndex; i++) {
|
||||
// console.log('i : ' + i + ' - time : ' + this.typingElapsedTime[i]);
|
||||
typingElapsedTimeTotal += this.typingElapsedTime[i];
|
||||
}
|
||||
@@ -392,7 +392,7 @@ var TypingTest = {
|
||||
// console.log(typingElapsedTimeTotal);
|
||||
// console.log(typingRecordTotal);
|
||||
|
||||
let typingRecordTotalInteger = Math.floor(this.typingRecordTotal);
|
||||
var typingRecordTotalInteger = Math.floor(this.typingRecordTotal);
|
||||
this.averageTypingSpeedText.print(typingRecordTotalInteger);
|
||||
// console.log('-------------- total --------------');
|
||||
// console.log('typingLetterCountTotal : ' + this.typingLetterCountTotal);
|
||||
@@ -400,7 +400,7 @@ var TypingTest = {
|
||||
// console.log('typingRecordTotal : ' + typingRecordTotal);
|
||||
// console.log('-----------------------------------');
|
||||
|
||||
let animalLevelID = Animal.animalLevelIDByRecord(typingRecordTotalInteger, Animal.TYPE_TEST);
|
||||
var animalLevelID = Animal.animalLevelIDByRecord(typingRecordTotalInteger, Animal.TYPE_TEST);
|
||||
this.animalOnTitle.startAnimation(Animal.SPECIES_DATA[animalLevelID]);
|
||||
this.animalOnTitle.tweenAnimation(Animal.ANIMATION_TYPE_CHANGE);
|
||||
|
||||
@@ -419,7 +419,7 @@ var TypingTest = {
|
||||
|
||||
setTimeTypingStart: function() {
|
||||
this.timeTypingStart = game.time.elapsedSince(0);
|
||||
let timeGap = this.timeTypingStart - this.timeTypingEnd;
|
||||
var timeGap = this.timeTypingStart - this.timeTypingEnd;
|
||||
|
||||
if(timeGap < 50)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user