인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Tedd :)님의 프로필 이미지
Tedd :)

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

셀프 체크 - 3판 2선승제로 만들기

점수 표기 누적 질문있습니다.

작성

·

253

0

      let message;
      // 2, -1은 승리조건이고, -2, 1은 패배조건, 점수표 참고
      if ([2, -1].includes(diff)) {
        me += 1;
        message = '승리';
      } else if ([-2, 1].includes(diff)) {
        computer += 1;
        message = '패배';
      } else {
        message = '무승부';
      }
      if (me >= 3){ // 3번 먼저 이기면 나의 승리
        $score.textContent = `나의 승리 ${me}:${computer}`;
      } else if (computer >= 3){ // 3번 먼저 이기면 컴퓨터의 승리
        $score.textContent = `컴퓨터의 승리 ${me}:${computer}`;
      } else {
        $score.append(`${me}:${computer}`, document.createElement('br'))
        setTimeout(() => {
          clickable = true;
          intervalId = setInterval(changeComputerHand, 50);
        }, 1000);
      }
    }
};

점수 표기 누적을 해보고 싶어서 else에

$score.append(`${me}:${computer}`, document.createElement('br'))

값을 추가해보았는데요, 이렇게 적용하면

1:0이 아닌 01:0 으로 시작합니다. 이유가 무엇일까요?

그리고 message = '승리';
message = '패배';
message = '무승부'; 값이 적용되지 않습니다.

 

승리, 패배, 무승부 값도 적용하고, 점수 표기도 누적으로 나오게 하려면 어느 부분을 수정해야할까요?

 

 

 

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

message를 사용 안 하셨으니 승리/패배/무승부가 안 뜨는 것이고요.

me가 처음에 0이 아니라 '0'이면

'0' + 1은 '01'이 됩니다.

Tedd :)님의 프로필 이미지
Tedd :)
질문자

1. message 사용을 하여

      if (me >= 3){ // 3번 먼저 이기면 나의 승리
        $score.textContent = `나의 승리 ${me}:${computer}`;
      } else if (computer >= 3){ // 3번 먼저 이기면 컴퓨터의 승리
        $score.textContent = `컴퓨터의 승리 ${me}:${computer}`;
      } else {
        $score.append(`${message}` + `${me}:${computer}`, document.createElement('br'))
        setTimeout(() => {
          clickable = true;
          intervalId = setInterval(changeComputerHand, 50);
        }, 1000);
      }
  }

이렇게 코드를 수정해보았습니다. 그 결과 승리/패배/무승부:점수 누적되어 잘 나옵니다.
이러한 방법으로 수정해도 되는건지 다시 여쭙니다.

 

2. 01을 어떻게 안나오게 할지 고민하다가

<div id="score">0</div>

에서 0을 제거하고

<div id="score"></div>

이렇게 작성해봤는데요, 01이 안나오고 1부터 작동이 됩니다.
이러한 방법으로 수정해도 되는건지 다시 여쭙니다.

 

항상 좋은 강의와 답변 감사합니다.

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. ``를 쓰면 +를 쓸 필요가 없습니다.

2. textContent를 숫자로 바꾸세요.

Tedd :)님의 프로필 이미지
Tedd :)
질문자

감사합니다!

Tedd :)님의 프로필 이미지
Tedd :)

작성한 질문수

질문하기