Hangyou: hangman 스타일 영단어 게임 (교육용?)
며칠 전에 후배의 새 휴대폰에 있는 단어 게임을 하던 도중, 갑자기 예전에 text 모드에서 동작하는 hangman 게임이 생각났습니다. Hangman은 주어진 횟수 안에 컴퓨터가 /usr/share/dict/words에서 랜덤으로 골라둔 단어를 맞추는 게임입니다. 그런데, hangman은 게임을 끝날 때, 단어를 알려주지만, 이 단어의 뜻은 알려주지 않기 때문에, 실제로 사전을 뒤져보지 않는 이상, 영어 단어 공부?에 큰 도움이 안됩니다. 가장 큰 이유는 hangman 게임이 실제 단어의 뜻을 가진 dictionary를 가지고 있지 않기 때문입니다.
그래서, 해당 단어의 뜻풀이 또는 예문을 보여주고, 그 단어를 맞추는 게임?을 python으로 간단하게 만들어보았습니다. 급히 만들어서 버그 투성이겠지만, 그럭저럭 play 가능합니다.
Python version 2.4.4 또는 2.5.2에서 테스트해 보았습니다.
Hangyou에 가서 download를 선택하면 소스를 받을 수 있습니다.
시작할 때 "--level" 옵션을 주면, 단어의 수준을 지정할 수 있습니다. 예를 들어 정말 초보적인 단어만 원한다면 "--level=0"을, 초고수라면 "--level=5"를 선택하면 됩니다. "--level=6"은 단어의 수준에 상관없이 아무 단어나 사용합니다.
게임 상태에서 쓸 수 있는 키는 다음과 같습니다:
ESC - 종료
? - 힌트 보기
[A-Z] - 단어 입력
hangyou는 예문과 단어를 네이버 영영 사전(콜린스)에서 훔쳐옵니다. ^^;;
게임이 끝나면, 한번이라도 틀린 단어?의 목록과 URL을 출력합니다. Gnome terminal과 같은 terminal을 쓰고 있다면 마우스를 이용, 바로 해당 URL을 방문할 수 있기 때문에, 편리합니다.
You solved 4 question(s) and got 28 scores in your lifetime. From your history, you may not know these words: RUEFUL (1) <a href="http://eedic.naver.com/search.naver?query=rueful " rel="nofollow">http://eedic.naver.com/search.naver?query=rueful </a> PULPIT (3) <a href="http://eedic.naver.com/search.naver?query=pulpit " rel="nofollow">http://eedic.naver.com/search.naver?query=pulpit </a> PARLOUS (2) <a href="http://eedic.naver.com/search.naver?query=parlous " rel="nofollow">http://eedic.naver.com/search.naver?query=parlous </a> TOPSIDE (2) <a href="http://eedic.naver.com/search.naver?query=topside " rel="nofollow">http://eedic.naver.com/search.naver?query=topside </a>
괄호 안의 수치는 틀린 횟수 + 힌트 사용 횟수입니다. 수치가 높을수록 모르는 단어일 확률이 높습니다.
첨부 | 파일 크기 |
---|---|
hangyou.png | 11.78 KB |
댓글
오우~! ㅡ.ㅡb
오우~! ㅡ.ㅡb
앗 버그..
터미널 창의 화면 사이즈를 줄이면 아래와 같은 에러가 발생합니다.
error: exception occurred: wmove() returned ERR
Porter Stemming Algorithm 을 적용시킨 루틴이 인상적입니다.
재미있습니다 ^^;; 근데 어렵습니다 ㅠㅠ
하루에 10분씩만 투자해도 영단어 많이 알게될듯..
예.. 그 버그는
예.. 그 버그는 알고는 있는데.. ^^; 고치기가 좀.. window를 만든 다음에 그 크기를 얻어내는 것이 까다로워서..
또 url을 얻어올 때에도 창 사이즈 관련 문제가 있긴 합니다.
여기서 쓴 stemming 알고리즘은 완벽하지 않습니다. 간단히 쓸 것을 찾아보다가 구글에서 발견한 것이라서..
난이도도 조절하고 싶은데, 난이도에 따라 단어 목록을 얻는 방법이 잘 떠오르질 않더군요. :)
http://eedic.naver.com/ 에서 오늘의 단어 내용에서 얻을 수 있긴 합니다만, 그럴 경우, 단어 갯수가 제한적이라서, 현재는 랜덤으로 단어를 받아오고 있습니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
파이썬으로 콘솔
파이썬으로 콘솔 프로그램을 만들었다고 하셨으니, 재미있는 파이썬 라이브러리 하나만 소개하겠습니다.
http://excess.org/urwid/
이 urwid라는 놈은 무려 데비안 패키지로도 존재합니다. 학교 동아리 프로젝트를 진행하면서 이 라이브러리를 사용해 보았는데, 문서화가 좀 잘 안 되어 있어서 삽질을 좀 해 가면서 배워야 했지만, 일단 한 번 적응이 되니까 편하게 콘솔 프로그램을 짤 수 있었습니다.
---- 절취선 ----
http://blog.peremen.name
예문에 있는것을 한글로 나오게 할수는 없나요??
정답은 가로치고 나머지는 한글로 나오게하면 더 좋을거같은데요? 이거는 안되나요?
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
--------------------------------------------
혼자있고 싶습니다. 모두 지구밖으로 나가주세요.
파싱은 가능한데,
파싱은 가능한데, python curses module에서 한글 출력이 안되는 것 같군요. ^^;
방법을 알려주시면 적용해 보겠습니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
이거 정말 좋아
이거 정말 좋아 보입니다. 제 입맛에 꼭 맞는 학습기네요 :) 감사합니다
난이도 선택하는
난이도 선택하는 기능 추가했습니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
이거 의외로 재밌군요*_*
이거 의외로 재밌군요*_*
근데 파이썬 스크립트는 리눅스에서만 구동되나요?
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
Windows에도 Python을
Windows에도 Python을 깔면 되지 않을까 합니다. 실험해보세요. :)
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
윈도에서 시도해보니 _curses모듈을 찾을 수 없다고 하는군요.
윈도에서 시도해보니 _curses모듈을 찾을 수 없다고 하는군요.
수시로 플레이하고는 싶지만 주 사용 OS가 윈도라서 매번 일일이 버추얼박스 띄우기가 그렇습니다.
어떻게 할 방법이 없을까요?
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
---
“내게 능력주시는 자 안에서 내가 모든 것을 할 수 있느니라.”(빌립보서 4:13)
http://adamv.com/dev/python/c
http://adamv.com/dev/python/curses/
여기에 있네요.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
오오, 잘 만드셨네요.
오오, 잘 만드셨네요. 근데 힌트 개수가 너무 많아서... 힌트만 계속 눌러서 맞추고 이렇게 하면, 또, HP가 2배로 되어서 조금 있으면 몇 천 대의 HP가 되고, 힌트도 수십개가 됩니다. ;;;
힌트를 하나도 안 쓰고 플레이를 하면 조금 도전적으로 되는군요.
블로그: http://turtleforward.blogspot.com
블로그: http://turtleforward.blogspot.com
좋은 프로그램
좋은 프로그램 감사합니다.
--------------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'
http://heu
-----------------------------------------------------
남이 가르쳐주는 것만 받아들이는 것이 아니라, 스스로 만들고, 고쳐가는 사람을 '해커'라고 부른다.
그리고 자신이 쌓아온 노하우를 거리낌없이 나눌 줄 아는 사람을 '진정한' 해커라고 한다.
-Rob Flickenger 'Linux server hacks'
DEBIAN TESTING, KDE...
debpolaris.blogspot.kr
댓글 달기