- 최소
30x30
크기의 던전을 제공한다. Server
와Client
는JSON
메시지 포맷을 이용한다.Client
가 최초 로그인하게 되면 던전의 임의의 위치에 떨어진다.- 사용자의 정보는
Redis
에 5분간 저장된다. - 플레이 중인 유저로 중복 접속이 확인되면 동시 접속으로 간주하고 기존의 접속을 강제 종료한다.
- 사용자에게 제공되는 기본 데이터는 아래와 같다.
hp
: 30str
: 3hp-posion
: 1str-posion
: 1
- 1분에 한번씩 슬라임이 10마리가 되도록 주기적으로 생성한다.
- 생성되는 위치는 랜덤
- 초기 채력은
5~10
사이의 랜덤 - 초기 공격력은
3~5
사이의 랜덤 - 랜덤하게
체력 회복 포션
과공격력 강화 포션
을 갖고 생성되며, 이는 슬라임의 체력을0
이 되게 만든 유저가 획득한다. - 슬라임은 자기 좌표 기준
[-1, -1] ~ [1, 1]
까지 9칸에 있는 유저를 5초에 한번 간격으로 공격한다.
- 아이템의 효과
공격력 강화 포션
: 1분 동안 공격력을+3
증가 시킨다.체력 회복 포션
:hp
를 10 회복 시킨다.
- 공격에 따른 데미지 계산
- 공격이 발생하면 전체 클라이언트에게 알림이 가게 한다.
- 접속 종료 및 로그아웃
- 클라이언트를 종료하거나 네트워크가 끊기는 경우 서버는 해당 유저가 몬스터의 공격을 받지 않게 한다.
- 동시 접속 및 유저 핸들링
- 서버는 최소 30개 이상의 클라이언트 연결을 처리할 수 있어야 한다.
- RESTful API
Socket
연결과 동시에 API 형식으로 통신할 수 있는 방법을 제공한다.
move x y
: 현재 화표에서(x, y)
만큼 이동한다.- 이 때,
(x, y)
는 각각 3 이하로 한다.
- 이 때,
attack
: 현재 좌표 기준[-1, -1] ~ [1, 1]
까지 9칸 영역에 대해 슬라임들을 공격한다.users
: 유저의 이름과 좌표를 나열한다.chat {user_name} {content}
: 주어진 유저이름의 유저에게 대화 내용을 전달한다.- 만약, 유저가 로그인하지 않았다면 없는 유저라 출력한다.
bot
: Bot 모드를 활성화 한다. Bot 모드는 위의 명령어 중 하나를 1초에 한번씩 랜덤하게 수행하고 종료한다.
{Type}({Problem}) : {Description}
Type | Description |
---|---|
feat | 새로운 기능 추가 |
fix | 버그 수정 |
docs | 문서 수정 |
style | 코드 포맷팅 |
refactor | 코드 리팩토링 |
test | 테스트 코드 |
chore | 빌드 업무 수정 |