TIL

내일배움캠프 7주차 금요일 TIL

news0516 2024. 12. 13. 19:53

이전에 강의를 통해 기본 세팅한 코드에 문제가 생겼다.
그래서 내친김에 다시 강의와 자료를 참고하여 처음부터 다시 구성하였다.
이 와중에도 서버 실행시 생기는 오류, 서버 실행 후 잠시 뒤 서버가 멈추는 오류를 고쳤다.
오류메시지와 DinoGame 웹에 콘솔창을 확인하며 어찌저찌 오류없이 서버가 실행되도록 마무리를 했다.

이 과정에서 콘솔창과 터미널을 확인하며 어떤 부분을 수정했을 때 어떤 반응이 있는지 확인해보았다.
웹을 처음 열게임 시작 시 메시지를 gamestart에서 고칠 수 있었다.

웹에 처음 들어가면 uuid가 표시되고, 새로고침 시 마다 갱신되는 것을 확인하였다.
이후 100점에 도달 시 stage가 변경되는 것을 확인했다.

메시지는 수정해야한다

다만 100점을 처음 넘었을때만 해당 메시지가 출력되고, 이후로는 발생하지 않는다.
스테이지 에셋에 스테이지별 점수가 명시되어 있는데, 아직 적용하지 않은 건지 잘 모르겠다.
스테이지 변경 메시지를 변경할 수 있던 moveStageHnadler에서 추가하거나 수정해야할듯?

강의중 퍼블릭 폴더의 index.js에서

function reset() {
  hasAddedEventListenersForRestart = false;
  gameover = false;
  waitingToStart = false;

  ground.reset();
  cactiController.reset();
  score.reset();
  gameSpeed = GAME_SPEED_START;
  ====sendEvent(2, { timestamp: Date.now() });====

sendEvent 부분을 수정하였는데, 아마 서버로 클라이언트 응답을 보내주는 것 같다.
핸들러 id 2는 gameStart이고, 리셋 시 게임이 시작했음을 서버로 전달해준다고 판단하였다.
이처럼 퍼플릭 폴더를 뒤져가며 많은 경우에 대한 요청 전달 설정을 해줘야 하는지 모르겠다.