Commit 92d2bad3 authored by 18손재민's avatar 18손재민

단어 정보 구하는 함수들 WordReader로 따로 이동함

parent 6f871788
......@@ -8,6 +8,7 @@
<script src="js/Input.js"></script>
<script src="js/WordSpace.js"></script>
<script src="js/WordObject.js"></script>
<script src="js/WordReader.js"></script>
</head>
<body>
<script src="js/Main.js"></script>
......
......@@ -3,21 +3,10 @@ class WordObject
constructor(text)
{
this.generationCode = WordSpace.nextWordCode++;
this.wordText = text;
//this.wordText = Input.removeConVow(text);
this.wordTyping = (function(_wordText)
{
var temp = 0;
for(var i = 0; i < _wordText.length; i++)
{
temp += parseFloat(firstSound(_wordText.charAt(i))) + middleSound(_wordText.charAt(i)) + lastSound(_wordText.charAt(i));
}
return temp;
})(this.wordText);
this.wordGrade = 2 < this.wordTyping && this.wordTyping < 6 ? 3 :
7 < this.wordTyping && this.wordTyping < 11 ? 2 :
12 < this.wordTyping && this.wordTyping < 16 ? 1 : 0;
this.wordTyping = WordReader.getWordTyping(this.wordText);
this.wordGrade = WordReader.getwordWeight(this.wordText);
this.wordWeight = (function(_wordGrade)
{
var temp = 0;
......@@ -58,28 +47,4 @@ class WordObject
getWordWeight() { return this.wordWeight; }
isEqualObject(_generationCode) { return _generationCode === this._generationCode; }
}
function firstSound(charText)
{
var r = parseInt(((charText.charCodeAt(0) - parseInt('0xac00',16)) /28) / 21);
if(r === 1 || r === 4 || r === 8 || r === 10 || r === 13) return 1.3;
else return 1;
}
function middleSound(charText)
{
var r = parseInt(((charText.charCodeAt(0)- parseInt('0xac00',16)) / 28) % 21);
if(r === 3 || r === 7) return 1.3;
else if(r === 9 || r === 10 || r === 11 || r === 14 || r === 15 || r === 16 || r === 19) return 2;
else return 1;
}
function lastSound(charText)
{
var r = parseInt((charText.charCodeAt(0) - parseInt('0xac00',16)) % 28);
if(r === 2 || r === 20) return 1.3;
else if(r === 0) return 0;
else if(r === 3 || r === 5 || r === 6 || r === 9 || r === 10 || r === 11 || r === 12 || r === 13 || r === 14 || r === 15 || r === 18) return 2;
else return 1;
}
\ No newline at end of file
var WordReader = WordReader || {};
function firstSound(charText)
{
var r = parseInt(((charText.charCodeAt(0) - parseInt('0xac00',16)) /28) / 21);
if(r === 1 || r === 4 || r === 8 || r === 10 || r === 13) return 1.3;
else return 1;
}
function middleSound(charText)
{
var r = parseInt(((charText.charCodeAt(0)- parseInt('0xac00',16)) / 28) % 21);
if(r === 3 || r === 7) return 1.3;
else if(r === 9 || r === 10 || r === 11 || r === 14 || r === 15 || r === 16 || r === 19) return 2;
else return 1;
}
function lastSound(charText)
{
var r = parseInt((charText.charCodeAt(0) - parseInt('0xac00',16)) % 28);
if(r === 2 || r === 20) return 1.3;
else if(r === 0) return 0;
else if(r === 3 || r === 5 || r === 6 || r === 9 || r === 10 || r === 11 || r === 12 || r === 13 || r === 14 || r === 15 || r === 18) return 2;
else return 1;
}
WordReader.getWordTyping = function(stringText)
{
var temp = 0;
for(var i = 0; i < stringText.length; i++)
{
temp += parseFloat(firstSound(stringText.charAt(i))) + middleSound(stringText.charAt(i)) + lastSound(stringText.charAt(i));
}
return temp;
}
WordReader.getWordGrade = function(stringText)
{
return 2 < this.wordTyping && this.wordTyping < 6 ? 3 :
7 < this.wordTyping && this.wordTyping < 11 ? 2 :
12 < this.wordTyping && this.wordTyping < 16 ? 1 : 0;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment