Verdant Frontier
초록빛 개척지
VOCABULARIA
PLAY · BATTLE · MASTER VOCABULARY
중독성 있는 영단어 암기 RPG
Warrior
WARRIORVOCABULARY
Ranger
RANGERGRAMMAR
Mage
MAGESENTENCE
VERSION 1.9.127
뉴우주NEWOOJU · DEVELOPER
STEP 1 · CHOOSE YOUR HERO
먼저 캐릭터를 선택하세요
새 게임은 캐릭터를 먼저 고른 뒤 영어 레벨을 선택합니다 — 워리어: 어휘 · 아처: 문법 · 메이지: 문장 배열.
2. English Level · 필수 선택
Lv.1–3 BEGINNER · Lv.4–6 INTERMEDIATE · Lv.7–9 EXPERT · Lv.10 GOD
숙어·구동사는 Lv.10에만 나오고, Lv.10 보스는 영영사전 문제로 싸웁니다
1. HERO · 영웅 선택
Melee · Heavy Combo
Warrior
묵직한 대검 돌진과 강한 피니시.
전투 문제: 어휘 4지선다
Signature · Whirlwind Slash
Ranged · Swift Precision
Ranger
화살과 연속 사격을 이용한 빠른 공격.
전투 문제: 문법 2지선다
Signature · Arrow Rain
Ranged · Elemental Burst
Mage
파이어볼과 마법 폭발 중심의 원거리 공격.
전투 문제: 문장 순서 배열
Signature · Meteor Burst
캐릭터를 선택해야 다음으로 넘어갈 수 있습니다.
Warrior · Lv.1
Beginner · Combo 0 · ACC --
XP0 / 60
Green Slime · Lv.1
Kills 0 · Wave 1 · ·
착용 중인 아이템
Your Hero
ENERGY0 / 100
⚔️
🛡️
💍
ULTIMATE READY
Melee Hero
Warrior
10
ATK
44
HP
5%
CRIT
VS
Monster
ENERGY0 / 100
RAGE READY
Monster
Common Monster
Green Slime
5
ATK
28
HP
ELEMENTAL FINISHER
TIDAL DRAGON SLASH
ENGLISH CHALLENGE
FIRE
정답 = 내 공격 / 오답 = 몬스터 공격
에너지 100이 되면 일격 필살기를 사용할 수 있습니다. 발동하면 현재 몬스터를 즉시 처치합니다.
정답을 맞힐수록 에너지가 차고, 틀리면 몬스터가 반격합니다. 에너지 100이면 일격 필살기로 즉시 처치! 설정한 처치 간격마다 보스가 등장하고, 쓰러지면 조금 전 웨이브부터 다시 시작합니다. 틀린 문제는 📒 오답 노트에 자동 저장됩니다.
⚔️
ItemCommon
⚠ BOSS BATTLE
ROUND 1 CLEAR
VICTORY
어둠의 황제를 물리쳤다
화면을 누르면 이야기를 바로 볼 수 있어요
LEVEL UP!
LV. 2
무작위 스탯 +1
옵션
소리 · 읽기 · 학생 이름 설정
🎵 배경음악100%
🔔 효과음100%
🗣 단어 읽기 소리100%
👑 보스 · 레벨업 간격 10마리
선택한 수만큼 일반 몬스터를 처치하면 보스가 등장하고, 다음 영어 레벨·배경으로 진행합니다. (기본 10마리 · 5~50마리)
🔈 단어 나올 때 자동 읽기
어휘 문제(워리어)의 단어가 나오면 바로 발음을 읽어줍니다.
🗣 정답 문장 읽기
문법·문장 배열 문제(레인저·메이지)에 답하면 정답 문장을 읽어줍니다.
📈 10연속 정답 시 레벨 자동 올림
10문제를 연속으로 맞히면 쉽다고 판단해 다음 영어 레벨 문제를 냅니다.
🧑‍🎓 학생 이름
🎒 아이템 정보
전투 화면에는 아이콘만 표시합니다. 무기 · 갑옷 · 반지의 자세한 능력치와 남은 사용 횟수는 여기서 확인하세요.
💀
쓰러졌습니다
📒 오답 노트
📤 학습 결과
학습 결과 이미지
카톡 등으로 바로 보내거나 이미지로 저장하세요.
게임 중지
저장할 슬롯을 선택하세요
아이템 정보
장착 중인 아이템의 등급 · 능력치 · 남은 사용 횟수를 확인합니다.
Weapon
— Empty —
Armor
— Empty —
Accessory
— Empty —
오늘도 수고했어요! 👋
이제 창을 닫아도 돼요.
CRITICAL HIT!
✨ 영웅 소환 ✨
💎 지식 결정 30개로 소환합니다
고급 60% · 희귀 20% · 영웅 12% · 전설 7% · 신화 1%
현재보다 좋은 등급이 나올 때만 바뀌어요
AD PREVIEW
광고 자리 미리보기
앱에서는 여기서 실제 광고가 재생돼요
3
');w.document.close(); setTimeout(function(){try{w.focus();w.print()}catch(e){}},350); } function goNextRound(){ if(!activeRoundReport)return;if(!isSaved(activeRoundReport.round))persistReport(activeRoundReport); document.getElementById('v1937RoundReport').classList.remove('show');roundModalOpen=false;activeRoundReport=null; const b=document.getElementById('vContinue');if(b)b.click(); } async function quitFromRound(){ if(activeRoundReport&&!isSaved(activeRoundReport.round))persistReport(activeRoundReport); const m=document.getElementById('v1937RoundReport');if(m)m.classList.remove('show');roundModalOpen=false; try{document.getElementById('victory').classList.remove('show')}catch(e){} try{if(window.submitAetheriaScore)await window.submitAetheriaScore(true)}catch(e){} try{if(window.__v1935OldExit)window.__v1935OldExit('게임을 종료했습니다. 저장한 라운드 리포트는 누적 기록에 남아 있습니다.');else exitToMenu('게임을 종료했습니다.')}catch(e){try{exitToMenu('게임을 종료했습니다.')}catch(_){} } activeRoundReport=null; } /* Add combo snapshots to answer history so each round can report its own best combo. */ try{ const oldAnswer37=answer; answer=function(){const before=(state&&state.sessionAnswers?state.sessionAnswers.length:0);const out=oldAnswer37.apply(this,arguments);try{if(state.sessionAnswers&&state.sessionAnswers.length>before)state.sessionAnswers[state.sessionAnswers.length-1].comboSnapshot=Number(state.combo)||0}catch(e){}return out}; }catch(e){} /* New games create a fresh report session; loaded saves retain their report session. */ try{ const oldInit37=initGame; initGame=function(){const out=oldInit37.apply(this,arguments);ensureSession(true);return out}; }catch(e){} try{ const oldWrite37=writeSlot; writeSlot=function(n){ensureSession(false);const ok=oldWrite37.apply(this,arguments);if(ok)try{const d=readSlot(n);d.reportSessionId=state.reportSessionId;localStorage.setItem(slotKey(n),JSON.stringify(d))}catch(e){}return ok}; }catch(e){} try{ const oldLoad37=loadGame; loadGame=function(d){const out=oldLoad37.apply(this,arguments);state.reportSessionId=d&&d.reportSessionId?d.reportSessionId:state.reportSessionId||nowSessionId();try{localStorage.setItem(LAST_KEY,state.reportSessionId)}catch(e){}return out}; }catch(e){} /* Every cleared round opens its own report automatically. */ try{ const oldVictory37=showVictory; showVictory=function(){const r=typeof curRound==='function'?curRound():Math.max(1,Math.ceil((state.wave||1)/10));const out=oldVictory37.apply(this,arguments);setTimeout(function(){try{activeRoundReport=buildRoundReport(r);showRoundReport(activeRoundReport)}catch(e){console.error('round report',e)}},220);return out}; }catch(e){} document.addEventListener('DOMContentLoaded',function(){ensureUI();ensureSession(false)},{once:true}); setTimeout(function(){ensureUI();ensureSession(false)},300); window.showAetheriaRoundReports=showCumulative; })();