야구게임질문
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 + '볼');
}
}