https://github.com/choisooyoung-dev/d-ingco.git
✏️09:00~10:00 : 알고리즘 & SQL 풀이
📖10:00~13:00 : 오전공부
🍙13:00~14:00 : 점심식사
📖14:00~18:00 : 오후공부
🍙18:00~19:00 : 저녁식사
📖19:00~21:00 : 저녁공부
📝20:30~21:00 : TIL 작성
*9시 전에 출석 완료하기!
*20분 이상 자리 비울 시 슬랙에 알리기
handler | handlerID | payload | 설명 |
---|---|---|---|
waitForMatch | 0 | { token, monsterPath, initialTowerCoords } | 서버에서 게임을 찾고 없다면 게임 생성 및 대기, gameStartHandler 호출 |
gameStartHandler | X | game | 서버에서 양쪽 클라이언트에게 유저 데이터를 전송하여 게임을 시작 |
responseMonster | 5 | { uuid, monsterData: newMonster } | 몬스터 생성 데이터 서버 및 상대 클라이언트에 전달 |
removeMonster | 6 | { uuid, monsterIndex } | 몬스터 삭제 데이터 서버 및 상대 클라이언트에 전달 |
writeChat | 7 | { uuid, message: chatContent.value } | 채팅 입력 데이터 서버 및 상대 클라이언트에 전달 |
userDataUpdate | 10 | { uuid, userGold, score } | 유저 골드 및 점수 데이터 서버에 전달 |
levelUp | 11 | { uuid, monsterLevel } | 유저 레벨업 데이터 서버 및 상대 클라이언트에 전달 |
baseAttacked | 33 | { uuid, attackedPower: monster.attackPower, baseHp } | 유저 기지 HP 감소 데이터 서버 및 상대 클라이언트에 전달 |
towerRemoved | 44 | { uuid, towerIndex: monster.targetTowerIndex, monsterIndex } | 파괴된 타워 정보, 파괴한 몬스터 index 정보 서버 및 상대 클라이언트에 전달 |
spawnSpecialMonster | 55 | { uuid, monsterType } | 상대 유저의 게임에 몬스터 생성 정보 서버 및 상대 클라이언트에 전달 |
addTower | 66 | { uuid, tower, userGold } | 타워 추가 정보 서버 및 상대 클라이언트에 전달 |
towerUpgrade | 67 | { uuid, towerIndex, userGold } | 타워 업그레이드 정보 서버 및 상대 클라이언트에 전달 |
towerAttackMonster | 77 | { uuid, towerIndex, monsterIndex } | 타워 몬스터 공격 정보 서버 및 상대 클라이언트에 전달 |
powerOverwhelming | 88 | { uuid } | 무적 치트키 사용 정보 상대 클라이언트에 전달 |
baseOver | 98 | { uuid } | 게임 종료 정보 서버 및 상대 클라이언트에 전달 |
gameEnd | 99 | { uuid, highScore, score } | 유저 최고기록 갱신 및 세션 삭제 |
Packet 명 | data | 설명 |
---|---|---|
connect_error | { status: 'fail', message: '연결 실패' } | 연결 실패 |
connection | { status: 'success', message: '연결 완료' } | 연결 성공 |
response | { status: ‘?’, message: ‘?’ } | response 수신 |
matchFound | { | |
user: JSON.parse(user1(2)Data), | ||
opponentUser: JSON.parse(user2(1)Data), | ||
towerCost: game.towerCost, | ||
monsterSpawnInterval: game.monsterSpawnInterval, | ||
} | 유저 초기 데이터, 상대 유저 초기 데이터, 게임 초기 데이터 수신 | |
uuid | { uuid: uuid } | uuid 수신 |
chatContents | { uuid: uuid, message: message } | uuid 및 상대 채팅 메시지 수신 |
createOpponentMonster | { payload: payload.monsterData } | 상대 유저 몬스터 생성 데이터 수신 |
removeOpponentMonster | { monsterIndex } | 삭제된 상대 유저 몬스터 index 수신 |
spawnSpecialMonster | { type } | 상대 유저가 내 게임에 생성시킨 몬스터 type 수신 |
opponentBaseAttacked | { opponentBaseHp: user.baseHp } | 상대 유저 기지 HP 수신 |
opponentUserLevelUp | { opponentMonsterLevel: user.monsterLevel } | 증가된 상대 유저 레벨 수신 |
addTower | { opponentTower: payload.tower } | 생성된 상대 유저 타워 데이터 수신 |
towerAttackMonster | { | |
towerIndex: payload.towerIndex, | ||
monsterIndex: payload.monsterIndex | ||
} | 공격하는 상대 타워 index, 공격 받는 상대 몬스터 index 수신 | |
towerUpgrade | { towerIndex: payload.towerIndex } | 업그레이드 된 상대 타워 index 수신 |
towerRemoved | { | |
towerIndex: payload.towerIndex, | ||
monsterIndex: payload.monsterIndex | ||
} | 파괴된 상대 타워 index, 파괴한 몬스터(마법사)의 index 수신 | |
powerOverwhelming | { } | 패킷 자체가 정보, 상대 몬스터 무적화 |
gameOver | { isWin: true } or { isWin: false } | 승패 여부 수신 |