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
   24   25   26   27   28   29   30   31   32   33   34