Siguiendo un tutorial en youtube, construyendo un juego de piedra, papel o tijera, pero realmente no explican en detalle cada paso. Así que les pregunto, muchachos, ¿por qué tengo que poner parámetros en la función de ganar? No puse ningún parámetro en la función perder/empatar y sigue funcionando.
function win(user, computer) { userScore++; userScore_span.innerHTML = userScore; computerScore_span.innerHTML = computerScore; result_div.innerHTML = "You won!" } function lose() { computerScore++; userScore_span.innerHTML = userScore; computerScore_span.innerHTML = computerScore; result_div.innerHTML = "Computer wins!" } function tie() { result_div.innerHTML = "Game tie!" } function rockPaperScissors(userChoice) { const computerChoice = getComputerChoice() if (userChoice === 'paper' && computerChoice === 'rock' || userChoice === 'rock' && computerChoice === 'scissors' || userChoice === 'scissors' && computerChoice === 'paper') { win(userChoice, computerChoice) } else if (userChoice === computerChoice) { tie(userChoice, computerChoice) } else { lose(userChoice, computerChoice) } }bono: ¿alguien conoce a alguien que le enseñe a la gente javascript pero que explique todo muy claro? Estoy luchando para hacerme entender las elecciones que tengo que hacer cuando construyo algo. ¡¡Gracias!!
Aparentemente (si bien no tenemos el código completo), userChoice y computerChoice son globales, es por eso que el tutorial no se preocupa tanto por la claridad del código.
Como consejo: recomendamos que cada función haga una y solo una cosa (principio de responsabilidad única) donde use sus argumentos directamente y no confíe en un estado mutable global para no perder cosas rápidamente.
Para JS, personalmente recomiendo leer YDKJS con algo de ayuda mientras lee de MDN, y con el tiempo y la práctica de todo lo que está aprendiendo, comienza a mejorar en esto.