야구게임질문

by kim chunyong

JavaScript

var list = [0,1,2,3,4,5,6,7,8,9];
var number = [];

for(var i = 0; i < 4; i++) {
	var select = Math.floor(Math.random() * list.length);
  number[i] = list.splice(select,1)[0];
}

var count = 0;
var strike = 0;
var ball = 0;
var error = 0;

while (count < 10) {
  var input = prompt('숫자를 입력하세요'); 
  var inputArray = input.split(''); 
  strike = 0; 
  ball = 0;
  count++;
  
  /* --문제 발생 부분 -- S */
  if(input === 'undefined') break; //취소 눌렀을시 종료;

  for(s = 0; s < inputArray.length; s++){
  	for(var l = s; l <= s; l++){
  		if(inputArray[s] === inputArray[l]) {
  		console.log('중복입력');
      error++
      console.log(error); //error값이 inputArray.length 길이만큼 값이 더해지는 상황
  		}
  	}
  }
  /* --문제 발생 부분 -- E */
  
  // 입력받은 숫자를 비교분석하는 부분
  for (var j = 0; j < 4; j++) {
    for (var k = 0; k < 4; k++) {
      if (number[j] == inputArray[k]) {
        if (j === k) {
          strike++;
        } else {
          ball++;
        }
        break;
      }
    }
  }
  
  // 결과를 표시하는 부분
  if (strike === 4) {
    console.log('홈런!!! ' + (count - 1) + '번 만에 맞추셨습니다');
    break;
  } else if (count >= 10) {
    console.error('시도 횟수를 초과하셨습니다.');
  } else {
    console.info(inputArray.join('') + ': ' + strike + '스트라이크 ' + ball + '볼');
  }
}