https://mementomoricarpediem.github.io/wecode/numberbaseball.html
const computerNum = [];
let his = [];
function pickRanNum() {
for (var i = 0; i < 4; i++) {
let randomNum = Math.floor(Math.random() * 10);
if (computerNum.includes(randomNum)) {
randomNum = Math.floor(Math.random() * 10);
i--;
} else {
computerNum.push(randomNum);
}
}
console.log(computerNum);
}
function guess(e) {
e.preventDefault();
const guessNum = Array.from(input.value);
console.log(guessNum);
guessNum.some((num) => {
const guessNumValidate = Array.from(input.value);
console.log(guessNumValidate);
guessNumValidate.splice(guessNumValidate.indexOf(num), 1);
if (guessNumValidate.includes(num)) {
alert('동일한 숫자가 2번이상 반복되지 않도록 다시 입력해주세요.');
return (input.value = '');
}
});
let strike = 0;
let ball = 0;
let out = 0;
for (var i = 0; i < 4; i++) {
if (parseInt(guessNum[i]) == computerNum[i]) {
strike++;
} else if (computerNum.includes(parseInt(guessNum[i]))) {
ball++;
} else {
out++;
}
}
console.log(strike, ball, out);
let html;
let htmlHistory;
if (strike == 4) {
html = `
<p class='score'> Conglatulation~ 👏👏</p>
`;
var applause = new Audio('applause.wav');
applause.play();
} else {
html = `
<p class='score'> ${strike}<span style="color:blue">S</span> ${ball}<span style="color:yellow">B</span> ${out}<span style="color:red">O</span> </p>
`;
htmlHistory = `<p class='score' ㄴ> ${input.value} ================> ${strike}S ${ball}B ${out}O </p>
`;
}
score.innerHTML = html;
his.push(htmlHistory);
history.innerHTML = his.join('');
}
function reset() {
input.value = '';
}
const history = document.querySelector('.history');
const score = document.querySelector('.resultDisplay');
const input = document.querySelector('#guessNumber');
const submit = document.querySelector('#guess');
const replay = document.querySelector('#replay');
submit.addEventListener('click', guess);
replay.addEventListener('click', reset);
pickRanNum();