(문제시 말씀해 주시면 수정 또는 삭제하겠습니다!)
(게임을 재미없게 만드는 방법이니 공부 또는 재미 목적으로 읽어주시면 감사합니다!)
Q. 꼬맨틀은 무엇인가요?
A.꼬맨틀은 오늘의 단어를 맞히는 게임입니다. 정답 단어를 추측하면, 추측한 단어가 정답 단어와 얼마나 유사한지 유사도 점수로 알려줍니다. 가장 유사한 단어의 유사도와 가까운 단어를 추측하면서, 정답 단어를 맞혀보세요.
(자세한 건 하단 꼬맨틀 링크)
https://semantle-ko.newsjel.ly/
꼬맨틀 - 단어 유사도 추측 게임 - 뉴스젤리 : 데이터 시각화 전문 기업
하루에 한 번, 오늘의 단어를 맞혀보세요. 단어를 입력하면 정답 단어와의 유사도를 보여줍니다.
semantle-ko.newsjel.ly:443
꼬맨틀 문제를 풀어오던 중 후배님의 요청
KKI : 고맨? 고맨틀 매크로 주세요!
네..
과정
먼저 꼬맨틀의 Q&A를 확인해 보면
Q. 정답 단어에는 어떤 단어가 포함되어 있나요? A.
|
정답은 Wiktionary 에 다 있다고 합니다.
그럼 여기서 우린 간단한 알고리즘을 설계할 수 있게 됩니다!
1. 꼬맨틀은 단어를 입력창에 넣고 검색을 눌러 정답유무를 체크한다.
2. 정답은 Wikitionary의 한국어 안에 있다.
3. 그럼 Wikitionary의 모든 단어를 다 검색하다 보면 한 개쯤은 맞는다.
그럼 Wikitionary의 모든 단어를 배열로 만들어서
반복문으로 돌려가며 하나씩 검색시키다 보면
언젠간 하나쯤은 맞아있지 않을까?!
라는 생각과 함께
1. Wikitionary의 모든 단어를 배열로 만들어서
2. 반복문으로 돌려가며 하나씩 검색시키다 보면
3. 언젠간 하나쯤은 맞아있지 않을까?!
라는 순서로 개발을 시작해 봅시다.
먼저 Wiktionary 에 진입해서 Element 검색을 켜줘 봅시다.
![]() |
단어 하나를 검색하여 대에충 훑어보니 각 아이템들은
<span class="Kore" lang="ko">
<a href="/wiki/%EA%B5%AC%EC%B2%AD#Korean" title="구청">
구청
</a>
</span>
Kore라는 class명의 span 태그와 <a> 태그로 감싸지고 있었습니다.
그러니 우리는 각 단어를 가져오려면
wordList = document.getElementsByClassName('Kore')
를 통해 Kore를 가져와..ㅈ...
![]() |
짜잔 이렇게 가져올 수 있게 됩니다!
( 저부분은 직접..! )
여기서 두 글자 이상이라는 조건을 추가하여
![]() |
![]() |
이후는 간단합니다.
정답을 집어넣을 input 영역의 id값과
추측버튼을 누를 id값을 받아와
아래와 같이 정의한 다음
input = document.getElementById("guess")
button = document.getElementById("guess-btn")
처음 인덱스의 시작값인 i는 0으로 초기화 해준다음
let i = 0;
input에 데이터를 밀어 넣고
button을 눌러주는 함수를 생성한 다음
f = (i) => {
input.value = li_word[i];
button.click();
}
네트워크 부하 방지와 자체적인 메모리 이슈 등등등을 방지하기 위하여
setInterval로 i를 증가시켜 주며 f함수를 실행시켜 주면
setInterval( 실행할 함수, 실행속도 (ms))
//실행할 함수를 실행속도 주기로 실행시켜 줌.
이렇게 자동으로 톡톡톡 넣어주며 단어들을 반복하다 보면
![]() |
이렇게 정답 도출이 가능해집니다!
(다만 이렇게 하면 게임을 하는 이유가 없으니.. 직접 풀면서 게임해 봅시다!)
'기타' 카테고리의 다른 글
TEST 맛집 블로그 양식 (0) | 2023.09.06 |
---|---|
[Postgresql] LAG() 직전행을 가져와주는 LAG 함수 (0) | 2023.09.05 |
[chatGPT로 웹 개발하기] React js 숫자야구게임 웹페이지 개발하기 (0) | 2023.02.11 |
chatGPT를 이용한 블로그 자동화 작성 해보기 (0) | 2023.02.11 |
[개탱][아스키코드표][아스키코드][ASCII][ASCII Code Table] (0) | 2017.12.21 |
댓글