이 프로젝트는 Java 소켓 프로그래밍을 사용하여 클라이언트-서버 기반의 퀴즈 게임을 구현한 예제입니다.
서버는 퀴즈 문제를 제공하며, 클라이언트는 이를 풀고 점수를 획득합니다.
오답 시 서버는 힌트를 제공하며, 정답을 맞출 때까지 문제 풀이가 반복됩니다.
- 문제 출제 및 답변 제출: 서버는 질문을 제공하고, 클라이언트는 답을 제출합니다.
- 피드백 및 힌트 제공: 정답 여부에 따라 서버가 피드백과 힌트를 제공합니다.
- 점수 계산 및 최종 결과: 서버는 클라이언트의 점수를 계산하고 최종 점수를 반환합니다.
- 반복 처리: 정답을 맞출 때까지 같은 문제가 반복됩니다.
- 단순 프로토콜: ASCII 기반 텍스트 메시지로 통신합니다.
서버와 클라이언트 간 데이터 교환은 아래의 형식으로 이루어집니다:
-
질문 전송 (Server → Client)
- 형식:
Definition: [질문 내용]
- 예시:
Definition: A place where you can borrow books.
- 형식:
-
답변 제출 (Client → Server)
- 형식:
[답변 텍스트]
- 예시:
Library
- 형식:
-
피드백 제공 (Server → Client)
- 정답:
Correct!
- 오답:
Incorrect! Hint: [힌트 내용]
- 예시:
Incorrect! Hint: It starts with 'L'.
- 정답:
-
최종 점수 전송 (Server → Client)
- 형식:
Quiz Over! Your score: [점수]/[총 문제 수]
- 예시:
Quiz Over! Your score: 5/5
- 형식: