Я новичок в javascript, просто овладеваю им.Этот код я написал для игры «камень, бумага, ножницы».Он изменяет цвет выбранных параметров для пользователя и компьютера и, если это ничья, меняет его на черный.Просто интересно узнать, нуждается ли он в рефакторинге?И как преобразовать его в оператор switch?
Я просто не могу освоить использование оператора switch с двумя такими аргументами.
switch(userChoice, computerChoice){
case userChoice === computerChoice //or 'r' === 'r' :
//code block
break;
}
Кажется, не работает.
function changeColor (userChoice, computerChoice) {
// If it's a draw, change color to black circle
if (userChoice === computerChoice) {
document.getElementById(userChoice).classList.add('draw-pick');
setTimeout( () => {
document.getElementById(userChoice).classList.remove('draw-pick');
}, 1000)
// If not a draw, change user pick to green and computer pick to red
} else if (userChoice === 'r' || 's' || 'p' && computerChoice === 'r' || 's' || 'p' ) {
document.getElementById(userChoice).classList.add('user-pick');
setTimeout( () => {
document.getElementById(userChoice).classList.remove('user-pick');
}, 1000)
document.getElementById(computerChoice).classList.add('comp-pick');
setTimeout( () => {
document.getElementById(computerChoice).classList.remove('comp-pick');
}, 1000)
}
}
Работает хорошо, просто любопытно, что касается рефакторинга и оператора switch.