언젠가 들었던 얘긴데, 어떤 언어로 테트리스를 짤 정도면, 그 언어에 대해서 어느정도는 안다고 말 할 수 있다고 합니다.
이 말에 저도 어느정도 동의합니다. 다만 아무 테트리스는 아니고,
- GUI를 쓸 것.
- 스레드를 쓸 것. (이 두개는 아무 생각없이 테트리스를 짜도...)
- 파일 입출력을 쓸 것.
- 이미지 리소스를 쓸 것.
- 사운드 리소스가 있을 것.
- 로컬 DB를 쓸 것.(기록을 보여 줘야 하니까요)
- 로그 기능을 제공할 것.(리플레이 가능)
- 네트워크 대전을 지원할 것.
- Unit Test를 쓸 것.
이 정도 조건은 충족해야 한다고 생각 합니다.
그리고 오늘(13/10/05)에 학교에 가니, 1학년 후배가 저랑 같은 얘길 하네요, KGC가서 들었다고 합니다. 테트리스를 짤 줄 알면, 그 언어를 어느정도는 아는 것이라고.
아무튼 이 얘기는 들은지 거의 2년 가까이 되는데, 그동안 미루고 미뤄 뒀던 것입니다. 제가 아는 모든 언어로 위의 9가지 특징을 만족하는 테트리스를 짜보려 하는데, 제가 아는 언어가, JAVA, C/C++, Objective-C, python이니 앞으로 할일이 굉장히 많네요 ^^;;
일단 요즘 자바쟁이가 되어 있는 관계로, 가장 만만한 자바 부터 시작합니다.
일단 1,2번만 충족하는 상태로, Github에 올려뒀습니다.
앞으로 차차 추가해 나가야죠.
[13.10.05]
Hold뷰만 있고, Hold 기능이 없었는데, 추가.
인코딩이 EUC-KR로 되어 있던데, UTF-8로 변경
[13.10.24]