더북(TheBook)

스트라이크와 볼이 모두 0인지 확인해서 이 경우만 특별히 아웃으로 처리하면 됩니다. 또한, out 변수가 3이 됐을 때는 패배 메시지를 추가로 표시합니다. 그런데 시도 횟수가 10번이 넘거나 3번 아웃되어 패배하면 패배 메시지를 표시하는 코드가 중복됩니다. 이런 부분은 함수로 빼서 중복을 제거하면 좋습니다.

function defeated() {
  const message = document.createTextNode(`패배! 정답은 ${answer.join('')}`);
  $logs.appendChild(message);
}
let out = 0;
$form.addEventListener('submit', (event) => {
  (중략)
  if (tries.length >= 9) { // 시도 횟수가 10 이상일 때
    defeated();
    return;
  }
  (중략)
  if (out === 3) { // 아웃 횟수가 3일 때
     defeated();
    return;
  }
  tries.push(value);
});

본문으로

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.