Skip to content

buzz0331/nesQuick

Repository files navigation

🏆 NesQuick - 네트워크 기반 멀티플레이 퀴즈 게임

📌 프로젝트 소개

NesQuick은 네트워크를 이용한 멀티플레이 퀴즈 게임입니다.
사용자는 다양한 퀴즈 모드에서 경쟁하고 협력하며, 직접 퀴즈를 제작하여 공유할 수 있습니다.
클라이언트와 서버 간 TCP 소켓 통신을 기반으로 설계되었으며, 실시간 상호작용을 지원합니다.


📜 목차

  1. 기능 소개
  2. 프로그램 구조
  3. 기술 스택
  4. 실행 방법
  5. 팀원 소개

🎮 기능 소개

1️⃣ 회원가입 및 로그인

  • 회원가입 후 로그인 가능
  • 비밀번호 인증 및 데이터베이스 연동

2️⃣ 다양한 퀴즈 모드 지원

  • 스피드 퀴즈 모드: 빠르게 정답을 맞히는 플레이어가 승리
  • 대전 모드: 각자 정답을 입력하고 점수를 비교하여 승패 결정
  • 협동 모드: 플레이어들이 정보를 공유하며 문제를 해결

3️⃣ 퀴즈 커스터마이징

  • 사용자가 직접 퀴즈를 생성하고, 공유할 수 있음
  • 객관식, 주관식, 이미지 기반 문제 등 다양한 문제 유형 지원

4️⃣ 방 생성 및 실시간 채팅

  • 게임 방을 생성하고 플레이어 초대 가능
  • 채팅 기능을 통해 실시간 커뮤니케이션 지원

5️⃣ 랭킹 시스템

  • 퀴즈 성적을 기반으로 랭킹 표시
  • 퀴즈 생성자 평가 시스템

🏗 프로그램 구조

🔸 전체 흐름도

스크린샷 2025-02-23 오후 4 47 30

🔹 클라이언트 구조

스크린샷 2025-02-23 오후 4 47 19
  • QuizClient: 서버와 통신하며, UI를 관리
  • MessageReceiver: 서버 응답을 수신하여 처리
  • Thread: 비동기적으로 서버 메시지를 처리하는 스레드 실행

🔹 서버 구조

스크린샷 2025-02-23 오후 4 47 24
  • QuizServer: 클라이언트 연결을 관리하고 게임 상태를 유지
  • ClientHandler: 각 클라이언트의 요청을 개별적으로 처리
  • MessageHandler: 게임 모드 및 방 관리 역할 수행

🛠 기술 스택

분야 기술
언어 Java
프레임워크 Java Swing (UI)
네트워크 TCP 소켓 프로그래밍
데이터베이스 SQLite
버전 관리 GitHub
협업 도구 Notion, Discord

🚀 실행 방법

1️⃣ 서버 실행

javac QuizServer.java
java QuizServer

2️⃣ 클라이언트 실행

javac QuizClient.java
java QuizClient

👨‍💻 팀원 소개

이름 역할 GitHub ID
장현준 서버 설계 및 실시간 채팅 시스템 구현
조용찬 스피드퀴즈모드 구현
최현우 협력모드 구현
임지예 대전모드 구현

About

네트워크 기반 멀티플레이 퀴즈 게임

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages