Add: ExtractWordManager

This commit is contained in:
2019-01-06 09:13:05 +09:00
parent 3055fd3201
commit d784839524
6 changed files with 166 additions and 82 deletions
+158
View File
@@ -0,0 +1,158 @@
function ExtractWordManager() {
this.init();
}
ExtractWordManager.prototype.init = function() {
this.contents = [];
this.wordList = [];
this.wordList[0] = "hello";
this.wordList[1] = "world";
this.wordIndex = 1;
}
ExtractWordManager.prototype.getWord = function(wordLevel, difficulty) {
this.wordIndex = 1 - this.wordIndex;
return this.wordList[this.wordIndex];
}
ExtractWordManager.prototype.removeWord = function(wordLevel, word) {
console.log("remove : " + wordLevel + ", " + word);
}
ExtractWordManager.prototype.getContents = function() {
return this.contents;
}
ExtractWordManager.prototype.add = function(arr) {
this.contents = this.contents.concat(arr);
}
ExtractWordManager.prototype.slice = function(start, end) {
this.contents = this.contents.slice(start, end);
}
ExtractWordManager.prototype.getShuffledArray = function(arr) {
return Phaser.ArrayUtils.shuffle(arr);
}
ExtractWordManager.prototype.fillLeftRightBasicKey = function() {
var length = this.contents.length;
// console.log(length);
for(var i = length - 1; i > -1; i--) {
var char = this.contents[i];
// console.log(char);
if(this.isKoreanConsonant(char)) {
this.contents.splice(i + 1, 0, "ㅓ");
} else if(this.isKoreanVowel(char)) {
this.contents.splice(i, 0, "ㄹ");
} else if(this.isEnglishLeftHand(char)) {
this.contents.splice(i + 1, 0, "j");
} else if(this.isEnglishRightHand(char)) {
this.contents.splice(i, 0, "f");
}
}
}
ExtractWordManager.prototype.isKoreanConsonant = function(char) {
if(char.length != 1)
return false;
if(ExtractWordManager.KOREAN_LETTER_CHO.indexOf(char) > -1)
return true;
else if(ExtractWordManager.KOREAN_LETTER_JONG.indexOf(char) > -1)
return;
return false;
}
ExtractWordManager.prototype.isKoreanVowel = function(char) {
if(char.length != 1)
return false;
if(ExtractWordManager.KOREAN_LETTER_JUNG.indexOf(char) > -1)
return true;
return false;
}
ExtractWordManager.prototype.isEnglishLeftHand = function(char) {
if(char.length != 1)
return false;
if(ExtractWordManager.ENGLISH_LETTER_LEFT.indexOf(char) > -1)
return true;
return false;
}
ExtractWordManager.prototype.isEnglishRightHand = function(char) {
if(char.length != 1)
return false;
if(ExtractWordManager.ENGLISH_LETTER_RIGHT.indexOf(char) > -1)
return true;
return false;
}
ExtractWordManager.prototype.makePracticeContents = function(arr, repeatCount) {
this.init();
this.add(arr);
for(var i = 0; i < repeatCount; i++) {
this.add(this.getShuffledArray(arr));
}
this.fillLeftRightBasicKey();
}
ExtractWordManager.prototype.makeTestContents = function(arr) {
this.init();
this.add(this.getShuffledArray(arr));
}
ExtractWordManager.shuffledArray = function(arr) {
return Phaser.ArrayUtils.shuffle(arr);
}
ExtractWordManager.KOREAN_LETTER_CHO = [
"ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ",
"ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"
];
ExtractWordManager.KOREAN_LETTER_JUNG = [
"ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ",
"ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ", "ㅡ", "ㅢ", "ㅣ"
];
ExtractWordManager.KOREAN_LETTER_JONG = [
"", "ㄱ", "ㄲ", "ㄳ", "ㄴ", "ㄵ", "ㄶ", "ㄷ", "ㄹ", "ㄺ",
"ㄻ", "ㄼ", "ㄽ", "ㄾ", "ㄿ", "ㅀ", "ㅁ", "ㅂ", "ㅄ", "ㅅ",
"ㅆ", "ㅇ", "ㅈ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ"
];
ExtractWordManager.ENGLISH_LETTER_LEFT = [
"q", "w", "e", "r", "t",
"a", "s", "d", "f", "g",
"z", "x", "c", "v", "b"
];
ExtractWordManager.ENGLISH_LETTER_RIGHT = [
"y", "u", "i", "o", "p",
"h", "j", "k", "l",
"n", "m"
];