Java Swing을 기반으로 구현한 멀티플레이어 오목 게임 및 채팅 데스크톱 애플리케이션입니다.
- 회원가입 및 로그인: 안전한 사용자 인증 시스템을 제공합니다.
- 실시간 날씨: 로그인 화면에서 공공 API를 연동하여 현재 위치의 날씨 정보를 표시합니다.
- 메인 로비: 접속한 모든 사용자가 함께 대화할 수 있는 전체 채팅 기능을 제공합니다.
- 1:1 채팅: 특정 사용자와 비밀 대화를 나눌 수 있으며, 다양한 이모티콘을 사용하여 감정을 표현할 수 있습니다.
- 사용자 정보: 로비에서 다른 사용자를 우클릭하여 오목 게임 전적(승, 패)을 확인할 수 있습니다.
- 게임방 생성 및 참여: 사용자는 직접 오목 게임방을 만들거나 다른 사람이 만든 방에 참여할 수 있습니다.
- 실시간 게임 플레이: 두 명의 플레이어가 실시간으로 오목 게임을 즐길 수 있습니다.

- 관전 기능: 게임에 참여하지 않은 최대 2명의 사용자가 관전자로서 게임을 지켜볼 수 있습니다.
- 자동 플레이어 승격: 게임 중인 플레이어가 퇴장할 경우, 대기 중인 관전자가 자동으로 플레이어로 전환되어 게임을 이어갈 수 있습니다.
- 랭킹 시스템: 게임 전적(승, 패)을 기반으로 한 사용자 순위를 조회할 수 있는 랭킹 보드를 제공합니다.

- 서버 관리: 서버 관리자용 GUI를 통해 현재 접속자 모니터링, 공지사항 전송 등 서버를 효율적으로 관리할 수 있습니다.
- 커스텀 스크롤을 직접 만들어 적용됐습니다.
- 언어: Java
- UI: Java Swing, JGoodies-Forms
- 아키텍처: 클라이언트-서버 소켓 통신
- API: 공공 날씨 데이터 API, 우편 번호 API
- 데이터베이스: JDBC를 통한 데이터베이스 연동 (사용자 정보, 전적 관리, 채팅내역)
-
저장소 복제:
git clone https://github.com/minari0v0/java_omok
-
IDE 설정:
- Eclipse, IntelliJ 등 원하는 Java IDE에서 프로젝트를 엽니다.
- 프로젝트의 Build Path에
com.jgoodies.common_1.8.1.v20240327-0800.jar와com.jgoodies.forms_1.9.0.v20240327-0800.jar라이브러리를 추가합니다.
-
서버 실행:
src/main/java/server/패키지 내의 메인 서버 파일(예:ChatServer.java또는ServerManage.java)을 실행하여 서버를 시작합니다.
-
클라이언트 실행:
src/main/java/client/패키지 내의 메인 클라이언트 파일(예:MainFrame.java)을 실행하여 애플리케이션을 시작합니다.- 여러 클라이언트를 실행하여 멀티플레이어 기능을 테스트할 수 있습니다.
.
├── src
│ ├── main
│ │ ├── java
│ │ │ ├── client # 클라이언트 측 로직 및 UI
│ │ │ ├── server # 서버 측 로직 및 통신
│ │ │ ├── GUI # 공용 GUI 컴포넌트
│ │ │ └── img # UI에 사용된 이미지 및 리소스
│ │ └── webapp
├── build # 컴파일된 클래스 파일
├── ...
└── README.md

