Add: typing test for word, sentence

This commit is contained in:
2018-06-07 11:07:53 +09:00
parent 670d48cbc7
commit 70ce70a148
27 changed files with 2011 additions and 3 deletions
+2 -1
View File
@@ -105,7 +105,8 @@ class MenuApp {
new GameAppButton(
posX, posY, AppButton.TYPE_TYPING_APP,
"icon_fullscreen",
(isKoreanTypingApp ? "(한글)" : "(영문)") + "\n" + app.KoreanName,
// (isKoreanTypingApp ? "(한글)" : "(영문)") + "\n" + app.KoreanName,
app.KoreanName,
() => {
sessionStorageManager.playingAppID = app.AppID;
sessionStorageManager.playingAppName = app.AppName;
-1
View File
@@ -84,7 +84,6 @@ class Loading {
// this.preloadBar.alpha = 1;
if(isDebugMode()) {
sessionStorage
this.state.start('Game');
return;
}
+1 -1
View File
@@ -90,7 +90,7 @@ class Start {
loadHowToPlay(appID) {
this.dbConnectManager.requestHowToPlay(
101, // space_invaders app ID
sessionStorageManager.playingAppID, // space_invaders app ID
(jsonData) => {
let howToPlay = jsonData["HowToPlay"].replace(/\\n/g, "\n");
this.printHowToPlay(howToPlay);
+89
View File
@@ -0,0 +1,89 @@
/////////////////////////////
// Typing Test
class Test {
create() {
this.game.stage.backgroundColor = '#4d4d4d';
sessionStorageManager.isNewBestRecrd = false;
// top
let backButton = new BackButton( () => {
sessionStorageManager.resetPlayingAppData();
location.href = '../../web/client/menu_app.html';
});
let fullscreenButton = new FullscreenButton(this.game);
// waiting room
this.game.add.graphics()
.beginFill(0xffffff, 0.1)
.drawRect(0, 100, game.world.width, 100);
// contents
// bottom
let screenBottom = new ScreenBottom();
screenBottom.makeBottomLine();
screenBottom.printBottomLeftTextWithBestRecord(sessionStorageManager.bestRecord);
screenBottom.printBottomCenterText(sessionStorageManager.playingAppKoreanName);
screenBottom.printBottomRightText(sessionStorageManager.playerName);
this.startGame();
// this.countDown();
}
initListeners() {
}
/*
countDown() {
const style = { font: "bold 200px Arial", fill: "#fff", boundsAlignH: "center", boundsAlignV: "middle" };
this.countDownText = game.add.text(0, 0, "", style);
this.countDownText.setTextBounds(0, 0, game.world.width, game.world.height);
this.countDownText.stroke = "#333";
this.countDownText.strokeThickness = 50;
this.countDownNumber = 3;
if(isDebugMode())
this.countDownNumber = 1;
this.tweenCountDown();
}
tweenCountDown() {
if(this.countDownNumber === 0) {
this.startGame();
return;
}
this.countDownText.text = this.countDownNumber.toString();
this.countDownText.alpha = 1;
let countDownTween = game.add.tween(this.countDownText);
countDownTween.to( { alpha: 0 }, 1000, Phaser.Easing.Linear.None, true);
countDownTween.onComplete.add(this.tweenCountDown, this);
this.countDownNumber--;
}
*/
startGame() {
}
gameOver() {
let gameOverText = new GameOverText();
game.time.events.add(Phaser.Timer.SECOND * 2, this.goResult, this);
}
goResult() {
location.href = '../../web/client/result.html';
}
}
+93
View File
@@ -0,0 +1,93 @@
/////////////////////////////
// Loading
// var x = 32;
// var y = 80;
class Loading {
preload() {
// this.game.load.image('loadingbar', './image/phaser.png');
}
create() {
// let userID = sessionStorage.getItem("UserID");
// console.log("userID : " + userID);
// this.game.stage.backgroundColor = '#4d4d4d';
// // Progress report
// this.textProgress = game.add.text(game.world.centerX, 100, '로딩중 . . .', textStyleBasic);
// this.textProgress.anchor.setTo(0.5, 0.4);
// this.textProgress.setShadow(3, 3, 'rgba(0, 0, 0, 0.5)', 2);
// // Preload bar
// this.preloadBar = this.add.sprite(game.world.centerX, game.world.centerY, 'loadingbar');
// this.preloadBar.anchor.setTo(0.5);
// this.preloadBar.alpha = 0;
this.game.load.onFileComplete.add(this.fileComplete, this);
this.game.load.onLoadComplete.add(this.loadComplete, this);
this.startLoading();
}
startLoading() {
this.game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png');
// this.game.load.image('a', '../../../resources/image/icon/fullscreen_white.png');
// this.game.load.image('b', '../../../resources/image/icon/fullscreen_white.png');
// this.game.load.image('c', '../../../resources/image/icon/fullscreen_white.png');
// this.game.load.image('d', '../../../resources/image/icon/fullscreen_white.png');
// this.game.load.image('a', './image/phaser.png');
// this.game.load.image('b', './image/phaser.png');
// this.game.load.image('c', './image/phaser.png');
// this.game.load.image('d', './image/phaser.png');
// this.game.load.image('e', './image/phaser.png');
// this.game.load.image('g', './image/phaser.png');
// this.game.load.image('e', './image/phaser.png');
// this.game.load.image('f', './image/phaser.png');
// this.game.load.image('g', './image/phaser.png');
// this.game.load.image('h', './image/phaser.png');
// this.game.load.image('phaser', './image/phaser.png');
// this.game.load.spritesheet('button', './image/button_basic.png', 200, 100);
// this.game.load.image('star', './image/star_particle.png');
// this.game.load.image('medal_gold', './image/medal_gold.png');
// this.game.load.image('medal_silver', './image/medal_silver.png');
// this.game.load.image('medal_bronze', './image/medal_bronze.png');
this.game.load.start();
}
fileComplete(progress, cacheKey, success, totalLoaded, totalFiles) {
// this.preloadBar.alpha = progress / 100;
// console.log('progress : ' + progress);
// text.setText("File Complete: " + progress + "% - " + totalLoaded + " out of " + totalFiles);
// var newImage = game.add.image(x, y, cacheKey);
// newImage.scale.set(0.3);
// x += newImage.width + 20;
// if (x > 700)
// {
// x = 32;
// y += 332;
// }
}
loadComplete(progress, cacheKey, success, totalLoaded, totalFiles) {
// this.preloadBar.alpha = 1;
if(isDebugMode()) {
this.state.start('Test');
return;
}
this.state.start('Test');
// this.startMenu();
// this.startTypingTestStage();
// this.startTypingTestResult();
}
}
+16
View File
@@ -0,0 +1,16 @@
/////////////////////////////
// Main game
const CONTENT_ID = "Typing Test";
let game = new Phaser.Game(
GAME_SCREEN_SIZE.x, GAME_SCREEN_SIZE.y,
Phaser.CANVAS, CONTENT_ID,
this, false, false
);
game.state.add('Loading', Loading);
game.state.start('Loading');
game.state.add('Test', Test);
// game.state.add('Menu', Menu);
@@ -0,0 +1,16 @@
var englishBasicWordList = [
"ask",
"flask",
"sad",
"fall",
"add",
"all",
"alaska",
"salad",
"dash",
"sag",
"lash",
"has",
"dad",
"falls"
];
@@ -0,0 +1,48 @@
var englishLeftLowerWordList = [
"touch",
"xray",
"express",
"clothes",
"direction",
"believe",
"officer",
"collect",
"lock",
"icon",
"favorite",
"uncle",
"science",
"cap",
"carry",
"survive",
"space",
"sentence",
"pick",
"track",
"scratch",
"trick",
"puzzle",
"box",
"practice",
"zebra",
"back",
"clever",
"price",
"entrance",
"suitcase",
"view",
"cow",
"cookie",
"cloudy",
"survival",
"vacation",
"choose",
"cash",
"hack",
"nickel",
"fact",
"especially",
"over",
"iceskate",
"excite"
];
@@ -0,0 +1,34 @@
var englishLeftUpperWordList = [
"feed",
"sake",
"draw",
"jewel",
"sell",
"lease",
"lake",
"fade",
"reader",
"jar",
"few",
"weak",
"feel",
"fake",
"dark",
"deaf",
"desk",
"free",
"lead",
"walker",
"deal",
"jaw",
"fear",
"ear",
"address",
"area",
"leak",
"leaf",
"award",
"fare",
"sea",
"war"
];
@@ -0,0 +1,46 @@
var englishRightLowerWordList = [
"illness",
"decision",
"basement",
"print",
"engage",
"violin",
"upon",
"computer",
"camp",
"pen",
"simple",
"smart",
"narrow",
"sand",
"xylophone",
"learn",
"parent",
"term",
"husband",
"classmate",
"number",
"match",
"turn",
"hometown",
"climb",
"join",
"jean",
"measure",
"advance",
"movie",
"mark",
"enough",
"meal",
"kitchen",
"front",
"fence",
"contest",
"complete",
"piano",
"guidance",
"event",
"farmer",
"olympic",
"everyone"
];
@@ -0,0 +1,38 @@
var englishLeftUpperWordList = [
"port",
"upside",
"kid",
"purpose",
"power",
"sound",
"line",
"low",
"write",
"rain",
"follow",
"flood",
"airport",
"open",
"plan",
"person",
"though",
"artist",
"quiet",
"paper",
"hit",
"print",
"window",
"dish",
"fight",
"straight",
"often",
"pants",
"die",
"pull",
"both",
"sign",
"sing",
"nobody",
"hero",
"giraffe"
];
@@ -0,0 +1,40 @@
var englishSecondFingerWordList = [
"healthy",
"attent",
"bar",
"stare",
"test",
"bay",
"baseball",
"age",
"hear",
"eager",
"data",
"kart",
"eye",
"gas",
"taste",
"warn",
"shall",
"fresh",
"bread",
"fly",
"egg",
"hate",
"fat",
"bet",
"after",
"grade",
"ready",
"news",
"yes",
"set",
"letter",
"hard",
"head",
"great",
"send",
"baby",
"leg",
"whether"
];
@@ -0,0 +1,58 @@
var englishSentenceList = [
"A beacon does not shine on its base.",
"A bad workman quarrels with his tools.",
"A bargain is a bargain.",
"A barking dog never bites.",
"A barking dog was never a good hunter.",
"A man is known by the company he keeps.",
"A cornered stone meets the mason's chisel.",
"A leopard cannot change his spots.",
"An untoward boy may make a good man.",
"Beginning is half done.",
"Beware of the wolf in sheep's clothing.",
"Blood will have blood.",
"Bad news travels quickly.",
"Courtesy costs nothing.",
"Extremes meet.",
"Empty vessels make the most sound.",
"Example is better than precept.",
"Eagles don't catch flies.",
"Experience is better than learning.",
"He that will steal a pin will steal an ox.",
"Half a loaf is better then no bread.",
"Hunger is the best sauce.",
"It's the nature of water to run downhill.",
"Ignorance is bliss.",
"Ignorance is medicine.",
"Knowledge brings calamity.",
"Live as if you were to die tomorrow.",
"Like father, like son.",
"Music is the medicine of a troubled mind.",
"No pain No gain.",
"No tides wait person.",
"No house without a mouse.",
"No rule without exception.",
"Nobody's perfect.",
"Negligence is a crime.",
"Nothing is impossible to a willing heart.",
"Never put off till tomorrow what you can do today.",
"Never shoot, never hit.",
"Never judge by appearance.",
"Of a compliment only a third is meant.",
"Over shoes, over boots.",
"Our ideals are our better selves.",
"People who make no noise are dangerous.",
"Profit is better than fame.",
"Promise little, do much.",
"Rome was not built in a day.",
"Reason rules all things.",
"Sense comes with age.",
"Times change, and we change with them.",
"The world is a wheel.",
"The dead are soon forgotten.",
"The first property is the health.",
"The man of your own trade is your enemy.",
"The bait hides the hook.",
"What's done cannot be undone.",
"You can not make bricks without straw."
];
+212
View File
@@ -0,0 +1,212 @@
var englishWordList = [
"ask",
"flask",
"sad",
"fall",
"add",
"all",
"alaska",
"salad",
"dash",
"sag",
"lash",
"has",
"dad",
"falls",
"feed",
"sake",
"draw",
"jewel",
"sell",
"lease",
"lake",
"fade",
"reader",
"jar",
"few",
"weak",
"feel",
"fake",
"dark",
"deaf",
"desk",
"free",
"lead",
"walker",
"deal",
"jaw",
"fear",
"ear",
"address",
"area",
"leak",
"leaf",
"award",
"fare",
"sea",
"war",
"healthy",
"attent",
"bar",
"stare",
"test",
"bay",
"baseball",
"age",
"hear",
"eager",
"data",
"kart",
"eye",
"gas",
"taste",
"warn",
"shall",
"fresh",
"bread",
"fly",
"egg",
"hate",
"fat",
"bet",
"after",
"grade",
"ready",
"news",
"yes",
"set",
"letter",
"hard",
"head",
"great",
"send",
"baby",
"leg",
"whether",
"port",
"upside",
"kid",
"purpose",
"power",
"sound",
"line",
"low",
"write",
"rain",
"follow",
"flood",
"airport",
"open",
"plan",
"person",
"though",
"artist",
"quiet",
"paper",
"hit",
"print",
"window",
"dish",
"fight",
"straight",
"often",
"pants",
"die",
"pull",
"both",
"sign",
"sing",
"nobody",
"hero",
"giraffe",
"touch",
"xray",
"express",
"clothes",
"direction",
"believe",
"officer",
"collect",
"lock",
"icon",
"favorite",
"uncle",
"science",
"cap",
"carry",
"survive",
"space",
"sentence",
"pick",
"track",
"scratch",
"trick",
"puzzle",
"box",
"practice",
"zebra",
"back",
"clever",
"price",
"entrance",
"suitcase",
"view",
"cow",
"cookie",
"cloudy",
"survival",
"vacation",
"choose",
"cash",
"hack",
"nickel",
"fact",
"especially",
"over",
"iceskate",
"excite",
"illness",
"decision",
"basement",
"print",
"engage",
"violin",
"upon",
"computer",
"camp",
"pen",
"simple",
"smart",
"narrow",
"sand",
"xylophone",
"learn",
"parent",
"term",
"husband",
"classmate",
"number",
"match",
"turn",
"hometown",
"climb",
"join",
"jean",
"measure",
"advance",
"movie",
"mark",
"enough",
"meal",
"kitchen",
"front",
"fence",
"contest",
"complete",
"piano",
"guidance",
"event",
"farmer",
"olympic",
"everyone"
];
+42
View File
@@ -0,0 +1,42 @@
var koreanBasicWordList = [
"나날",
"나날이",
"나라",
"나리",
"나이",
"날림",
"너머",
"널리",
"마나님",
"마님",
"만남",
"말머리",
"망나니",
"머나먼",
"머리",
"멀미",
"멍멍",
"미나리",
"미리",
"아랑",
"아리랑",
"안마",
"안오니",
"알아",
"알알이",
"어린이",
"어머나",
"어머니",
"얼마",
"얼마나",
"엄마",
"엉망",
"오니",
"오라",
"오리",
"올림",
"이나마",
"이날",
"이랑",
"이만"
];
@@ -0,0 +1,81 @@
var koreanLeftLowerWordList = [
"개펄",
"거칠다",
"겹치다",
"귀밑머리",
"놀이터",
"높다랗다",
"다투다",
"덮개",
"덮치다",
"동냥아치",
"라틴",
"마찬가지",
"망치다",
"받침",
"밭일",
"북새통",
"상투",
"샘터",
"온통",
"장사치",
"저같이",
"저울추",
"제쳐놓다",
"조카",
"좋다",
"지치다",
"지켜보다",
"지피다",
"차갑다",
"차량",
"차압",
"차후",
"착용하다",
"찬미",
"참되다",
"책임",
"척척",
"첫마디",
"치받다",
"캥거루",
"커녕",
"켜다",
"코피",
"타고나다",
"타래",
"탁류",
"탄광",
"탄산",
"탐구",
"태고",
"태반",
"태조",
"태평성대",
"텁석부리",
"텔레비전",
"토벌대",
"통과",
"통신판매",
"투기열",
"투영",
"파격",
"파내다",
"파리",
"파면",
"팔다",
"패각",
"팬더",
"포물선",
"폭우",
"표구",
"품사",
"품위",
"품행",
"피우다",
"하품",
"할퀴다",
"핥아먹다",
"허투루",
"헤치다"
];
@@ -0,0 +1,79 @@
var koreanLeftUpperWordList = [
"가라앉다",
"가락",
"가리다",
"가마",
"갈다",
"갈림길",
"갑자기",
"강가",
"거리",
"거미",
"걷다",
"걷잡다",
"걸다",
"기다리다",
"기반",
"기자",
"기장",
"길다",
"길이",
"길잡이",
"김장",
"나다니다",
"나비",
"날다",
"남달리",
"다달이",
"다림질",
"다지다",
"닫다",
"달가닥",
"달다",
"달리다",
"더럭",
"더미",
"디딜방아",
"마디",
"막바지",
"만지다",
"망아지",
"맞먹다",
"먼지",
"바람",
"반말",
"밝다",
"버리다",
"버리다",
"벌어지다",
"비기다",
"빈말",
"빚다",
"어기다",
"어기다",
"얻어맞다",
"이럭저럭",
"이바지",
"익다",
"인간",
"일자리",
"자기",
"자라다",
"자리잡다",
"잔디",
"잘라먹다",
"잘리다",
"잠자다",
"장기",
"장난감",
"저리다",
"적이",
"정어리",
"젖니",
"지다",
"지반",
"진저리",
"질기다",
"질질",
"짊어지다"
];
@@ -0,0 +1,44 @@
var koreanLeftUpperDoubleWordList = [
"쌍둥이",
"꼽다",
"빠르다",
"뽑다",
"뿌리다",
"째째하다",
"째다",
"땅벌",
"떡볶이",
"볶다",
"볶음밥",
"꼼수",
"아깝다",
"싸다",
"쌓다",
"싸우다",
"싸움",
"썰다",
"썰매",
"빻다",
"빨대",
"뿌리다",
"빼다",
"뺑덕어멍",
"빼어나다",
"예쁘다",
"가짜",
"혼쭐나다",
"따라쟁이",
"똑같이",
"뚫다",
"가꾸다",
"꾸미다",
"돼지꿈",
"용꿈",
"임꺽정",
"꺽쇠",
"꿀벌",
"꿀맛",
"끝나다",
"끝맺음",
"쌍끌이"
];
@@ -0,0 +1,82 @@
var koreanRightLowerWordList = [
"가누다",
"가을걷이",
"감투",
"거스르다",
"거울",
"거죽",
"걸음마",
"고르다",
"구름",
"구부리다",
"구석지다",
"그다지",
"그만하다",
"기둥",
"나무라다",
"녹두",
"누리",
"능동태",
"더불어",
"도둑",
"도움",
"독특하다",
"두려움",
"뒹굴다",
"마을일",
"마중",
"말굽",
"맞장구",
"매부리코",
"매우",
"모으다",
"무덤",
"무르녹다",
"무르다",
"물감",
"물레",
"미루다",
"바야흐로",
"방그레",
"보금자리",
"부피",
"빙그레",
"수수하다",
"실핏줄",
"싱글싱글",
"아우성",
"아프다",
"어름",
"어이구",
"얼음",
"여물다",
"여우",
"울부짖다",
"웅크리다",
"자루",
"저물다",
"절구",
"졸음",
"주름",
"지글지글",
"추위",
"축축하다",
"취나물",
"치우치다",
"큰아버지",
"키우다",
"투영",
"튀다",
"특허품",
"튼튼하다",
"틈틈이",
"틔우다",
"퍼붓다",
"포도주",
"폭우",
"푸르다",
"풍뎅이",
"하루갈이",
"한들한들",
"할퀴다"
];
@@ -0,0 +1,74 @@
var koreanRightUpperWordList = [
"가라사대",
"강강술래",
"개구리",
"거세다",
"겨냥",
"겨울",
"고래",
"내각",
"내기",
"내다보다",
"내리다",
"내밀다",
"냉담",
"냉수",
"네모",
"노래",
"대낮",
"레이다",
"막내",
"막대기",
"매기다",
"매이다",
"매정하다",
"맨주먹",
"멋쟁이",
"메다",
"무게",
"무지개",
"물레",
"물벼락",
"뭉개다",
"미역",
"바래다",
"벌레",
"벼락",
"보릿고개",
"부려먹다",
"사용하다",
"새김질",
"설레다",
"세간",
"세간",
"신세",
"애매하다",
"얄밉다",
"얇다",
"에누리",
"여우",
"역성",
"연장",
"염소",
"영문",
"오래오래",
"옹달샘",
"옹달샘",
"잠결",
"재갈",
"재미",
"잿더미",
"제발",
"제법",
"제일",
"족제비",
"지새우다",
"지어내다",
"지우개",
"진달래",
"집게",
"햇살",
"헤어지다",
"헤어지다",
"횃불"
];
@@ -0,0 +1,57 @@
var koreanRightUpperDoubleWordList = [
"얘기",
"예사롭다",
"옛스럽다",
"옛날",
"그옛날",
"먼옛날",
"옛날이야기",
"옛부터",
"혜안",
"지혜",
"폐하",
"예리하다",
"예상",
"예물",
"신예",
"노예",
"한옛날",
"옛날옛적",
"은혜",
"명예",
"기예",
"예시",
"예제",
"예비",
"예금",
"예금적금",
"예산",
"예산결산",
"예선",
"예선결선",
"예비군",
"공예",
"수공예",
"목공예",
"철공예",
"예술",
"예순",
"민속공예",
"조각공예",
"전통공예",
"예방",
"예방주사",
"양계장",
"은하계",
"태양계",
"생태계",
"속도계",
"풍향계",
"삼계탕",
"주유계",
"계절",
"사계절",
"결계",
"월계관",
"월계수"
];
@@ -0,0 +1,84 @@
var koreanSecondFingerWordList = [
"가노라",
"가랑눈",
"가루",
"갈무리",
"거누다",
"거문고",
"거짓말",
"검불",
"고구마",
"곤하다",
"곪다",
"굴비",
"나누다",
"나란하다",
"나비리본",
"노다지",
"녹두",
"누이",
"눈길",
"눈물",
"눈물짓다",
"더구나",
"도미",
"두둑",
"로마",
"마무리",
"멍하다",
"모기",
"모닥불",
"목도리",
"목소리",
"몽둥이",
"무겁다",
"무던하다",
"물길",
"바구니",
"발목",
"발벗다",
"방아쇠",
"볼기",
"비로소",
"비우다",
"소리",
"솔바람",
"수다",
"쉬다",
"시집가다",
"싣다",
"악물다",
"어둡다",
"얹히다",
"엄두",
"엇갈리다",
"오리다",
"옮기다",
"우거지다",
"우짖다",
"웅덩이",
"일러두기",
"자루",
"자주",
"잔소리",
"저울질",
"전나무",
"젖히다",
"족족",
"종아리",
"죄다",
"죄악",
"주리다",
"주머니",
"줄거리",
"줄자",
"지우다",
"짓다",
"한가위",
"함부로",
"허덕이다",
"호리호리",
"혼잣말",
"홀몸",
"흉보다"
];
@@ -0,0 +1,90 @@
var koreanSentenceList = [
"가는 말이 고와야 오는 말도 곱다",
"가랑비에 옷 젖는줄 모른다",
"가만히 있으면 중간이나 간다",
"가지 많은 나무에 바람 잘 날 없다",
"간에 붙었다 쓸개에 붙는다",
"같은 값이면 다홍치마",
"개구리 올챙이 시절 모른다",
"개 같이 벌어서 정승같이 산다",
"개똥도 약에 쓰려면 없다",
"개똥밭에 굴러도 이승이 좋다",
"계란으로 바위치기",
"고양이 목에 방울 달기",
"공든 탑이 무너지랴",
"구더기 무서워서 장 못 담그랴",
"구르는 돌에는 이끼가 끼지 않는다",
"구슬이 서 말이라도 꿰어야 보배",
"굴러 온 돌이 박힌 돌 뺀다",
"길이 아니면 가지 말고 말이 아니면 듣지 말라",
"까마귀 날자 배 떨어진다",
"낮 말은 새가 듣고 밤 말은 쥐가 듣는다",
"늦게 배운 도둑질이 날 새는 줄 모른다",
"다람쥐 쳇바퀴 돌리듯",
"달면 삼키고 쓰면 뱉는다",
"닭 잡아먹고 오리발 내민다",
"닭 쫓던 개 지붕 쳐다본다",
"도둑을 맞으려면 개도 안 짖는다",
"도둑이 제 발 저린다",
"돌다리도 두들겨 보고 건너라",
"떡 줄 사람은 생각도 않는데 김칫국부터 마신다",
"똥 묻은 개가 겨 묻은 개 나무란다",
"똥이 무서워서 피하나 더러워서 피하지",
"뛰는 놈 위에 나는 놈 있다",
"말 한마디에 천냥 빚을 갚는다",
"못된 송아지 엉덩이에 뿔난다",
"못 먹는 감 찔러나 본다",
"미꾸라지 한 마리가 온 웅덩이를 흐린다",
"믿는 도끼에 발등 찍히다",
"밑 빠진 독에 물 붓기",
"바늘 도둑이 소 도둑 된다",
"방귀 뀐 놈이 성낸다",
"백지장도 맞들면 낫다",
"뱁새가 황새 따라가면 다리가 찢어진다",
"번데기 앞에서 주름잡기",
"부뚜막의 소금도 집어 넣아야 짜다",
"비온 뒤 땅이 굳는다",
"빈 수레가 더 요란하다",
"빈대 잡다 초가삼간 태운다",
"사공이 많으면 배가 산으로 간다",
"서당개 삼년이면 풍월을 읊는다",
"세 살 버릇 여든까지 간다",
"소 잃고 외양간 고친다",
"소 뒷걸음질 치다 쥐 잡기",
"소문 난 잔치 먹을 것 없다",
"손바닥도 마주쳐야 소리가 난다",
"신선놀음에 도끼자루 썩는 줄 모른다",
"십년이면 강산도 변한다",
"아랫돌 빼서 윗돌 괴기",
"얌전한 고양이 부뚜막에 먼저 오른다",
"안 되는 놈은 뒤로 자빠져도 코가 깨진다",
"어물전 망신은 꼴뚜기가 시킨다",
"열길 물 속은 알아도 한길 사람 속은 모른다",
"열 번 찍어 안 넘어가는 나무 없다",
"오르지 못할 나무는 쳐다보지도 말라",
"오얏나무 아래에서 갓을 고쳐 쓰지 마라",
"원수는 외나무 다리에서 만난다",
"원숭이도 나무에서 떨어진다",
"윗 물이 맑아야 아랫물도 맑다",
"자라 보고 놀란 가슴 솥뚜껑 보고 놀란다",
"자랄 나무는 떡잎부터 알아본다",
"잘 되면 제 탓이요 못 되면 조상 탓이라",
"쥐구멍에도 볕 들 날 있다",
"지렁이도 밟으면 꿈틀한다",
"천리길도 한 걸음부터",
"칼로써 흥한자 칼로써 망한다",
"콩으로 메주를 쑨다 하여도 곧이듣지 않는다",
"콩 심은 데 콩 나고 팥 심은 데 팥 난다",
"털어서 먼지 안 나는 사람 없다",
"팔은 안으로 굽는다",
"피는 물보다 진하다",
"하늘이 무너저도 솟아날 구멍은 있다",
"하룻강아지 범 무서운줄 모른다",
"호랑이도 제 말 하면 온다",
"호랑이에게 물려가도 정신만 차리면 살 수 있다",
"호랑이를 잡으려면 호랑이굴로 가야 한다",
"호미로 막을걸 가래로 막는다",
"호박에 줄 긋는다고 수박되나",
"혹 때러 갔다 혹 붙이고 온다",
"흥정은 붙이고 싸움은 말리랬다"
];
+529
View File
@@ -0,0 +1,529 @@
var koreanWordList = [
"나날",
"나날이",
"나라",
"나리",
"나이",
"날림",
"너머",
"널리",
"마나님",
"마님",
"만남",
"말머리",
"망나니",
"머나먼",
"머리",
"멀미",
"멍멍",
"미나리",
"미리",
"아랑",
"아리랑",
"안마",
"안오니",
"알아",
"알알이",
"어린이",
"어머나",
"어머니",
"얼마",
"얼마나",
"엄마",
"엉망",
"오니",
"오라",
"오리",
"올림",
"이나마",
"이날",
"이랑",
"이만",
"개펄",
"거칠다",
"겹치다",
"귀밑머리",
"놀이터",
"높다랗다",
"다투다",
"덮개",
"덮치다",
"동냥아치",
"라틴",
"마찬가지",
"망치다",
"받침",
"밭일",
"북새통",
"상투",
"샘터",
"온통",
"장사치",
"저같이",
"저울추",
"제쳐놓다",
"조카",
"좋다",
"지치다",
"지켜보다",
"지피다",
"차갑다",
"차량",
"차압",
"차후",
"착용하다",
"찬미",
"참되다",
"책임",
"척척",
"첫마디",
"치받다",
"캥거루",
"커녕",
"켜다",
"코피",
"타고나다",
"타래",
"탁류",
"탄광",
"탄산",
"탐구",
"태고",
"태반",
"태조",
"태평성대",
"텁석부리",
"텔레비전",
"토벌대",
"통과",
"통신판매",
"투기열",
"투영",
"파격",
"파내다",
"파리",
"파면",
"팔다",
"패각",
"팬더",
"포물선",
"폭우",
"표구",
"품사",
"품위",
"품행",
"피우다",
"하품",
"할퀴다",
"핥아먹다",
"허투루",
"헤치다",
"쌍둥이",
"꼽다",
"빠르다",
"뽑다",
"뿌리다",
"째째하다",
"째다",
"땅벌",
"떡볶이",
"볶다",
"볶음밥",
"꼼수",
"아깝다",
"싸다",
"쌓다",
"싸우다",
"싸움",
"썰다",
"썰매",
"빻다",
"빨대",
"뿌리다",
"빼다",
"뺑덕어멍",
"빼어나다",
"예쁘다",
"가짜",
"혼쭐나다",
"따라쟁이",
"똑같이",
"뚫다",
"가꾸다",
"꾸미다",
"돼지꿈",
"용꿈",
"임꺽정",
"꺽쇠",
"꿀벌",
"꿀맛",
"끝나다",
"끝맺음",
"쌍끌이",
"가라앉다",
"가락",
"가리다",
"가마",
"갈다",
"갈림길",
"갑자기",
"강가",
"거리",
"거미",
"걷다",
"걷잡다",
"걸다",
"기다리다",
"기반",
"기자",
"기장",
"길다",
"길이",
"길잡이",
"김장",
"나다니다",
"나비",
"날다",
"남달리",
"다달이",
"다림질",
"다지다",
"닫다",
"달가닥",
"달다",
"달리다",
"더럭",
"더미",
"디딜방아",
"마디",
"막바지",
"만지다",
"망아지",
"맞먹다",
"먼지",
"바람",
"반말",
"밝다",
"버리다",
"버리다",
"벌어지다",
"비기다",
"빈말",
"빚다",
"어기다",
"어기다",
"얻어맞다",
"이럭저럭",
"이바지",
"익다",
"인간",
"일자리",
"자기",
"자라다",
"자리잡다",
"잔디",
"잘라먹다",
"잘리다",
"잠자다",
"장기",
"장난감",
"저리다",
"적이",
"정어리",
"젖니",
"지다",
"지반",
"진저리",
"질기다",
"질질",
"짊어지다",
"가누다",
"가을걷이",
"감투",
"거스르다",
"거울",
"거죽",
"걸음마",
"고르다",
"구름",
"구부리다",
"구석지다",
"그다지",
"그만하다",
"기둥",
"나무라다",
"녹두",
"누리",
"능동태",
"더불어",
"도둑",
"도움",
"독특하다",
"두려움",
"뒹굴다",
"마을일",
"마중",
"말굽",
"맞장구",
"매부리코",
"매우",
"모으다",
"무덤",
"무르녹다",
"무르다",
"물감",
"물레",
"미루다",
"바야흐로",
"방그레",
"보금자리",
"부피",
"빙그레",
"수수하다",
"실핏줄",
"싱글싱글",
"아우성",
"아프다",
"어름",
"어이구",
"얼음",
"여물다",
"여우",
"울부짖다",
"웅크리다",
"자루",
"저물다",
"절구",
"졸음",
"주름",
"지글지글",
"추위",
"축축하다",
"취나물",
"치우치다",
"큰아버지",
"키우다",
"투영",
"튀다",
"특허품",
"튼튼하다",
"틈틈이",
"틔우다",
"퍼붓다",
"포도주",
"폭우",
"푸르다",
"풍뎅이",
"하루갈이",
"한들한들",
"할퀴다",
"얘기",
"예사롭다",
"옛스럽다",
"옛날",
"그옛날",
"먼옛날",
"옛날이야기",
"옛부터",
"혜안",
"지혜",
"폐하",
"예리하다",
"예상",
"예물",
"신예",
"노예",
"한옛날",
"옛날옛적",
"은혜",
"명예",
"기예",
"예시",
"예제",
"예비",
"예금",
"예금적금",
"예산",
"예산결산",
"예선",
"예선결선",
"예비군",
"공예",
"수공예",
"목공예",
"철공예",
"예술",
"예순",
"민속공예",
"조각공예",
"전통공예",
"예방",
"예방주사",
"양계장",
"은하계",
"태양계",
"생태계",
"속도계",
"풍향계",
"삼계탕",
"주유계",
"계절",
"사계절",
"결계",
"월계관",
"월계수",
"가라사대",
"강강술래",
"개구리",
"거세다",
"겨냥",
"겨울",
"고래",
"내각",
"내기",
"내다보다",
"내리다",
"내밀다",
"냉담",
"냉수",
"네모",
"노래",
"대낮",
"레이다",
"막내",
"막대기",
"매기다",
"매이다",
"매정하다",
"맨주먹",
"멋쟁이",
"메다",
"무게",
"무지개",
"물레",
"물벼락",
"뭉개다",
"미역",
"바래다",
"벌레",
"벼락",
"보릿고개",
"부려먹다",
"사용하다",
"새김질",
"설레다",
"세간",
"세간",
"신세",
"애매하다",
"얄밉다",
"얇다",
"에누리",
"여우",
"역성",
"연장",
"염소",
"영문",
"오래오래",
"옹달샘",
"옹달샘",
"잠결",
"재갈",
"재미",
"잿더미",
"제발",
"제법",
"제일",
"족제비",
"지새우다",
"지어내다",
"지우개",
"진달래",
"집게",
"햇살",
"헤어지다",
"헤어지다",
"횃불",
"가노라",
"가랑눈",
"가루",
"갈무리",
"거누다",
"거문고",
"거짓말",
"검불",
"고구마",
"곤하다",
"곪다",
"굴비",
"나누다",
"나란하다",
"나비리본",
"노다지",
"녹두",
"누이",
"눈길",
"눈물",
"눈물짓다",
"더구나",
"도미",
"두둑",
"로마",
"마무리",
"멍하다",
"모기",
"모닥불",
"목도리",
"목소리",
"몽둥이",
"무겁다",
"무던하다",
"물길",
"바구니",
"발목",
"발벗다",
"방아쇠",
"볼기",
"비로소",
"비우다",
"소리",
"솔바람",
"수다",
"쉬다",
"시집가다",
"싣다",
"악물다",
"어둡다",
"얹히다",
"엄두",
"엇갈리다",
"오리다",
"옮기다",
"우거지다",
"우짖다",
"웅덩이",
"일러두기",
"자루",
"자주",
"잔소리",
"저울질",
"전나무",
"젖히다",
"족족",
"종아리",
"죄다",
"죄악",
"주리다",
"주머니",
"줄거리",
"줄자",
"지우다",
"짓다",
"한가위",
"함부로",
"허덕이다",
"호리호리",
"혼잣말",
"홀몸",
"흉보다"
];
+78
View File
@@ -0,0 +1,78 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Typing Test</title>
<!-- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> -->
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.6.2/phaser.js"></script> -->
<script src="../../../resources/js/phaser.min.js"></script>
<!-- global source files -->
<script src="../../game/lib/session_storage_manager.js"></script>
<script src="../../game/lib/score_manager.js"></script>
<script src="../../game/lib/heart_manager.js"></script>
<script src="../../game/global/global_variables.js"></script>
<!-- library source files -->
<script src="../../game/lib/string_util.js"></script>
<script src="../../game/lib/number_util.js"></script>
<script src="../../game/lib/history_record_manager.js"></script>
<script src="../../game/lib/input_type_text.js"></script>
<script src="../../game/lib/round_rect_button.js"></script>
<script src="../../game/lib/back_button.js"></script>
<script src="../../game/lib/fullscreen_button.js"></script>
<script src="../../game/lib/db_connect_manager.js"></script>
<script src="../../game/lib/screen_bottom.js"></script>
<script src="../../game/lib/game_over_text.js"></script>
<!-- Space Invaders : source files -->
<!--
<script src="../../game/typing/word_list/korean_basic.js"></script>
<script src="../../game/typing/word_list/korean_left_upper.js"></script>
<script src="../../game/typing/word_list/korean_second_finger.js"></script>
<script src="../../game/typing/word_list/korean_right_upper.js"></script>
<script src="../../game/typing/word_list/korean_left_lower.js"></script>
<script src="../../game/typing/word_list/korean_right_lower.js"></script>
<script src="../../game/typing/word_list/korean_left_upper_double.js"></script>
<script src="../../game/typing/word_list/korean_right_upper_double.js"></script>
-->
<script src="../../game/typing/word_list/korean_word.js"></script>
<script src="../../game/typing/word_list/korean_sentence.js"></script>
<!--
<script src="../../game/typing/word_list/english_basic.js"></script>
<script src="../../game/typing/word_list/english_left_lower.js"></script>
<script src="../../game/typing/word_list/english_left_upper.js"></script>
<script src="../../game/typing/word_list/english_right_lower.js"></script>
<script src="../../game/typing/word_list/english_right_upper.js"></script>
<script src="../../game/typing/word_list/english_second_finger.js"></script>
-->
<script src="../../game/typing/word_list/english_sentence.js"></script>
<script src="../../game/typing/word_list/english_word.js"></script>
<!-- Space Invaders : source files -->
<script src="../../game/typing/test/define_variables.js"></script>
<script src="../../game/typing/test/loading.js"></script>
<script src="../../game/typing/test/game.js"></script>
<script src="../../game/typing/test/main.js"></script>
<style>
body{
padding: 0;
margin: 0;
}
canvas{
margin: 0 auto;
}
</style>
</head>
<body>
<div id="Typing Test" style="text-align:center;" />
</body>
</html>
+78
View File
@@ -0,0 +1,78 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Typing Test</title>
<!-- <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> -->
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.6.2/phaser.js"></script> -->
<script src="../../../resources/js/phaser.min.js"></script>
<!-- global source files -->
<script src="../../game/lib/session_storage_manager.js"></script>
<script src="../../game/lib/score_manager.js"></script>
<script src="../../game/lib/heart_manager.js"></script>
<script src="../../game/global/global_variables.js"></script>
<!-- library source files -->
<script src="../../game/lib/string_util.js"></script>
<script src="../../game/lib/number_util.js"></script>
<script src="../../game/lib/history_record_manager.js"></script>
<script src="../../game/lib/input_type_text.js"></script>
<script src="../../game/lib/round_rect_button.js"></script>
<script src="../../game/lib/back_button.js"></script>
<script src="../../game/lib/fullscreen_button.js"></script>
<script src="../../game/lib/db_connect_manager.js"></script>
<script src="../../game/lib/screen_bottom.js"></script>
<script src="../../game/lib/game_over_text.js"></script>
<!-- Space Invaders : source files -->
<!--
<script src="../../game/typing/word_list/korean_basic.js"></script>
<script src="../../game/typing/word_list/korean_left_upper.js"></script>
<script src="../../game/typing/word_list/korean_second_finger.js"></script>
<script src="../../game/typing/word_list/korean_right_upper.js"></script>
<script src="../../game/typing/word_list/korean_left_lower.js"></script>
<script src="../../game/typing/word_list/korean_right_lower.js"></script>
<script src="../../game/typing/word_list/korean_left_upper_double.js"></script>
<script src="../../game/typing/word_list/korean_right_upper_double.js"></script>
-->
<script src="../../game/typing/word_list/korean_word.js"></script>
<script src="../../game/typing/word_list/korean_sentence.js"></script>
<!--
<script src="../../game/typing/word_list/english_basic.js"></script>
<script src="../../game/typing/word_list/english_left_lower.js"></script>
<script src="../../game/typing/word_list/english_left_upper.js"></script>
<script src="../../game/typing/word_list/english_right_lower.js"></script>
<script src="../../game/typing/word_list/english_right_upper.js"></script>
<script src="../../game/typing/word_list/english_second_finger.js"></script>
-->
<script src="../../game/typing/word_list/english_sentence.js"></script>
<script src="../../game/typing/word_list/english_word.js"></script>
<!-- Space Invaders : source files -->
<script src="../../game/typing/test/define_variables.js"></script>
<script src="../../game/typing/test/loading.js"></script>
<script src="../../game/typing/test/game.js"></script>
<script src="../../game/typing/test/main.js"></script>
<style>
body{
padding: 0;
margin: 0;
}
canvas{
margin: 0 auto;
}
</style>
</head>
<body>
<div id="Typing Test" style="text-align:center;" />
</body>
</html>