Skip to content

JavaCPP0/InternAssignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

경품추첨을 위한 클리커 게임

RULE

  • 1분 = 00초 ~ 59.9999999초
  • 1초간 4회 초과시 실격
  • 4회 초과는 슬라이딩 윈도우로 판단
  • 회원가입하지 않으면 참여 불가
  • 첫 클릭으로부터 시작(참여)
  • 첫 클릭으로부터 10초간 입력이 없다면 실격(종료)
  • 실격한 회원 재참여 불가
  • 우승자는 한명 클릭수가 같다면 시간(1마이크로 단위)으로 정렬

RESTRICTIONS

  • 클릭은 TCP
  • 회원가입은 HTTP
  • e2e(end to end)테스트, 유닛별 테스트 준비
  • 요청은 클러스터 모드로 받기(멀티 프로세스)
  • 우승자의 아이디,주소지,클릭횟수 출력
  • 외부 소스 사용 금지
  • DB는 내장 SQLite

DB

User

  • int UserId(PK) 고유번호
  • int ID 유저 아이디
  • string PassWord 유저 비밀번호
  • string Addr

클릭 게임 서버

TCP와 HTTP 프로토콜을 사용하는 실시간 클릭 게임 서버입니다.

주요 기능

1. 회원 관리

  • 회원가입: HTTP 서버를 통해 ID, 비밀번호, 주소 정보로 회원가입
  • 로그인: TCP 서버에서 ID와 비밀번호로 인증

2. 게임 규칙

  • 게임 시간: 1분
  • 클릭 제한:
    • 1초당 최대 클릭 횟수 제한 있음
    • 5회 연속 클릭이 1초 이내에 발생하면 부정행위로 실격
    • 마지막 클릭으로부터 10초 이상 클릭이 없으면 자동 실격

3. 우승자 결정

  • 게임 종료 시 다음 조건으로 우승자 결정:
    1. 실격되지 않은 플레이어 중
    2. 가장 많은 클릭 수를 기록한 플레이어
    3. 동일한 클릭 수인 경우 먼저 클릭한 플레이어가 우승

4. 데이터 저장

  • SQLite 데이터베이스 사용
  • 사용자 정보 (ID, 비밀번호, 주소) 영구 저장
  • 게임 상태는 메모리에서 관리

서버 구조

HTTP 서버

  • 회원가입 처리
  • RESTful API 제공

TCP 서버

  • 실시간 게임 진행
  • 로그인 및 클릭 이벤트 처리
  • 실시간 게임 상태 관리
  • 우승자 결정 및 발표

실행 방법

  1. HTTP 서버 실행
  2. TCP 서버 실행
  3. 클라이언트 연결 및 게임 시작

게임 진행 순서

  1. HTTP 서버를 통한 회원가입
  2. TCP 서버 접속 및 로그인
  3. 1분간 클릭 게임 진행
  4. 게임 종료 후 우승자 발표

About

Sparta intern program assignment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors