- Java
- Eclipse
- DB(DB는 따로 사용하지 않고, 파일 입출력을 이용)
- TCP socket programming을 직접 구현함으로써 네트워크에 필요한 동작 원리, 소스코드의 이해도를 향상시킨다.
- Design pattern을 공부하면서 여러가지 패턴들을 적용하며 프로그램을 구조화 시킨다.
- Singleton Pattern으로 하나만 존재해야 하는 객체들인 화면, 사용자 등을 구현하였다.
- Observer Pattern으로 사용자가 서버에 접속 후, 대기실, 게임방에서 한 그룹으로 채팅을 하거나, 게임을 진행할 수 있도록 구현하였다.
- Strategy pattern으로 User forms를 Interface를 활용해서 쉽게 전환하도록 하였다.
- 다양한 알고리즘을 적용하여 프로그램을 제작하였다.
- 그래픽 알고리즘 - 보간법을 사용하여 (x,y) 2차원 좌표평면에서의 점을 끊김없이 연결하도록 보간법을 이용해 x,y좌표를 부드럽게 연결하였다.
- 게임 진행 로직에서, 문제 출제자가 그림을 그리는 과정에서 메모리를 아끼기 위해 Sliding window기법으로 최소한의 메모리만 사용하였다.
- 게임 로직을 구현한다. 게임을 진행하면서 정답을 맞출 때, 타이머가 흐를 때, 채팅할 때 등 다양한 상황을 쓰레드를 활용해 유기적으로 연결하여 논리적인 사고력을 길렀다. 특히, 앞으로 thread pool을 공부하여 좀 더 효과적으로 thread를 관리하는 방법을 공부할 예정이다(JSOUP을 이용한 Web crawling 구현에서 사용해보자)
- 로그인 구현 : 모든 유효성 검사 수행, 2 JSON형태로 저장되는 User 정보-다음 공부해야 할 부분 : User 정보 암호화하기
- 그래픽 알고리즘 - 보간법, sliding algorithm
- 채팅 구현 - Observer Pattern
- 게임 진행 로직
- 점수와 레벨 반영
- eclipse에 pull
- serverCatchmindFinal의 Server.java 실행
- clientCatchmindFinal의 Client.java 실행
catch-mind-waiting room and game room 보러가기!
-----------