diff --git a/src/game/lib/announce_box.js b/src/game/lib/announce_box.js
index 391487e..5b40245 100644
--- a/src/game/lib/announce_box.js
+++ b/src/game/lib/announce_box.js
@@ -47,7 +47,7 @@ class AnnounceBox {
text
);
announceText.addColor("#ff0000", 0);
- announceText.stroke = "#fff";
+ announceText.stroke = "#330000";
}
diff --git a/src/game/typing/alphabet_list/english_upper_lower.js b/src/game/typing/alphabet_list/english_upper_lower.js
new file mode 100644
index 0000000..4b0169e
--- /dev/null
+++ b/src/game/typing/alphabet_list/english_upper_lower.js
@@ -0,0 +1,54 @@
+var englishUpperLowerWordList = [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e",
+ "f",
+ "g",
+ "h",
+ "i",
+ "j",
+ "k",
+ "l",
+ "m",
+ "n",
+ "o",
+ "p",
+ "q",
+ "r",
+ "s",
+ "t",
+ "u",
+ "v",
+ "w",
+ "x",
+ "y",
+ "z",
+ "A",
+ "B",
+ "C",
+ "D",
+ "E",
+ "F",
+ "G",
+ "H",
+ "I",
+ "J",
+ "K",
+ "L",
+ "M",
+ "N",
+ "O",
+ "P",
+ "Q",
+ "R",
+ "S",
+ "T",
+ "U",
+ "V",
+ "W",
+ "X",
+ "Y",
+ "Z"
+];
\ No newline at end of file
diff --git a/src/game/typing/practice/game.js b/src/game/typing/practice/game.js
index 312732b..8c99c5d 100644
--- a/src/game/typing/practice/game.js
+++ b/src/game/typing/practice/game.js
@@ -22,8 +22,7 @@ class TypingPractice {
this.typingScore = new TypingScore();
- let STAGE_TIMER_SEC = 5;
- this.stageTimer = new StageTimer( STAGE_TIMER_SEC, () => {
+ this.stageTimer = new StageTimer( TypingPractice.STAGE_TIMER_SEC, () => {
self.isOnStage = false;
// self.goResult();
@@ -39,7 +38,7 @@ class TypingPractice {
let TYPING_CONTENT_Y = 200;
- textStyleBasic.font = "bold 84px Arial";
+ textStyleBasic.font = "bold 84px Times New Roman";
this.textTypingContent = game.add.text(game.world.centerX, TYPING_CONTENT_Y, "", textStyleBasic)
.setShadow(3, 3, 'rgba(0, 0, 0, 1)', 2)
.addColor(TypingPractice.COLOR_CONTENT_INPUT, 0);
@@ -207,6 +206,7 @@ class TypingPractice {
case "english_basic":
testContent = englishBasicWordList;
+ /*
testContent = [
"a",
"C",
@@ -223,6 +223,7 @@ class TypingPractice {
"k",
"N",
];
+ */
break;
case "english_left_upper":
testContent = englishLeftUpperWordList;
@@ -239,6 +240,9 @@ class TypingPractice {
case "english_right_lower":
testContent = englishRightLowerWordList;
break;
+ case "english_upper_lower":
+ testContent = englishUpperLowerWordList;
+ break;
case "english_word":
testContent = englishWordList;
break;
@@ -286,6 +290,7 @@ class TypingPractice {
showHighlightKey() {
let typingText = this.typingRandomContents[this.typingIndex];
+ console.log(typingText);
if(typingText === undefined)
return;
@@ -294,6 +299,7 @@ class TypingPractice {
moveHands() {
let typingText = this.typingRandomContents[this.typingIndex];
+ console.log(typingText);
if(typingText === undefined)
return;
@@ -377,7 +383,7 @@ TypingPractice.TYPING_COUNT_PLUS_ENTER = 1;
TypingPractice.OFFSET_RIGHT_ALIGN = 10;
-TypingPractice.WORD_COUNT_FOR_STAGE = 10;
+TypingPractice.STAGE_TIMER_SEC = 60;
TypingPractice.COLOR_CONTENT_INPUT = "#dddddd";
TypingPractice.COLOR_BRACKET = "#dddd70";
diff --git a/src/game/typing/test/game.js b/src/game/typing/test/game.js
index c6d89c8..5f3105e 100644
--- a/src/game/typing/test/game.js
+++ b/src/game/typing/test/game.js
@@ -51,7 +51,7 @@ class TypingTest {
this.textTypingRecordsDone = [];
for(let 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,
+ game.world.centerX, TYPING_CONTENT_Y + TYPING_OFFSET_Y + i * 50,
"", textStyleBasic
)
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2)
@@ -63,7 +63,7 @@ class TypingTest {
SCORE_POSITION_X = 700;
this.textTypingRecordsDone[i] = game.add.text(
- SCORE_POSITION_X, TYPING_CONTENT_Y - TYPING_OFFSET_Y - i * 50,
+ SCORE_POSITION_X, TYPING_CONTENT_Y + TYPING_OFFSET_Y + i * 50,
"", textStyleBasic
)
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2)
@@ -75,7 +75,7 @@ class TypingTest {
this.textTypingContentPreview = [];
for(let 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,
+ game.world.centerX, TYPING_CONTENT_Y - TYPING_OFFSET_Y - i * 50,
"", textStyleBasic
)
// .setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2)
diff --git a/src/game/typing/word_list/korean_sentence.js b/src/game/typing/word_list/korean_sentence.js
index 36e2bf1..98689b6 100644
--- a/src/game/typing/word_list/korean_sentence.js
+++ b/src/game/typing/word_list/korean_sentence.js
@@ -1,90 +1,90 @@
var koreanSentenceList = [
- "가는 말이 고와야 오는 말도 곱다",
- "가랑비에 옷 젖는줄 모른다",
- "가만히 있으면 중간이나 간다",
- "가지 많은 나무에 바람 잘 날 없다",
- "간에 붙었다 쓸개에 붙는다",
+ "가는 말이 고와야 오는 말도 곱다.",
+ "가랑비에 옷 젖는줄 모른다.",
+ "가만히 있으면 중간이나 간다.",
+ "가지 많은 나무에 바람 잘 날 없다.",
+ "간에 붙었다 쓸개에 붙는다.",
"같은 값이면 다홍치마",
- "개구리 올챙이 시절 모른다",
- "개 같이 벌어서 정승같이 산다",
- "개똥도 약에 쓰려면 없다",
- "개똥밭에 굴러도 이승이 좋다",
+ "개구리 올챙이 시절 모른다.",
+ "개 같이 벌어서 정승같이 산다.",
+ "개똥도 약에 쓰려면 없다.",
+ "개똥밭에 굴러도 이승이 좋다.",
"계란으로 바위치기",
"고양이 목에 방울 달기",
"공든 탑이 무너지랴",
"구더기 무서워서 장 못 담그랴",
- "구르는 돌에는 이끼가 끼지 않는다",
+ "구르는 돌에는 이끼가 끼지 않는다.",
"구슬이 서 말이라도 꿰어야 보배",
- "굴러 온 돌이 박힌 돌 뺀다",
- "길이 아니면 가지 말고 말이 아니면 듣지 말라",
- "까마귀 날자 배 떨어진다",
- "낮 말은 새가 듣고 밤 말은 쥐가 듣는다",
- "늦게 배운 도둑질이 날 새는 줄 모른다",
+ "굴러 온 돌이 박힌 돌 뺀다.",
+ "길이 아니면 가지 말고 말이 아니면 듣지 말라.",
+ "까마귀 날자 배 떨어진다.",
+ "낮 말은 새가 듣고 밤 말은 쥐가 듣는다.",
+ "늦게 배운 도둑질이 날 새는 줄 모른다.",
"다람쥐 쳇바퀴 돌리듯",
- "달면 삼키고 쓰면 뱉는다",
- "닭 잡아먹고 오리발 내민다",
- "닭 쫓던 개 지붕 쳐다본다",
- "도둑을 맞으려면 개도 안 짖는다",
- "도둑이 제 발 저린다",
- "돌다리도 두들겨 보고 건너라",
- "떡 줄 사람은 생각도 않는데 김칫국부터 마신다",
- "똥 묻은 개가 겨 묻은 개 나무란다",
- "똥이 무서워서 피하나 더러워서 피하지",
- "뛰는 놈 위에 나는 놈 있다",
- "말 한마디에 천냥 빚을 갚는다",
- "못된 송아지 엉덩이에 뿔난다",
- "못 먹는 감 찔러나 본다",
- "미꾸라지 한 마리가 온 웅덩이를 흐린다",
- "믿는 도끼에 발등 찍히다",
- "밑 빠진 독에 물 붓기",
- "바늘 도둑이 소 도둑 된다",
- "방귀 뀐 놈이 성낸다",
- "백지장도 맞들면 낫다",
- "뱁새가 황새 따라가면 다리가 찢어진다",
+ "달면 삼키고 쓰면 뱉는다.",
+ "닭 잡아먹고 오리발 내민다.",
+ "닭 쫓던 개 지붕 쳐다본다.",
+ "도둑을 맞으려면 개도 안 짖는다.",
+ "도둑이 제 발 저린다.",
+ "돌다리도 두들겨 보고 건너라.",
+ "떡 줄 사람은 생각도 않는데 김칫국부터 마신다.",
+ "똥 묻은 개가 겨 묻은 개 나무란다.",
+ "똥이 무서워서 피하나 더러워서 피하지.",
+ "뛰는 놈 위에 나는 놈 있다.",
+ "말 한마디에 천냥 빚을 갚는다.",
+ "못된 송아지 엉덩이에 뿔난다.",
+ "못 먹는 감 찔러나 본다.",
+ "미꾸라지 한 마리가 온 웅덩이를 흐린다.",
+ "믿는 도끼에 발등 찍히다.",
+ "밑 빠진 독에 물 붓기.",
+ "바늘 도둑이 소 도둑 된다.",
+ "방귀 뀐 놈이 성낸다.",
+ "백지장도 맞들면 낫다.",
+ "뱁새가 황새 따라가면 다리가 찢어진다.",
"번데기 앞에서 주름잡기",
- "부뚜막의 소금도 집어 넣어야 짜다",
- "비온 뒤 땅이 굳는다",
- "빈 수레가 더 요란하다",
- "빈대 잡다 초가삼간 태운다",
- "사공이 많으면 배가 산으로 간다",
- "서당개 삼년이면 풍월을 읊는다",
- "세 살 버릇 여든까지 간다",
- "소 잃고 외양간 고친다",
+ "부뚜막의 소금도 집어 넣어야 짜다.",
+ "비온 뒤 땅이 굳는다.",
+ "빈 수레가 더 요란하다.",
+ "빈대 잡다 초가삼간 태운다.",
+ "사공이 많으면 배가 산으로 간다.",
+ "서당개 삼년이면 풍월을 읊는다.",
+ "세 살 버릇 여든까지 간다.",
+ "소 잃고 외양간 고친다.",
"소 뒷걸음질 치다 쥐 잡기",
- "소문 난 잔치 먹을 것 없다",
- "손바닥도 마주쳐야 소리가 난다",
- "신선놀음에 도끼자루 썩는 줄 모른다",
- "십년이면 강산도 변한다",
+ "소문 난 잔치 먹을 것 없다.",
+ "손바닥도 마주쳐야 소리가 난다.",
+ "신선놀음에 도끼자루 썩는 줄 모른다.",
+ "십년이면 강산도 변한다.",
"아랫돌 빼서 윗돌 괴기",
- "얌전한 고양이 부뚜막에 먼저 오른다",
- "안 되는 놈은 뒤로 자빠져도 코가 깨진다",
- "어물전 망신은 꼴뚜기가 시킨다",
- "열길 물 속은 알아도 한길 사람 속은 모른다",
- "열 번 찍어 안 넘어가는 나무 없다",
- "오르지 못할 나무는 쳐다보지도 말라",
- "오얏나무 아래에서 갓을 고쳐 쓰지 마라",
- "원수는 외나무 다리에서 만난다",
- "원숭이도 나무에서 떨어진다",
- "윗 물이 맑아야 아랫물도 맑다",
- "자라 보고 놀란 가슴 솥뚜껑 보고 놀란다",
- "자랄 나무는 떡잎부터 알아본다",
+ "얌전한 고양이 부뚜막에 먼저 오른다.",
+ "안 되는 놈은 뒤로 자빠져도 코가 깨진다.",
+ "어물전 망신은 꼴뚜기가 시킨다.",
+ "열길 물 속은 알아도 한길 사람 속은 모른다.",
+ "열 번 찍어 안 넘어가는 나무 없다.",
+ "오르지 못할 나무는 쳐다보지도 마라.",
+ "오얏나무 아래에서 갓을 고쳐 쓰지 마라.",
+ "원수는 외나무 다리에서 만난다.",
+ "원숭이도 나무에서 떨어진다.",
+ "윗물이 맑아야 아랫물도 맑다.",
+ "자라 보고 놀란 가슴 솥뚜껑 보고 놀란다.",
+ "자랄 나무는 떡잎부터 알아본다.",
"잘 되면 제 탓이요 못 되면 조상 탓이라",
- "쥐구멍에도 볕 들 날 있다",
- "지렁이도 밟으면 꿈틀한다",
- "천리길도 한 걸음부터",
- "칼로써 흥한자 칼로써 망한다",
- "콩으로 메주를 쑨다 하여도 곧이듣지 않는다",
- "콩 심은 데 콩 나고 팥 심은 데 팥 난다",
- "털어서 먼지 안 나는 사람 없다",
- "팔은 안으로 굽는다",
- "피는 물보다 진하다",
- "하늘이 무너저도 솟아날 구멍은 있다",
- "하룻강아지 범 무서운줄 모른다",
- "호랑이도 제 말 하면 온다",
- "호랑이에게 물려가도 정신만 차리면 살 수 있다",
- "호랑이를 잡으려면 호랑이굴로 가야 한다",
- "호미로 막을걸 가래로 막는다",
- "호박에 줄 긋는다고 수박되나",
- "혹 때러 갔다 혹 붙이고 온다",
- "흥정은 붙이고 싸움은 말리랬다"
+ "쥐구멍에도 볕 들 날 있다.",
+ "지렁이도 밟으면 꿈틀한다.",
+ "천리길도 한 걸음부터.",
+ "칼로써 흥한자 칼로써 망한다.",
+ "콩으로 메주를 쑨다 하여도 곧이듣지 않는다.",
+ "콩 심은 데 콩 나고 팥 심은 데 팥 난다.",
+ "털어서 먼지 안 나는 사람 없다.",
+ "팔은 안으로 굽는다.",
+ "피는 물보다 진하다.",
+ "하늘이 무너저도 솟아날 구멍은 있다.",
+ "하룻강아지 범 무서운줄 모른다.",
+ "호랑이도 제 말 하면 온다.",
+ "호랑이에게 물려가도 정신만 차리면 살 수 있다.",
+ "호랑이를 잡으려면 호랑이굴로 가야 한다.",
+ "호미로 막을걸 가래로 막는다.",
+ "호박에 줄 긋는다고 수박되나.",
+ "혹 때러 갔다 혹 붙이고 온다.",
+ "흥정은 붙이고 싸움은 말리랬다."
];
\ No newline at end of file
diff --git a/src/web/client/typing_practice.html b/src/web/client/typing_practice.html
index 6b17996..c6054e4 100644
--- a/src/web/client/typing_practice.html
+++ b/src/web/client/typing_practice.html
@@ -45,6 +45,7 @@
+
diff --git a/src/web/sql/insert_active_app.sql b/src/web/sql/insert_active_app.sql
index ff4202f..136caa2 100644
--- a/src/web/sql/insert_active_app.sql
+++ b/src/web/sql/insert_active_app.sql
@@ -17,27 +17,8 @@ INSERT INTO `active_app` (`ActiveAppID`, `MaestroID`, `AppID`) VALUES
(14, 1, 14),
(15, 1, 15),
(16, 1, 16),
-(17, 1, 29),
-(18, 1, 30),
-(19, 1, 39),
-(20, 1, 40),
-(21, 2, 101),
-(22, 2, 102),
-(23, 2, 1),
-(24, 2, 2),
-(25, 2, 3),
-(26, 2, 4),
-(27, 2, 5),
-(28, 2, 6),
-(29, 2, 7),
-(30, 2, 8),
-(31, 2, 11),
-(32, 2, 12),
-(33, 2, 13),
-(34, 2, 14),
-(35, 2, 15),
-(36, 2, 16),
-(37, 2, 29),
-(38, 2, 30),
-(39, 2, 39),
-(40, 2, 40);
+(17, 1, 16),
+(18, 1, 29),
+(19, 1, 30),
+(20, 1, 39),
+(21, 1, 40);
\ No newline at end of file
diff --git a/src/web/sql/insert_app.sql b/src/web/sql/insert_app.sql
index 5be0004..f20ba1a 100644
--- a/src/web/sql/insert_app.sql
+++ b/src/web/sql/insert_app.sql
@@ -1,7 +1,7 @@
USE moty;
INSERT INTO `app` (`AppID`, `AppName`, `KoreanName`, `AppType`, `Status`, `HowToPlay`) VALUES
-(1, 'practice_korean_basic', '기본 자리', 1, 1, '왼손 검지를 F 자판위에,\\n오른손 검지를 J 자판위에 올린채\\n손을 움직이지 말고 글자를 입력하세요.'),
+(1, 'practice_korean_basic', '기본 자리', 1, 1, '왼손 검지를 [F] 자판위에,\\n오른손 검지를 [J] 자판위에 올린채\\n손을 움직이지 말고 글자를 입력하세요.'),
(2, 'practice_korean_left_upper', '왼손 윗글쇠', 1, 1, '왼손 윗글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
(3, 'practice_korean_second_finger', '검지 글쇠', 1, 1, '기본 자리에 손을 두고, 양 손 검지 손가락으로\\n키보드 안쪽의 글쇠를 눌러주세요.'),
(4, 'practice_korean_right_upper', '오른손 윗글쇠', 1, 1, '오른손 윗글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
@@ -11,33 +11,33 @@ INSERT INTO `app` (`AppID`, `AppName`, `KoreanName`, `AppType`, `Status`, `HowTo
(8, 'practice_korean_right_upper_double', '오른손 쌍모음', 1, 1, '오른손 쌍모음. 왼손 새끼손가락으로\\n쉬프트키를 누르고 오른손 윗글쇠를 누르세요.'),
(9, 'practice_korean_word', '', 1, 1, '한글 단어 입력으로 타자를 연습합니다.'),
(10, 'practice_korean_sentence', '', 1, 1, '한글 문장 입력으로 타자를 연습합니다.'),
-(11, 'practice_english_basic', 'Basic', 2, 1, '왼손 검지를 F 자판위에,\\n오른손 검지를 J 자판위에 올린채\\n손을 움직이지 말고 글자를 입력하세요.'),
+(11, 'practice_english_basic', 'Basic', 2, 1, '왼손 검지를 [F] 자판위에,\\n오른손 검지를 [J] 자판위에 올린채\\n손을 움직이지 말고 글자를 입력하세요.'),
(12, 'practice_english_left_upper', 'Left upper', 2, 1, '왼손 윗글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
(13, 'practice_english_second_finger', 'Second finger', 2, 1, '기본 자리에 손을 두고, 양 손 검지 손가락으로\\n키보드 안쪽의 글쇠를 눌러주세요.'),
(14, 'practice_english_right_upper', 'Right upper', 2, 1, '오른손 윗글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
(15, 'practice_english_left_lower', 'Left lower', 2, 1, '왼손 밑글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
(16, 'practice_english_right_lower', 'Right lower', 2, 1, '오른손 밑글쇠 연습.\\n항상 양 손은 기본 자리 위치에 두고 시작합니다.'),
+(17, 'practice_english_capital', 'Upper, Lower Case', 2, 1, '대문자, 소문자 연습.\\n대문자를 입력할 때에는 반대편 손\\n새끼손가락으로 [shift] 키를 누르세요.'),
(19, 'practice_english_word', '', 2, 1, '영문 단어 입력으로 타자를 연습합니다.'),
(20, 'practice_english_sentence', '', 2, 1, '영문 문장 입력으로 타자를 연습합니다.'),
-(21, 'test_korean_basic', '기본 자리', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(22, 'test_korean_left_upper', '왼손 윗글쇠', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(23, 'test_korean_second_finger', '검지 글쇠', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(24, 'test_korean_right_upper', '오른손 윗글쇠', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(25, 'test_korean_left_lower', '왼손 밑글쇠', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(26, 'test_korean_right_lower', '오른손 밑글쇠', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(27, 'test_korean_left_lower_double', '왼손 쌍자음', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(28, 'test_korean_right_lower_double', '오른손 쌍모음', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(29, 'test_korean_word', '시험 - 단어', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(30, 'test_korean_sentence', '시험 - 문장', 11, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(31, 'test_english_basic', 'Basic', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(32, 'test_english_left_upper', 'Left upper', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(33, 'test_english_second_finger', 'Second finger', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(34, 'test_english_right_upper', 'Right upper', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(35, 'test_english_left_lower', 'Left lower', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(36, 'test_english_right_lower', 'Right lower', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(39, 'test_english_word', 'Word test', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
-(40, 'test_english_sentence', 'Sentence test', 12, 1, '예문을 빨리 입력한 후,\\n엔터 [Enter 또는 Return] 키를 누르세요.'),
+(21, 'test_korean_basic', '기본 자리', 11, 1, ''),
+(22, 'test_korean_left_upper', '왼손 윗글쇠', 11, 1, ''),
+(23, 'test_korean_second_finger', '검지 글쇠', 11, 1, ''),
+(24, 'test_korean_right_upper', '오른손 윗글쇠', 11, 1, ''),
+(25, 'test_korean_left_lower', '왼손 밑글쇠', 11, 1, ''),
+(26, 'test_korean_right_lower', '오른손 밑글쇠', 11, 1, ''),
+(27, 'test_korean_left_lower_double', '왼손 쌍자음', 11, 1, ''),
+(28, 'test_korean_right_lower_double', '오른손 쌍모음', 11, 1, ''),
+(29, 'test_korean_word', '시험 - 단어', 11, 1, '단어를 빠르게 입력하세요.'),
+(30, 'test_korean_sentence', '시험 - 문장', 11, 1, '문장을 빠르게 입력하세요.'),
+(31, 'test_english_basic', 'Basic', 12, 1, ''),
+(32, 'test_english_left_upper', 'Left upper', 12, 1, ''),
+(33, 'test_english_second_finger', 'Second finger', 12, 1, ''),
+(34, 'test_english_right_upper', 'Right upper', 12, 1, ''),
+(35, 'test_english_left_lower', 'Left lower', 12, 1, ''),
+(36, 'test_english_right_lower', 'Right lower', 12, 1, ''),
+(39, 'test_english_word', 'Word test', 12, 1, '단어를 빠르게 입력하세요.'),
+(40, 'test_english_sentence', 'Sentence test', 12, 1, '문장을 빠르게 입력하세요.'),
(50, 'typing_venezia', '베네치아', 50, 0, '물에 잠기지 않도록 잘 준비하세요.'),
(101, 'space_invaders', '외계인 침공', 100, 1, '외계인이 나타났다!\\n마우스 왼쪽 버튼으로\\n외계인을 클릭해서 물리쳐 주세요.'),
(102, 'card_matching', '카드 짝 맞추기', 100, 0, '같은 그림의 카드를 맞춰주세요.');
-