Page 29 -
P. 29
document.createTextNode로 먼저 텍스트를 만들고, appendChild로 화면에 추가해야 합니다.
textContent를 사용하면 기존 내용이 사라져 버립니다.
마지막으로, 몇 스트라이크 몇 볼인지 검사합니다. 이 장에서 가장 중요한 부분입니다.
$form.addEventListener('submit', (event) => {
…
// 몇 스트라이크 몇 볼인지 검사
let strike = 0;
let ball = 0; 5장
for (let i = 0; i < answer.length; i++) {
const index = value.indexOf(answer[i]);
if (index > -1) { // 일치하는 숫자 발견 반복문 사용하기_숫자야구 게임
if (index === i) { // 자릿수도 같음
strike += 1;
} else { // 숫자만 같음
ball += 1;
}
}
}
$logs.append(`${value}: ${strike} 스트라이크 ${ball} 볼`, document.createEle-
ment('br'));
tries.push(value);
});
설명을 위해 answer 배열에 든 정답이 [1, 5, 4, 2], 입력값이 든 value는 '2346'으로 가정합
니다.
구현할 때 아이디어가 떠오르지 않는다면 사람이라면 어떻게 할지를 생각해 보면 됩니다. 사람
이라면 몇 스트라이크 몇 볼인지를 어떻게 구할까요? 정답 숫자를 하나씩 예측값과 비교해서
같은 숫자가 있는지 찾아보고 자릿수도 일치하는지 확인할 겁니다. 프로그램을 구현할 때도 마
찬가지로 하면 됩니다.
255