No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
6 Hrs
56 Min
39 Seg

Condicionales: If, Else, else if

15/30
Recursos

Los condicionales son estructuras de control que te permiten evaluar diferentes expresiones y realizar determinadas acciones en JavasScript.

Cómo utilizar el condicional ifen JavaScript

Un condicional evalúa si una expresión o condición es verdadera. Por ejemplo, si mi edad es mayor o igual que 18, puedo conducir.

if (edad >= 18){
    console.log("Puedes conducir")
}

La palabra reservada else evalúa cuando la expresión del if es falsa, pero no es obligatorio colocarlo. En el ejemplo anterior, la condición contraria del if es la edad menor que 18, entonces no puedes conducir.

if (edad >= 18){
    console.log("Puedes conducir")
} else {
    console.log("No puedes conducir")
}

En otras palabras, si (if) una acción (expresión) es verdadera (true) hago una acción (bloques de código). En el caso contrario (else) efectúo otra acción.

Cómo anidar condicionales al programar

Has aprendido a usar un condicional, pero ¿y si tenemos varias condiciones? Entonces empleamos las palabras reservadas else if junto a la condición a ejecutar, puedes utilizar varias condiciones que necesites. Sin embargo, JavaScript evalúa la primera condición, luego a la segunda, y así sucesivamente. Esto es importante para ordenar las condiciones correctamente y no sobreescribirlas.

if (condicion1){
   // Bloque 1
} else if (condicion2){
    // Bloque 2
} else if (condicion3){
   // Bloque 3
} else {
    // Bloque else
}

Por ejemplo, un cliente solicita un descuento según el número de artículos que ha comprado, la tienda ofrece 3 descuentos: 10% si ha comprado hasta 5 artículos, 15% hasta 10 artículos, y todo por encima de 10 artículos recibe un 20% de descuento. Dependiendo de la condición, el resultado será diferente.

function calcularDescuento(articulos, precio) {
  var precioFinal

  if (articulos <= 5) {
    //Hasta 5 artículos
    precioFinal = precio * (1 - 0.1)
  } else if (articulos > 5 && articulos <= 10) {
    //De 6 a 10 artículos
    precioFinal = precio * (1 - 0.15)
  } else {
    //De 10 artículos en adelante
    precioFinal = precio * (1 - 0.2)
  }

  return precioFinal
}

calcularDescuento(4, 10) // 9
calcularDescuento(8, 20) // 17
calcularDescuento(15, 50) // 40

Operador ternario

El operador ternario consiste en evaluar si una expresión es verdadera o falsa. Parecido a un condicional, pero en una línea de código. Esto sirve para evaluar una condición de manera rápida. La estructura que sigue es la siguiente y se lee como: "La condición es verdadera (?), si es así ejecuta el “Bloque verdadero”, caso contrario (:), ejecuta el “Bloque falso”.

condicion ? Bloque verdadero : Bloque falso

Por ejemplo, guardemos en una variable un mensaje si un número es par o impar.

function esPar(numero){
    return numero % 2 === 0 ? "Es par" : "No es par"
}

esPar(2) // "Es par"
esPar(3) // "No es par"

Ejercicio de condicionales

Crea el juego de piedra, papel o tijera. Te dejo una pequeña ayuda para este reto:

  1. Genera las variables correspondientes
  2. Produce los condicionales que comparen tu resultado con el de la máquina u otra persona.
  3. Encapsula los condicionales en una función que reciba las variables, compararlas y retornar un valor.

¡Comparte tu trabajo en la sección de aportes!

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 4680

Preguntas 135

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Aquí esta el reto, lo hice de acuerdo a lo que se lleva visto hasta este capitulo del curso y también por que veo que muchos ejemplos de abajo tienen mucho código y eso para los principiantes puede ocasionar confusión, espero este código les ayude!!! Saludos!

var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijera";

var resultado = function(user, cpu){
    if(user != cpu){
        if(user === op1 && cpu === op3){
            console.log("el usuario GANO con "+ op1)
        }else if(user === op2 && cpu === op1){
            console.log( "el usuario GANO con " + op2)
        }else if(user === op3 && cpu === op2){
            console.log("el usuario GANO con " + op3)
        }else{
            console.log("La CPU Gano!!")
        }
    }else if(user === cpu){
        console.log("Empate")
    }
};

resultado(op1,op3) //el usuario GANO con Piedra```

Este codigo es el mas sencillo, se debe ingresar en strings lo que escogería el jugador o el computador y ahí te arroja el resultado.
Esta de acuerdo a lo que nos han enseñado hasta hoy, para que no se desanimen si ven que los compañeros usan cosas que no hemos visto en lo que va de la escuela de JS (Math.random, Math.Floor, let etc etc…)

var jugador;
var computador;

if (jugador == "tijeras"  && computador == "papel") 
{
    console.log("Ganaste");
}
else if (jugador == "Piedra"  && computador == "tijeras") 
{
    console.log("Ganaste");
}
else if (jugador == "papel"  && computador == "piedra") 
{
    console.log("Ganaste");
}
else if (jugador == computador ) 
{
    console.log("empate");
}
else {
    console.log("Perdiste")
}

Vi que otros usaron otros métodos que aun el profe Diego no enseño, pero la idea era usar variables, funciones y condicionales. Creo que esta es una forma de resolverlo.

Le falta validar cosas como si escriben la primer letra con Mayúsculas, pero eso es tema de otra clase.

var jugador = 'papel';
var pc = 'papel';
var resultado;

function ganador (){

	if(jugador === pc){

		return resultado = 'empate';
	}

	else if((jugador == 'piedra' && pc == 'papel') || (jugador == 'papel' && pc == 'tijera') || (jugador == 'tijera' && pc == 'piedra')){

		return resultado = 'Gana PC';
}

	else if((jugador == 'piedra' && pc == 'tijera') || (jugador == 'papel' && pc == 'piedra') || (jugador == 'tijera' && pc == 'papel')){

		return resultado = 'Gana Jugador';
    }

	else{

		return resultado = 'Ingrese valores correctos';
}
}

console.log(ganador());

Espero le guste la version de piedra, papel, tijera, lagarto spock
Solo falta agregar la opcion para que la eleccion de la pc sea aleatoria con math.random

var piedra = "piedra";
var papel = "papel";
var tijera = "tijera";
var lagarto = "lagarto";
var spock = "spock";


var game = function(user, pc) {
    if (
        (user === tijera && pc === papel) || 
        (user === papel && pc === piedra) || 
        (user === piedra && pc === lagarto) ||
        (user === lagarto && pc === spock) ||
        (user === spock && pc === tijera) ||
        (user === tijera && pc === lagarto) ||
        (user === lagarto && pc === papel) ||
        (user === papel && pc === spock) ||
        (user === spock && pc === piedra) ||
        (user === piedra && pc === tijera) 
    ) {
        console.log("Ganaste con " + user + " y Pc perdio con " + pc);
    } else if (user === pc) {
        console.log("Empate con " + user + " y Pc perdio con " + pc);
    } else {
        console.log("Pediste con " + user + " y Pc perdio con " + pc);
    }

}
//game(user, pc)
game(tijera,lagarto) // tijera decapita lagarto por lo que user gana

Les comparto mis apuntes! 👸🏽✌

¡Hola! yo hice mi reto con un poco de CSS, anexo el algoritmo en Js que es lo relevante. Si le quieren echar un ojo al código entero lo dejo por aquí


<script>
        var user; //Variable del usuario aun no especificada
        var pc = Math.floor(Math.random()* (3 + 1 - 1) + 1);//La función Math.floor asigna un número aleatorio entre 1 y 3 a la var pc
        var rock = 1;
        var paper =2;
        var scissors = 3;

        var rockButton = document.getElementById("rock"); //Todas estas variables toman la información de los botones del HTML
        var paperButton = document.getElementById("paper");
        var scissorsButton = document.getElementById("scissors");
        var playButton = document.getElementById("run");
        var resetButton = document.getElementById("reset");
        var finalWinner = document.getElementById("winner");

        rockButton.addEventListener("click", optionRock);// Los listeners de eventos disparan las funciones al hacer click sobre los bonotes
        paperButton.addEventListener("click", optionPaper); // El objetivo de esas funciones es asignarun valor al usuario
        scissorsButton.addEventListener("click", optionScissors);
        playButton.addEventListener("click", play);// la función play() dispara acciona todo el algoritmo
        resetButton.addEventListener("click", resetGame);//la  función resetGame() le da otro valor a la var pc para repetir el juego

        function optionRock() { //funciones para signar el valor al usuario anteriormente mencionadas
            user = rock;
        }
        function optionPaper() {
            user = paper;
        }
        function optionScissors() {
            user = scissors;
        }

        function resetGame () {
            pc = Math.floor(Math.random()* (3 + 1 - 1) + 1); //función para darle repetir el juego asignando otro valor aleatorio a pc
            finalWinner.innerHTML= "";
        }

        function play() { //Mi función principal, primero establecemos que si user y pc tienen el mismo valor, será un empate.
            if (user == pc) {
                finalWinner.innerHTML= "TIE";
                 } else if (user == rock && pc == scissors || user == paper && pc == rock || user == scissors && pc == paper) {
                    finalWinner.innerHTML= "You win!"// si son diferentes, el aloritmo pasa a revisar si se cumple alguna de las condiciones de arriba
                } else {                             // ya que usamos el or (||) si hay al menos una falsa, no se cumplirá y pasará al siguiente condicinal
                finalWinner.innerHTML= "PC wins :("; // resaltar que las condiciones del else if son las 3 posibilidad en que el usuario puede ganar.
                }
        }
    </script>```

Reto : Tratando de evitar la mayor cantidad de lineas de código y que sea entendible para todos, recordar que vamos a trabajar en equipo.

Funciona cool.

Se que es muuuy básico pero de verdad no saben lo feliz que me pone haberlo hecho yo solo, estoy aprendiendo desde cero

var computadoraElije = "papel"
var yoElijo = "piedra"
if (computadoraElije == yoElijo) {
console.log(“Empate”)
}
else if (computadoraElije == “piedra” && yoElijo == “papel” ) {
console.log(“Gana humano”)
}
else if (computadoraElije == “piedra” && yoElijo == “tijera” ) {
console.log(“Gana computadora”)
}
else if (computadoraElije == “papel” && yoElijo == “piedra” ) {
console.log(“Gana computadora”)
}
else if (computadoraElije == “papel” && yoElijo == “tijera” ) {
console.log(“Gana humano”)
}
else if (computadoraElije == “tijera” && yoElijo == “papel” ) {
console.log(“Gana computadora”)
}
else if (computadoraElije == “tijera” && yoElijo == “piedra” ) {
console.log(“Gana humano”)
}
else {
console.log(“Algo salio mal y no se que pudo haber sido”)
}

Aqui esta mi respuesta al reto 🙂 :
https://codepen.io/darkowlwood/pen/NWxPYWV

También les comparto mis notas de la clase 😃

Lo pude hacer pero mirando muchisimo todo lo que hicieron las demas personas.
No me parece que se pudiera deducir tan solo con lo que se explico en este curso en especifico. De hecho para calcular una opcion random, la mayoría d ela gente uso Math.round / Math.floor / Math.random y no recuerdo que eso se haya mencionado en ningun momento del curso. O expresiones como “let” o “const”.

Dejo abajo mi aporte. Pero me parece que el objetivo de pagar por los cursos ( y no simplemente buscar informacion por internet) es justamente participar de cursos ordenados completo y útiles.

var opcion = [‘papel’, ‘piedra’, ‘tijera’]
var randomoption = Math.round(Math.random()*2);
var piedra = 'piedra’
var papel = 'papel’
var tijera = ‘tijera’

var userselect = prompt(Elegi una opcion entre ${piedra}, ${papel} o ${tijera});
alert('Elegiste ’ + userselect);
var machine = opcion[randomoption]
alert('Yo elegi '+ machine)

//var juego = (userselect, machine) => {
if (
(userselect == piedra && machine == opcion [‘2’]) ||
(userselect == tijera && machine == opcion [‘0’]) ||
(userselect == papel && machine == opcion [‘1’])
)
{
alert(‘Ganaste’);
}
else if (userselect == machine) {
alert(‘Esto es un empate’);
}
else {
alert(‘Perdiste’);
}

RESUMEN DE LA CLASE

Condicionales:
Son un conjunto de reglas para validar si algo es verdadero o falso y podamos generar ciertas acciones de acuerdo al resultado de la condición.

Tipo de Condicionales:

Condicional “if”:
La estructura sería:

if() { 
    
}

  • Dentro de los paréntesis () se evaluaría si algo es verdadero o falso.
  • Dentro de las llaves {} se encuentra la tarea a generar si la condición es verdadera.
  • Si lo que se está evaluando resulta falso, lo que está dentro de las llaves no se ejecuta, queda ignorado.

📌 Ejemplo:

var esUsuario = true;

if(esUsuario) {  // con el if validamos que la condición sea true
    console.log('Tiene acceso al contenido');  // dado que esUsario es verdadero se puede imprimir el mensaje
}

Condicional “if … else”:
La estructura sería:

if() { 
    
} else {

}

  • Dentro de los paréntesis () se evaluaría si algo es verdadero o falso.
  • Dentro de las primeras llaves {} se encuentra la tarea a generar si la condición es verdadera.
  • Si lo que se está evaluando resulta falso, lo que está dentro de las primeras llaves no se ejecuta, queda ignorado, pero se ejecuta lo que está dentro de las llaves de else, sería el default del if.

📌 Ejemplo:

var esUsuario = false; 

if(esUsuario) {
    console.log('Tiene acceso al contenido');  // la condición resultó verdadera
} else {
    console.log('Tienes que crear una cuenta para poder acceder al contenido'); // la condición resultó falsa
}

Condicional “else if”:
La estructura sería:

if() { 
    
} else if (){

} else {

}

  • Dentro de los primeros paréntesis () se evaluaría si algo es verdadero o falso.
  • Dentro de las primeras llaves {} se encuentra la tarea a generar si la primera condición es verdadera.
  • Si lo que se está evaluando resulta falso en la primera condición if, lo que está dentro de las primeras llaves no se ejecuta, queda ignorado, pero se evalúa la segunda condición else if.
  • Si dentro de los paréntesis del else if resulta verdadero, se ejecuta lo que está dentro de las llaves {}, de ser falso sería el default y se ejecutaría la tarea del último else.

📌 Ejemplo:

var edad = 18; 
var accion;  

if(edad === 18) {
    accion = 'Puede votar, será su 1ra votación'   // en la primera condición fue verdadera
} else if(edad > 18) { 
    accion = 'Puede votar'   // la segunda condición fue verdadera, no la primera
} else { // call back 
    accion = 'Aun no puede votar'   // ni la primera ni la segunda condición resultaron verdaderas, por lo que se ejecutó el "default"
}

console.log(accion);

Operador ternario:
La estructura sería:

condition ? true : false; 
  • Inicialmente se encuentra condition, ahí se coloca la condición a evaluar.
  • Después del signo de cierre de interrogación ? se encuentra la tarea a ejecutar si resulta verdadera la condición evaluada.
  • Después del signo de dos puntos : se encuentra la tarea a ejecutar de resultar falsa la condición evaluada.

📌 Ejemplo:

var numero = 1; 
var resultado = numero === 1 ? 'Sí soy un 1' : 'No soy un 1';

console.log(resultado);  // dado que numero es igual a 1, console.log imprime el primer mensaje: "Si soy un 1"

RETO DEL JUEGO PIEDRA, PAPEL O TIJERA ⚡ 🪨📄✂️

// 2022, 8 de Mayo
// autora: marigabirc
// Juego Piedra - Papel - Tijera

let papel = 1;
let tijera = 2;
let piedra = 3;

function juego(movimiento_jugador) {
    let movimiento_computadora = Math.ceil(Math.random()*3);
 
    let resultado = movimiento_jugador == 1 && movimiento_computadora == 3 || movimiento_jugador == 3 && movimiento_computadora == 1 ? movimiento_jugador < movimiento_computadora ?  "Ganaste :D" : "Perdiste :(" : movimiento_jugador == movimiento_computadora ? "Empate :)" :movimiento_jugador > movimiento_computadora ?  "Ganaste :D" : "Perdiste :(";
 
    movimiento_jugador = movimiento_jugador == 1 ? "papel" : movimiento_jugador == 2 ? "tijera" : "piedra"; 
    
    movimiento_computadora = movimiento_computadora == 1 ? "papel" : movimiento_computadora == 2 ? "tijera" : "piedra"; 
    
     console.log(`Tú: ${movimiento_jugador}, Computadora: ${movimiento_computadora}, ${resultado}`);  
}

juego (piedra);
  • Usé condicionales con el operador ternario.
  • Para generar la jugada de la computadora, usé el método Math.random() que arroja un número aleatorio entre 0 a 1, pero como quiero que sean solo los números 1, 2 o 3 al multiplicarlo por 3 y aplicar el método Math.ceil() aleatoriamente cada vez que juegue con la computadora se puede obtener:
let papel = 1
let tijera = 2
let piedra = 3

TIP: además de la opción de inspeccionar se puede correr el código en el siguiente enlace: OnlineJavaScriptCompiler

La siguiente imagen muestra al lado izquierdo el código y al darle al botón Run al lado derecho aparece la salida del código ejecutado:

👀 Nota: si hay un error, por favor comentar 😌

Hice el reto para practicar también algunas cositas de css, mobile first y manipulación del DOM. Lo publiqué usando GItHub Page

.
Desde aquí pueden JUGAR
.
Desde aquí ver el código
.
Desde ya muchas gracias por su tiempo y sugerencias para mejorar.
Saludos

Ahi va, solo hay que copiarlo en la consola para empezar a Jugar
Y es gratis

var player; //Tu jugada
var pc; //La jugada de la PC

function juegaCon(jugada){
    if(jugada == "Piedra" || jugada == "Papel" || jugada == "Tijera"){
        player = jugada
        console.log("Juegas con " + jugada)
        console.log("Ahora para jugar solo escribe 'JugarRonda()'")
    }else{
        console.log("Ingrese una jugado correcta. Ej: Piedra, Papel o Tijera")
    }
}
function setPc(){
    var jugada = Math.floor(Math.random()* 3 - 1 + 1) //Genera un numero aleatorio entre 0 y 2 https://tutobasico.com/aleatorio-javascript/
    if(jugada == 0){
        pc = "Piedra"
    }else if(jugada == 1){
        pc = "Papel"
    }else{
        pc = "Tijera"
    }
}
function JugarRonda(){
    var resultado = "PC";
    if(player == "Piedra" || player == "Papel" || player == "Tijera"){ //Compruebo de que el jugador saque algo
        setPc();
        if((player == "Piedra" && pc == "Tijera") || (player == "Papel" && pc == "Piedra") || (player == "Tijera" && pc == "Papel")){
            //Se comprueban todos los casos donde el jugador ganaria
            resultado = "Jugador";
        }else if(player == pc){ //Por si se empata
            resultado = "Empate"
        }
        console.log("Tu sacaste " + player);
        console.log("La PC saco " + pc);
        //Hora de los resultados
        if(resultado == "PC"){
            console.log("La PC gana, que la proxima la suerte este de tu lado :(");
        }else if(resultado == "Jugador"){
            console.log("Tu ganas, la suerte estuvo de tu lado");
        }else{
            console.log("Es un empate *musica de tension empieza*");
        }
    }else{
        console.log("Ingresa tu jugado escribiendo 'jugarCon(texto)'"); //Por si alguien se olvida
    }
}
console.log("Hola bienvenido a Piedra, Papel o Tijera para consola de navegador :-)");
console.log("Las reglas son simples: Piedra vence a Tijera, Papel vence a Piedra y Tijera vence a Papel");
console.log("Inicia eligiendo tu arma con juegaCon(string)");

PD: No me arrepiento de perder 1 hora de mi vida programando esto

Reto piedra, papel o tijera

<h1>Aqui les dejo mi github para los que quieran verlo. espero los comentarios acerca del código.</h1> <h1>Link a GitHub</h1>
/*
PIEDRA PAPEL O TIJERA
  1. preguntar si quiere jugar (queda mejor si juega una vez y luego pregunta si quiere seguir jugando)
  2. Solicitar eleccion al jugador.
  3. Generar eleccion aleatoria a la cpu.
  4. Evaluar quien gano. ok
  5. Imprimir quien gano.
*/

//VARIABLES
let choicePlayer
let choiceCpu
let playAgain
let winner

// Solicitar eleccion del jugador
function getPlayerChoice() {
  return (prompt(`Escriba con cual quiere jugar PIEDRA, PAPEL o TIJERA ??`))
}

// Generar eleccion CPU
function generateCpuChoice() {
  let randomNumber = Math.floor(Math.random()*100)

  if(randomNumber >= 0 && randomNumber < 34) {
    return `piedra`
  } else if(randomNumber > 33 && randomNumber < 67) {
    return `papel`
  } else {
    return `tijera`
  }
}

//Evaluar quien gano.
function whoWin(choicePlayer, choiceCpu) {
  if(choicePlayer === choiceCpu) {
    return `Empate`
  }
  if(choicePlayer === 'piedra') {
    return choiceCpu === 'papel' ? 'CPU won !!!' : 'You won !!!'
  }
  if(choicePlayer === 'papel') {
    return choiceCpu === 'tijera' ? `CPU won !!!` : `You won !!!`
  }
  if(choicePlayer === 'tijera') {
    return choiceCpu === 'piedra' ? 'CPU won !!!' : 'You won !!!'
  }
}

//Programa secuencial del juego de piedra, papel o tijera.
do {
  choicePlayer = getPlayerChoice()
  choiceCpu = generateCpuChoice()
  winner = whoWin(choicePlayer, choiceCpu)
  console.log(winner)  
  playAgain = prompt(`Por favor digite 'y' si quiere seguir jugando o cualquier letra si desea terminar el juego.`)
} while(playAgain === 'y')```

Esta fue mi solución al resto 😃

var piedra = 1;
var papel = 2;
var tijera = 3;
/* user es la respuesta del usuario y pc la respuesta de la máquina*/
var resultado = function(user, pc){
    if(user === 1 && pc === 3 || user === 3 && pc === 2 || user === 2 && pc === 1){
        console.log("Ganaste");
    }else if(user === pc){
        console.log("Es un empate");
    }else{
        console.log("Ganó tu contrincante");
    }
}
resultado(3,1);

Juego reto

codigo html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
    <title>Piedra, papel y tijeras</title>
</head>
<body>
    <header class="header">
        <h1 class="header-title">Piedra, papel y tijeras</h1>
    </header>


    <section id="empezar" class="start">
        <div class="start__container">
            <input type="button" value="Empezar a jugar" onclick="empezar()">
        </div>
    </section>


    <section id="opciones" class="options hidden">
        <nav class="options__container">
            <input id="elegirPiedra" class="options__container--input" type="button" onclick="eleccion()" value="Piedra">
            <input id="elegirPapel" class="options__container--input" type="button" onclick="eleccion()" value="Papel">
            <input id="elegirTijeras" class="options__container--input" type="button" onclick="eleccion()" value="Tijeras">
        </nav>
    </section>

    <section id="cartelFinal" class="final hidden">
        <div class="final__container">
            <p id="final" class="final__container--title"></p>
            <input class="final__container--input" type="button" value="Dale de nuevo!!" onclick="empezar()">
        </div>
    </section>

    <section class="container">
        <figure class="container-figure">
            <div id="piedraPlayer1" class="container-figure--img hidden">
                <p></p>
                <img src="imagenes/piedra.png" alt="piedra">
                <p>Piedra</p>
            </div>
            <div id="papelPlayer1" class="container-figure--img hidden">
                <p></p>
                <img src="imagenes/papel.png" alt="papel">
                <p>Papel</p>
            </div>
            <div id="tijerasPlayer1" class="container-figure--img hidden">
                <p></p>
                <img src="imagenes/tijera.png" alt="tijeras">
                <p>Tijera</p>
            </div>
        </figure>      
        <figure class="container-figure">
            <div id="piedraPlayer2" class="container-figure--img hidden">
                <p>Rival</p>
                <img src="imagenes/piedra.png" alt="piedra">
                <p>Piedra</p>
            </div>
            <div id="papelPlayer2" class="container-figure--img hidden">
                <p>Rival</p>
                <img src="imagenes/papel.png" alt="papel">
                <p>Papel</p>
            </div>
            <div id="tijerasPlayer2" class="container-figure--img hidden">
                <p>Rival</p>
                <img src="imagenes/tijera.png" alt="tijera">
                <p>Tijera</p>
            </div>
        </figure>   
    </section>


    <footer class="footer">
        <p id="footer__counter" class="footer__counter">Contador</p>
    </footer>
    <script src="index.js"></script>
</body>
</html>

Codigo CSS

.footer, .container-figure--img, .final__container, .options__container, .start__container, .header, .final, .options, .start {
  display: flex;
  justify-content: center;
  align-items: center;
}

.final, .options, .start {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.final__container, .options__container, .start__container {
  width: 45vw;
  height: 20vh;
  flex-direction: column;
  justify-content: space-around;
  border-radius: 20px;
  box-shadow: 10px 10px rgba(0, 0, 0, 0.2);
  background: linear-gradient(#fe346e, #ffbd69);
}

.hidden {
  display: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: 0;
}

body input {
  width: 80%;
  height: 20%;
  border-radius: 25px;
  background: linear-gradient(#ffbd69, #fe346e);
  border: none;
  outline: none;
  cursor: pointer;
}

input:active {
  filter: opacity(0.3);
}

.header {
  width: 100vw;
  height: 10vh;
  background-color: #fe346e;
}

.header-title {
  color: white;
}

.start__container {
  background: transparent;
  box-shadow: none;
}

.start__container input {
  height: 70%;
}

.final__container--title {
  font-size: 20px;
}

.container {
  width: 100vw;
  height: 80vh;
  background: linear-gradient(#fe346e, #ffbd69);
  display: grid;
  grid-template-columns: 50% 50%;
}

.container-figure {
  margin: 0;
}

.container-figure--img {
  width: 50vw;
  height: 100%;
  flex-direction: column;
  font-size: 30px;
  color: white;
}

.container-figure--img img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

.footer {
  width: 100vw;
  height: 10vh;
  background: #ffbd69;
  font-size: 50px;
}

Codigo Javascript

const start = document.getElementById("empezar");
const options = document.getElementById("opciones");
const cartelFinal = document.getElementById("cartelFinal");

const piedra1 = document.getElementById("piedraPlayer1");
const papel1 = document.getElementById("papelPlayer1");
const tijeras1 = document.getElementById("tijerasPlayer1");
const piedra2 = document.getElementById("piedraPlayer2");
const papel2 = document.getElementById("papelPlayer2");
const tijeras2 = document.getElementById("tijerasPlayer2");

const elegirPiedra =  document.getElementById("elegirPiedra");
const elegirPapel = document.getElementById("elegirPapel");
const elegirTijeras = document.getElementById("elegirTijeras");

const tituloFinal = document.getElementById("final");
const contador = document.getElementById("footer__counter");

var jugador = null;
var maquina = null;
var contadorJugador = 0;
var contadorMaquina = 0;

var empezar = () => {
    start.classList.add("hidden");     
    options.classList.remove("hidden");
    cartelFinal.classList.add("hidden");
    piedra1.classList.add("hidden");   
    piedra2.classList.add("hidden");   
    papel1.classList.add("hidden");   
    papel2.classList.add("hidden");   
    tijeras1.classList.add("hidden");   
    tijeras2.classList.add("hidden");   
}

var eleccion = () => {
    if(event.srcElement === elegirPiedra){
        options.classList.add("hidden");
        piedra1.classList.remove("hidden");
        jugador = 1;
    }
    if(event.srcElement === elegirPapel){
        options.classList.add("hidden");
        papel1.classList.remove("hidden");
        jugador = 2;
    }
    if(event.srcElement === elegirTijeras){
        options.classList.add("hidden");
        tijeras1.classList.remove("hidden");
        jugador = 3;  
    }
    machine();
}

var machine = () => {
    let random = Math.random();
    if(random <= 0.33){
        piedra2.classList.remove("hidden");
        maquina = 1;
    }
    if(random >= 0.34 && random <= 0.66){
        papel2.classList.remove("hidden");
        maquina = 2;
    }
    if(random >= 0.67) {
        tijeras2.classList.remove("hidden");
        maquina = 3;
    }
    console.log(random)
    final();
}

var final = () => {
    cartelFinal.classList.remove("hidden");
    if(jugador - maquina === 0){
        tituloFinal.innerHTML = "Empate";
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 1 && maquina === 2){
        tituloFinal.innerHTML = "Perdiste...";
        contadorMaquina++;
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 1 && maquina === 3){
        tituloFinal.innerHTML = "Ganaste!!!";
        contadorJugador++;
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 2 && maquina === 1){
        tituloFinal.innerHTML = "Ganaste!!!";
        contadorJugador++;
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 2 && maquina === 3){
        tituloFinal.innerHTML = "Perdiste...";
        contadorMaquina++
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 3 && maquina === 1){
        tituloFinal.innerHTML = "Perdiste...";
        contadorMaquina++;
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
    if(jugador === 3 && maquina === 2){
        tituloFinal.innerHTML = "Ganaste!!!";
        contadorJugador++;
        contador.innerHTML = `${contadorJugador} - ${contadorMaquina}`;
    }
}

aqui esta mi codigo, realmente me demore mucho, acabe primero el curso antes de acabar el codigo, pero practicar es la mejor manera de aprender, es un poco largo pero lo unico que hay que hacer es recargar la pagina y siempre habra un nuevo ganador o un empate, todo random, acepto todos los cambios para mejorar el codigo!😁

<code>
var random = Math.ceil(Math.random() *3)
var randomPlayer = Math.ceil(Math.random() *3)

var computador = {
  nombre: "pc",
  papel:false,
  tijera: false,
  piedra :false
}

var diego = {
  nombre: 'diego',
  papel:false,
  tijera: false,
  piedra :false
}
function sacarComputador(persona) {
  if(random === 3) {
    persona.tijera = true
    console.log(`${persona.nombre} saco tijera`)
  }else if(random === 2) {
    persona.piedra = true
    console.log(`${persona.nombre} saco piedra`)
  } else if(random === 1) {
    persona.papel = true
    console.log(`${persona.nombre} saco papel`)
  }
}

function sacarJugador(persona) {
  if(randomPlayer === 3) {
    persona.tijera = true
    console.log(`${persona.nombre} saco tijera`)
  }else if(randomPlayer === 2) {
    persona.piedra = true
    console.log(`${persona.nombre} saco piedra`)
  } else if(randomPlayer === 1) {
    persona.papel = true
    console.log(`${persona.nombre} saco papel`)
  }
}
setTimeout(() => {sacarJugador(diego)}, 1000);
setTimeout(() => {sacarComputador(computador)}, 1500);
setTimeout( () => {
if(diego.tijera && computador.papel) {
  console.log('diego gana la partida, saco papel')
} else if(diego.tijera && computador.tijera) {
  console.log('es un empate, los dos sacaron tijera')
} else if(diego.tijera && computador.piedra) {
  console.log('gana computador, saco piedra')
} else if(diego.piedra && computador.tijera) {
  console.log('gana diego, saco piedra')
} else if(diego.piedra && computador.piedra) {
  console.log('es un empate, los dos sacaron piedra')
} else if(diego.piedra && computador.papel) {
  console.log('gana computador, saco papel')
} else if(diego.papel && computador.papel) {
  console.log('es un empate, los dos sacaron papel') 
} else if(diego.papel && computador.piedra) {
  console.log('gana diego, saco papel')
} else if(diego.papel && computador.tijera) {
  console.log('gana computador, saco tijera')
}}, 3000)
</code>

Javascript

var usuario = prompt("Selecciona una de las siguientes opciones" + "  1- Piedra   2-Papel   3-Tijeras");
var opciones = ["incorrecto", "Piedra", "Papel", "Tijeras"];
var maquina = Math.floor((Math.random() * 3) + 1);
var num = maquina.toFixed(0);

if (usuario == 0) {
    document.getElementById("resultado").innerHTML = "No valido";
} else if (usuario > 3) {
    document.getElementById("resultado").innerHTML = "No valido";
} else {
    analisis()
}

function analisis() {
    if (usuario == num) {
        document.getElementById("resultado").innerHTML = "EMPATE";
        resultados()
    } else if (usuario == 1) {
        if (num == 2) {
            document.getElementById("resultado").innerHTML = "PERDISTE";
            resultados()
        } else {
            document.getElementById("resultado").innerHTML = "GANASTE";
            resultados()
        }
    } else if (usuario == 2) {
        
        if (num == 3) {
            document.getElementById("resultado").innerHTML = "PERDISTE";
            resultados()
        } else {
            
            document.getElementById("resultado").innerHTML = "GANASTE";
            resultados()
        }
    } else if (usuario == 3) {
        if (num == 1) {
            document.getElementById("resultado").innerHTML = "PERDISTE";
            resultados()
        } else {
            document.getElementById("resultado").innerHTML = "GANASTE";
            resultados()
        }
    }
}


function resultados() {
    document.getElementById("maquina_resultado").innerHTML = opciones[maquina];
    document.getElementById("usuario_eleccion").innerHTML = opciones[usuario]
}

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">

</head>
<body>

    <main class="contenedor">

        <div id="resultado"></div>
        <div>
            <div class="texto-descripcion">Tu elegiste</div>
            <div id="usuario_eleccion">---</div>
        </div>
        <div>
            <div class="texto-descripcion">El sistema</div>
            <div id="maquina_resultado">---</div>
        </div>
        
    </main>
    <script src="codigo.js"></script>

</body>
</html>

CSS

body{
    margin: 0px;
    padding: 0px;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background-image: linear-gradient(to right top, #051937, #004d7a, #008793, #00bf72, #a8eb12);
    display: flex;
    justify-content: center;
    align-items: center;

}

.contenedor{
    display: flex;
    justify-content: center;
    align-content: space-evenly;
    flex-wrap: wrap;

    width: 65%;
    min-width: 500px;
    height: 65%;
    min-height: 300px;
    background-color: white;
    border-radius: 30px;
    box-shadow: 0px 20px 30px rgba(0,0,0,0.4);
}

#resultado{
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #004d7a;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 60px;
    font-weight: 900;
    margin: 0% 25% 0% 25%;
    padding: 5px 0px;
    border-bottom: 8px #004d7a dotted;
}

#usuario_eleccion{
    width: 200px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #008793;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 900;    
    border: 1px #008793 solid;
}

#maquina_resultado{
    width: 200px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #008793;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 30px;
    font-weight: 900;    
    border: 1px #008793 solid;
}

.texto-descripcion{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    text-align: center;
    margin: 5px;
    color: #008793;


}

/* Función para generar un número random y asignarle un valor:
('Rock ✊🏼', 'Paper 🖐🏼' o 'Scissors ✌🏼) a través de los condicionales: if, else, else if */

function randomMachine(){
    electionMachine = Math.round(Math.random()*2)
    if(electionMachine === 0){
        electionMachine = 'Rock ✊🏼'
        console.log('🤖Machine Choice: ' + electionMachine)
    } else if(electionMachine === 1){
        electionMachine = 'Paper 🖐🏼'
        console.log('🤖Machine Choice: ' + electionMachine)
    } else if(electionMachine === 2){
        electionMachine = 'Scissors ✌🏼'
        console.log('🤖Machine Choice: ' + electionMachine)
    } else{
        console.log('Are You Ready? 🎮')
    }
    }

/* Función que contiene la lógica del programa a través de los condicionales: if, else, else if donde pasamos como
parámetro(playerElection) y generamos la comparación con la variable(ElectionMachine) de la función randomMachine*/

    function playRoshambo(playerElection){
    console.log('👾Player Choice: : ' + playerElection)
    if(playerElection === electionMachine){
        console.log('Try Again ✊🏼🖐🏼✌🏼')
    } else if(playerElection === 'Rock ✊🏼' && electionMachine === 'Paper 🖐🏼'){
        console.log('LOSER 💩!')
    } else if(playerElection === 'Rock ✊🏼' && electionMachine === 'Scissors ✌🏼'){
        console.log('WINNER 🎉!!')
    } else if(playerElection === 'Scissors ✌🏼' && electionMachine === 'Rock ✊🏼'){
        console.log('LOSER 💩!')
    } else if(playerElection === 'Scissors ✌🏼' && electionMachine === 'Paper 🖐🏼'){
        console.log('WINNER 🎉!')
    } else if(playerElection === 'Paper 🖐🏼' && electionMachine === 'Scissors ✌🏼'){
        console.log('LOSER 💩!')
    } else if(playerElection === 'Paper 🖐🏼' && electionMachine === 'Rock ✊🏼'){
        console.log('WINNER 🎉!')
    }
    }

    console.log('Choice: Rock ✊🏼 / Paper 🖐🏼 / Scissors ✌🏼');

/* No olvides llamar ambas funciones para inicializar el juego:
randomMachine()
playRoshambo('Scissors ✌🏼') --> Aquí va la elección del jugador como String.
Anímate a mejorar este código para que hagamos un juego más divertido 🦾👨🏼‍💻
*/```

Por aquí dejo el mio

let piedra = "piedra";
let papel = "papel";
let tijera = "tijera";

let computadora = tijera;

function jugar(opcion) {
    if(opcion === computadora) {
        console.log("Has elejido " + opcion +" La computadora elijio " + computadora +" Es un empate!")
    }else if(opcion === piedra && computadora === tijera)  {
        console.log("Has elejido " + opcion +" La computadora elijio " + computadora + " Ganaste!")
    }else if(opcion === papel && computadora === piedra)  {
        console.log("Has elejido " + opcion +" La computadora elijio " + computadora + " Ganaste!")
    }else if(opcion === tijera  && computadora === papel)  {
        console.log("Has elejido " + opcion +" La computadora elijio " + computadora + " Ganaste!")
    }
    else {
        console.log("Has elejido " + opcion +" La computadora elijio " + computadora + " Perdiste!")
    }  
}

Bueno compañeros yo me siento super emocionada, creo que apliqué en resumen lo que hemos visto hasta ahora… mi juego es bastante autónomo… cualquier aporte bien recibido!

I’m so excited!

P.D. volví a publicarlo porque lo coloqué en la clase anterior, que pena!

/** 
 * Crear un juego de Piedra, papel o Tijera.
 * Generar variales.
 * Una funcion que recibe un parámetro con la variable a jugar Ej:"piedra".
 * En la funcion validar si la variable recibida le gana a la variable de la maquina.
 * **/

 var eleccionMaquina;
 var opciones = ["piedra", "papel", "tijeras"];
 var opc = function(){
    return opciones[Math.round(Math.random() * (opciones.length-1))];
 }

 function juego(eleccionJugador){

    eleccionMaquina = opc();

    if(eleccionJugador == eleccionMaquina){
        console.log(`Estan Empatados!!! Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
    }
    else if(eleccionJugador==opciones[0])
    {
        if (eleccionMaquina==opciones[2])         
             console.log(`Ganó el Jugador!!! Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
         else
            console.log(`Ganó la Maquina!!!  Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
    
    } else if(eleccionJugador==opciones[1])
    {
        if (eleccionMaquina==opciones[0])
            console.log(`Ganó el Jugador!!! Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
        else
            console.log(`Ganó la Maquina!!!  Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
    }else if(eleccionJugador==opciones[2])
    {
        if (eleccionMaquina==opciones[1])
            console.log(`Ganó el Jugador!!! Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
        else
            console.log(`Ganó la Maquina!!!  Maquina Seleccionó: ${eleccionMaquina} y Jugador: ${eleccionJugador}`);
    }

 } 

 juego(opc());


Condicional if:

if ( condición a evaluar ){
	acción a ejecutar si la condición evaluada es verdadera.
} else if ( nueva condición a evaluar si la condición anterior es falsa) {
	acción a ejecutar si la condición es verdadera
} else {
	acción por defecto, en caso que ninguna de las condiciones anteriores se cumpla, se ejecuta ésta acción.
}

Se me hizo más facil entenderlo por números, asi me quedó 😄

var piedra = 1;
var papel = 2;
var tijera = 3;

function juego(user, cpu){

    var R = user-cpu

    if(R == -2 || R == 1){
        console.log("User gano!");
    }
    
    else if(R == -1 || R == 2){
        console.log("CPU gano! ohh :(");
    }

    else{
        console.log("Empate!! ohh");
    }
}

//Lógica

//user     -    cpu		

//piedra	1	piedra	1	empate	0
//piedra	1	papel	2	cpu	       -1
//piedra	1	tijera	3	user		-2
//papel	2	piedra	1	user		1
//papel	2	papel	2	empate	0
//papel	2	tijera	3	cpu	       -1
//tijera	3	piedra	1	cpu	         2
//tijera	3	papel	2	user		1
//tijera	3	tijera	3	empate	0

//Conclusión:
//user	    -2	   1
//cpu	    -1	   2
//empate	 	0	

No sabía cómo poner a jugar a la computadora automático así que puse dos jugadores a elegir cuando se llama la función juego:

var j1;
var j2;
var piedra;
var papel;
var tijera;

function juego (j1,j2){
    if (j1===j2){
        console.log("es un empate");
    } else if (j1===piedra&&j2===tijera){
        console.log("gana j1 piedra golpea a tijera");
    }else if (j1===piedra&&j2===papel){
        console.log("gana j2 papel embuelve a piedra");
    }else if (j1===tijera&&j2===piedra){
        console.log("gana j2 piedra golpea a tijera");
    }else if (j1===tijera&&j2===papel){
        console.log("gana j1 tijera corta a papel");
    }else if (j1===papel&&j2===tijera){
        console.log("gana j2 tijera corta a papel");
    }else if (j1===papel&&j2===piedra){
        console.log("gana j1 papel embuelve a piedra");
    }
    else {
        console.log("es una empate")
    }
}
juego (piedra,piedra);

Dos cosas: la primera es la interactividad que puede ser mejorada con botones para que se registre correctamente la elección y segundo no se como colocar como parámetro un array sin romper el código, cualquier sugerencia en especial en lo ultimo siempre es bienvenida, peace 😃

alert("You must give 0 (scissor) or 1 (rock) or 2 (paper) to the parameter of the game function")

let options = [0, 1, 2];

    function game(input_player){
        //Machine choice      
        machine_choice = options[Math.floor(Math.random() * options.length)]
        
        //Logic
        if (
            input_player === 0 && machine_choice === 2 || 
            input_player === 1 && machine_choice === 0 ||
            input_player === 2 && machine_choice === 1 
            ){
            console.log("Player wins!");
        }else if (input_player === machine_choice ){
            console.log("Draw");

        }else{
            console.log("Player lose ;(")
        }
    }

Reto logrado!!

var piedra = 0
var tijera = 1 
var papel = 2



function play (eleccion) {
    let computer = Math.floor(Math.random() * 3);
    console.log(computer)
    if (eleccion === computer) {
        console.log ("Empate");
    } else if ((eleccion === 0) && (computer === 1)) {
        console.log("Ganaste");
    } else if ((eleccion === 1) && (computer === 2)) {
        console.log("Ganaste");
    } else if ((eleccion === 2) && (computer === 0)) {
        console.log ("Ganaste")
    } else {
        console.log("Perdiste")
    }
};

play(papel);

Reto realizado:

var num_Piedra = 3;
var num_Tijera = 2;
var num_Papel = 1;

function randomNumber(valorMax, valorMin) {
    
    // Obtiene el numero aleatorio entre 1 y 3
    var numRandon = Math.floor((Math.random() * valorMax) + valorMin);

    return numRandon;
}

function valorOpcion(valorOpcion) {
    
    var nombreOpcion;
    if (valorOpcion === 1 ) {
        nombreOpcion = "Papel";
    } else if (valorOpcion === 2){
        nombreOpcion = "Tijera";
    } else if (valorOpcion === 3) {
        nombreOpcion = "Piedra";
    }else {
        nombreOpcion = "Opción no considerada en el juego";
    }
    return nombreOpcion;

}
function quienGana (eleccionUsuario) {
    
    // Debemos obtener un valor aleatorio para saber que escoge la máquina
    //  Debe ser entre el 1 y 3 por los valores declarados para cada tipo
    var random = randomNumber (num_Piedra,num_Papel);
    
    // Obtengo el valor seleccionado por el usuario
    var valorUsuario = valorOpcion (eleccionUsuario);

    // Obtengo el valor escogido por la máquina
    var valorComputadora = valorOpcion (random);

    var mensaje;
    
    if (eleccionUsuario === random) {
        mensaje = "Empate, ambos escogieron " + valorUsuario;
    } else if (eleccionUsuario === num_Papel){
            if (random === num_Piedra) {
                mensaje = "Ganaste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
            } else if (random === num_Tijera){
                mensaje = "Perdiste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
            }
    } else if (eleccionUsuario === num_Piedra){
        if (random === num_Tijera) {
            mensaje = "Ganaste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
        } else if (random === num_Papel){
            mensaje = "Perdiste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
        }
    }else if (eleccionUsuario === num_Tijera){
        if (random === num_Papel) {
            mensaje = "Ganaste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
        } else if (random === num_Piedra){
            mensaje = "Perdiste, tu sacaste " + valorUsuario + " y la máquina sacó " + valorComputadora;
        }
    } else {
        mensaje = valorUsuario;
    }

    return mensaje;

}

function juegaPiedraPapelTijera(valorUsuario) {
    console.log ("La opción seleccionada fue: " + valorUsuario);
    console.log ("*******************************");
    var resultado = quienGana (valorUsuario);
    console.log ("Y el resultado fue: " + resultado);
    
}

Mi reto, ya faltaría un botón para que el juego se empiece de nuevo con otro valor

var usuario = prompt('Escribe piedra, papel o tijera');
var opciones = ['piedra', 'papel', 'tijera'];

function game( usuario_respuesta ) {
  var pc = opciones[ Math.floor( Math.random() * opciones.length) ] ;
  if ( pc === usuario_respuesta ) {
    alert(`Empate. Elegiste: ${usuario_respuesta} Pc: ${pc}`);
  } else if( usuario_respuesta === 'piedra' && pc === 'tijera' ) {
    alert(`Ganaste. Elegiste: ${usuario_respuesta} Pc: ${pc}`);
  } else if( usuario_respuesta === 'tijera' && pc === 'papel' ) {
    alert(`Ganaste. Elegiste: ${usuario_respuesta} Pc: ${pc}`);
  } else if( usuario_respuesta === 'papel' && pc === 'piedra' ) {
    alert(`Ganaste. Elegiste: ${usuario_respuesta} Pc: ${pc}`);
  } else {
    alert(`Perdiste. Elegiste: ${usuario_respuesta} Pc: ${pc}`);
  }
}

game(usuario);

Yo usé el operador condicional ternario y me quedó así (aunque se puede enchular un montón con html y css):

var maquina, user;

function juego (maquina, user){
    return (maquina == "piedra" && user == "papel" ? "¡Gana user con PAPEL!" : maquina == "tijeras" && user == "piedra" ? "¡Gana user con PIEDRA!" : maquina == "papel" && user == "tijeras" ? "¡Gana user con TIJERAS!" : maquina == user ? "Empate" : "¡Gana Máquina!");
}

fue lo mas simple que pude hacer espero que les agrade

let opcion1 = "piedra";
let opcion2 = "tijera";
let opcion3 = "papel";

function juego(var1 , var2){
    if ((var1 === opcion1 && var2 === opcion1) || (var1 === opcion2 && var2 === opcion2) || (var1 === opcion3 && var2 === opcion3)){
        console.log("esto es un empate");
    }else if ((var1 === opcion1 && var2 === opcion2) || (var1 === opcion2 && var2 === opcion3) || (var1 === opcion3 && var2 === opcion1)){
        console.log("jugador gano");
    }else if ((var1 === opcion1 && var2 === opcion3) || (var1 === opcion2 && var2 === opcion1) || (var1 == opcion3 && var2 === opcion2)){
        console.log("computadora gano");
    }

}

juego("piedra", "papel") 

Mi reto 😃
Trate de hacerlo solita, tengo ansias locas por aprender

<function juegoAzar(pc, user) {
    var res= null; 
    
    if( pc === "piedra" && user === "papel"){
        res="Gano usuario";
        console.log(res);
    }else if (pc === "piedra" && user === "tijera"){
        res="Ganó pc";
        console.log(res);
    }else if(pc === "tijera" && user === "piedra"){
        res="Gano usuario";
        console.log(res);
    }else if( pc === "tijera" && user === "papel"){
        res="Ganó pc";
        console.log(res);
    }else if ( user === "piedra" && pc === "papel"){
        res="Ganó pc";
        console.log(res);
    } else if ( user === "piedra" && pc === "tijera"){
        res="Gano usuario";
        console.log(res);
    }else if(user === "tijera" && pc === "piedra"){
        res="Ganó pc";
        console.log(res);
    }else if( user === "tijera" && pc === "papel"){
        res="Gano usuario";
        console.log(res);
    }else{
        res= "Estan empates";
        console.log(res);
    }
}
> 

¡Reto logrado!

var piedra = "piedra";
var papel = "papel";
var tijera = "tijera";

function juego(jugador1, jugador2) {
  if (jugador1 === piedra) {
    if (jugador2 === piedra) {
      return "empate"
    }
    if (jugador2 === papel) {
      return "gana jugador 2"
    }
    if (jugador2 === tijera) {
      return "gana jugador 1"
    }
  }
  if (jugador1 === papel) {
    if (jugador2 === piedra) {
      return "gana jugador 1"
    }
    if (jugador2 === papel) {
      return "empate"
    }
    if (jugador2 === tijera) {
      return "gana jugador 2"
    }
  }
  if (jugador1 === tijera) {
    if (jugador2 === piedra) {
      return "gana jugador 2"
    }
    if (jugador2 === papel) {
      return "gana jugador 1"
    }
    if (jugador2 === tijera) {
      return "empate"
    }
  }
}

console.log(juego("tijera", "tijera")); // empate

por fin lo entendí
comparto mi código

var op1 = "piedra";
var op2 = "papel";
var op3 = "tijera";
var maquina = op2;
var humano = op2;

var resultado = function (maquina,humano) {
    if (maquina == humano) {
          console.log("EMPATE")}

    else if ((maquina == op1 && humano == op2) || 
             (maquina == op2 && humano == op3 )||
             (maquina == op3 && humano == op1))     
             {console.log("MAQUINA PIERDE")}

    else if  ((humano == op1 && maquina == op2) || 
             (humano == op2 && maquina == op3 )||
             (humano == op3 && maquina == op1))     
             {console.log("HUMANO PIERDE")} 
                     
    
};

resultado (maquina,humano) ;

Se supone que es un curso básico, no sé porque los compañeros que saben más hacen su ejercicio aplicando cosas más avanzadas. Lo que hacen no es un aporte sino una confusión para quienes andan iniciando. Si ya saben JavaScript, dejen que los demás aprendan a su ritmo. Reflexionen y tengan empatía. Es como un curso de Excel...quieres aprender de cero y viene alguien y mete su código de macros...tengan empatía.

será tu primera vez xd

var opcion;

function juguemos(opcion){
    if(opcion === "piedra"){
        console.log("ganaste")
    } else if(opcion === "papel"){
        console.log("perdiste")
    } else{
        console.log("empate");
    }
}

La idea supongo era hacerlo con los conocimientos entregados hasta el momento en el video sin colocar cosas demás como randoms etc, así que aquí va mis respuesta con sólo lo estrictemente enseñado hasta esta clase:

var piedra = String(“piedra”);
var papel = String(“papel”);
var tijera = String(“tijera”);
var machine = String(piedra);
var seleccion =String();

var miFuncion = function (seleccion){

if (seleccion === machine){
console.log( "Esto es un empate");
}   else if(seleccion === "piedra" && machine=== tijera){
        console.log("Ganaste , la piedra  le gana a las tijeras que selecciono la maquina");
    }else if(seleccion === "piedra" && machine=== papel){
        console.log("perdiste , el papel le  gana  a la piedra  que seleccionaste");
    }else if(seleccion === "papel" && machine=== tijera){
        console.log("Perdiste , las tijeras ganan");
    }else if(seleccion === "papel" && machine=== piedra){
        console.log("Ganaste ,El papel envuelve a la piedra");
    }else if(seleccion === "tijera" && machine=== piedra){
        console.log("Perdiste te rompieron las tijeras jajaja");
    }else if (seleccion === "tijera" && machine=== papel){
        console.log("Ganaste , Tus tijeras cortaron el papel");
    }


}

// llamada de ejemplo a la función
miFuncion(papel);

<h3>11- Condicionales: If, Else, else if</h3>

Las condicionales son las reglas para validar si algo es false o true.

if (true)Dentro de la condición “()” todo tiene que ser verdad, sino no pasará… → Si fuese falso, no pasa nada.

else {Sí es false pasa a esta otra condición.

else if {Sí no es true, puede ser esto…

Tenemos otro operador, que se llama "Operador Ternario" que es un if y un else en una sola línea.

Este es un ejemplo simple:

condition ? true : false;
var numero = 1;

var resultado = numero === 1 ? "si soy uno" : "No soy uno";

html:

<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Piedra, Papel o Tijera</title>
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <header class="header">
        <h1>Juego Clasico</h1>
    </header>

    <div class="instrucciones">
        <h2>Instrucciones</h2>
        <p>Para jugar debes selecionar una opción y despues hacer Click en "Jugar".</p>
    </div>

    <div class="container-opciones">
        <button onclick="changeOption('piedra')" class="container-opciones__opcion">Piedra</button>
        <button onclick="changeOption('papel')" class="container-opciones__opcion">Papel</button>
        <button onclick="changeOption('tijera')" class="container-opciones__opcion">Tijera</button>
    </div>


    <div class="container-jugar">
        <button class="jugar" id="buttonPlay">Jugar</button>
    </div>

    <div class="resultado">
        <h1 id="seleccion">Selecciona una opción</h1>
        <h1 id="random"></h1>
        <h1 id="resultado"></h1>
    </div>

    <script src="./script.js"></script>
</body>

</html>

javascript:

var userOption = null
var machineOption 
var buttonPlay = document.getElementById("buttonPlay")

function changeOption(opcion) {
    userOption = opcion
    document.getElementById("seleccion").innerHTML = `Usuario: ${userOption}`
    document.getElementById("random").innerHTML = ""
    document.getElementById("resultado").innerHTML = ""
}

function runGame(user) {
    machineOption  = randomOption()

    if (user === machineOption) {
        return "Empate"
    } else if (user === "papel") {
        if (machineOption === "tijera") {
            return "Perdiste"
        } else {
            return "Ganaste"
        }
    } else if (user === "piedra") {
        if (machineOption === "papel") {
            return "Perdiste"
        } else {
            return "Ganaste"
        }
    } else if (user === "tijera") {
        if (machineOption === "piedra") {
            return "Perdiste"
        } else {
            return "Ganaste"
        }
    }

}

buttonPlay.onclick = () => {
    var resultado = runGame(userOption)
    document.getElementById("random").innerHTML = `Maquina: ${machineOption}`
    document.getElementById("resultado").innerHTML = resultado
}

function randomOption() {
    var random = Math.floor(Math.random() * 3)
    var opciones = ["piedra", "papel", "tijera"]
    return opciones[random]
}

css:

body {
    margin: 0;
    background-color: #3c3a3a;
}

.header {
    text-align: center;
    color: white;
    margin-top: -22px;
    background-color: #03a9f4;
    height: 3rem;
}

.instrucciones {
    margin-left: 20px;
    color: white;
    font-size: 20px;
}

.container-opciones {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

button {
    padding: 10px 20px;
    margin-right: 10px;
    background-color: #03a9f4;
    border: none;
    border-radius: 8px;
    color: white;
    font-size: 24px;
    outline: none;
    cursor: pointer;
}

button:hover {
    background-color: springgreen;
}

.container-jugar {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.jugar {
    width: 20%;
}

.resultado {
    flex: 1;
    text-align: center;
    font-size: 26px;
    margin: 0;
    color: white;
    text-transform: uppercase;
}

La verdad quedé aquí un tiempo, y no quería avanzar hasta culminar este ejercicio y hacer mi aporte. Como se me hacía un poco tedioso hacer todo desde el navegador por ahora, lo hice con Node.js. No se nada de Node, sólo fui investigando por aquí y por allá, hasta darle forma al asunto y creo que quedó bien, al menos funciona. Le he dejado los comentarios y todo, para explicar paso a paso que hace cada cosa y poder darle una luz a los que también estén en el mismo proceso que yo. Colocaré cuales son las líneas exclusivas de Node.js para que las omitan y puedan ejecutar en sus navegadores código JavaScript.

Este primer ejm, lo hice con los condicionales tradicionales (if… else if… else):

// NODE-CLI: Cargo el módulo de node para prompt. Si no lo tenemos lo instalamos: npm install prompt-sync
const prompt = require("prompt-sync")();

// Cree un array con las opciones del juego:
const opciones = ["Piedra", "Papel", "Tijeras"];

// Cree una función que genere un número al azar:
function randNumCpu(min, max) {
    return Math.floor(min + Math.random() * (max - min + 1));
}
// Creo la variable que utilizar la función generadora de números aleatorios, limitándola a solo 3 números: 0, 1 y 2, los cuales van acorde a la posición de cada una de las opciones de mi array:
var cpuOption = parseInt(randNumCpu(0, 2));

// Ahora generaré una input para que el usuario pueda introducir su jugada:
var userPlayerInput = prompt("Cual es su opción de juego?: 0 = Piedra; 1 = Papel y 2 = Tijeras: ");

// Hice una función con los los condicionales if else if else:
var resultado = function(userPlayerInput, cpuOption) {
    if (opciones[userPlayerInput] === opciones[cpuOption]) {
        console.log("Empatados, no hay ganador!");
    } else if ((opciones[userPlayerInput] == "Tijeras" && opciones[cpuOption] == "Papel") || (opciones[userPlayerInput] == "Papel" && opciones[cpuOption] == "Tijeras")) {
        console.log("Gana Tijeras!!!");
    } else if ((opciones[userPlayerInput] == "Tijeras" && opciones[cpuOption] == "Piedra") || (opciones[userPlayerInput] == "Piedra" && opciones[cpuOption] == "Tijeras")) {
        console.log("Gana Piedra!!!");
    } else if ((opciones[userPlayerInput] == "Papel" && opciones[cpuOption] == "Piedra") || (opciones[userPlayerInput] == "Piedra" && opciones[cpuOption] == "Papel")) {
        console.log("Gana Papel!!!");
    } else {
        console.log("Error, intente de nuevo");
    }
};

// Muestro los resultados
console.log("Estos fueron los resultados: ");
console.log("Su opción escogida fue: " + opciones[userPlayerInput]);
console.log("La opción de CPU fue: " + opciones[cpuOption]);

resultado(userPlayerInput, cpuOption);

<code> 

Y ahora este segundo ejercicio de ejemplo lo hice con Operador ternario, en vez de los condicionales tradicionales:


// NODE-CLI: Cargo el módulo de node para prompt. Si no lo tenemos lo instalamos: npm install prompt-sync
const prompt = require("prompt-sync")();

// Cree un array con las opciones del juego:
const opciones = ["Piedra", "Papel", "Tijeras"];

// Cree una función que genere un número al azar:
function randNumCpu(min, max) {
    return Math.floor(min + Math.random() * (max - min + 1));
}
// Creo una función que genere aleatoriamente números: 0, 1 y 2, los cuales van acorde a la posición de cada una de las opciones de mi array:
var cpuOption = parseInt(randNumCpu(0, 2));

// Ahora generaré una input para que el usuario pueda introducir su jugada:
var userPlayerInput = prompt("Cual es su opción de juego?: 0 = Piedra; 1 = Papel y 2 = Tijeras: ");


// Hago la función con el operador ternario:
var resultado = function(userPlayerInput, cpuOption) {
    return (opciones[userPlayerInput] === opciones[cpuOption]) ? "Empatados, no hay ganador!" :
        ((opciones[userPlayerInput] == "Tijeras" && opciones[cpuOption] == "Papel") || (opciones[userPlayerInput] == "Papel" && opciones[cpuOption] == "Tijeras")) ? "Gana Tijeras!!!" :
        ((opciones[userPlayerInput] == "Tijeras" && opciones[cpuOption] == "Piedra") || (opciones[userPlayerInput] == "Piedra" && opciones[cpuOption] == "Tijeras")) ? "Gana Piedra!!!" :
        ((opciones[userPlayerInput] == "Papel" && opciones[cpuOption] == "Piedra") || (opciones[userPlayerInput] == "Piedra" && opciones[cpuOption] == "Papel")) ? "Gana Papel!!!" :
        "Error, intente de nuevo";
}


// Muestro los resultados
console.log("Estos fueron los resultados: ");
console.log("Su opción escogida fue: " + opciones[userPlayerInput]);
console.log("La opción de CPU fue: " + opciones[cpuOption]);

console.log(resultado(userPlayerInput, cpuOption));
<code> 

Espero que ayude! 😃

var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijera";

function juego(usuario,maquina){
  if (usuario != maquina ){
    if (usuario===op1 && maquina===op2){
      console.log ("perdiste contra la maquina");
      console.log("Maquina : "+maquina);
      console.log("Usuario : "+usuario);
      
    } else    if (usuario===op1 && maquina===op3){
      console.log ("felicidades le ganastea la maquina");
      console.log("Usuario : "+usuario);
      console.log("Maquina : "+maquina);
      
    } else if (usuario===op2 && maquina===op3){
      console.log ("Perdiste contra la Maquina");
      console.log("Maquina : "+maquina);
      console.log("Usuario : "+usuario);
      
    } else if (usuario===op2 && maquina===op1){
      console.log ("felicidades le ganastea la maquina");
      console.log("Usuario : "+usuario);
      console.log("Maquina : "+maquina);
      
    } else if (usuario===op3 && maquina===op1){
      console.log ("Perdiste contra la Maquina");
      console.log("Maquina : "+maquina);
      console.log("Usuario : "+usuario);
      
    } else if (usuario===op3 && maquina===op2){
      console.log ("felicidades le ganastea la maquina");
      console.log("Usuario : "+usuario);
      console.log("Maquina : "+maquina);
      
    
  }
}
    else 
  console.log("empate con : " + usuario +" "+ maquina);
  }

//llamando las ++function++ con las diferentesopciones de juego

juego(op1,op1)

juego(op1,op2)

juego(op1,op3)

juego(op2,op2)

juego(op2,op3)

juego(op2,op1)

juego(op3,op3)

juego(op3,op1)

juego(op3,op2)

Buenas noches,

Este es mi juego de piedra, papel o tijeras con if, else y else if.

Muchas gracias.

Atentamente
Damian Arenales

Mi aporte!

<var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijera";

var jugar = function (jugador, cpu) {
    if (jugador === op1 && cpu === op3) {
        console.log("El jugador ha ganado Piedra a Tijera!");
    } else if (jugador === op2 && cpu === op1) {
        console.log("El jugador ha ganado Papel a Piedra!");
    } else if (jugador === op3 && cpu === op2) {
        console.log("El jugador ha ganado Tijera a Papel!");
    } else if (jugador === cpu) {
        console.log("Has empatado!")

    }

    else {
        console.log("Has perdido!")
    }
    
}> 

Reto cumplido: Juego de Piedra, Papel y Tijera 😎

var choice = "piedra";
var bot = "papel";
function juego(choice, bot){
    if(choice == "piedra" && bot == "papel"){
        console.log("Tu perdiste");
    }else if(choice == "piedra" && bot == "tijera"){
        console.log("Tu ganaste");
    }else if(choice == "papel" && bot == "tijera"){
        console.log("Tu perdiste");
    }else if(choice == "papel" && bot == "piedra"){
        console.log("Tu ganaste");
    }else if(choice == "tijera" && bot == "piedra"){
        console.log("Tu perdiste");
    }else if(choice == "tijera" && bot == "papel"){
        console.log("Tu ganaste");
    }else if(choice === bot){
        console.log("Empate");
    }else{
        console.log("Solo puedes elegir piedra, papel o tijera");
    }
}

juego(choice, bot);

el resultado al reto

function aleatorio(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
}

function ganar(jugadaUsuario) {
  let pc = ["piedra", "papel", "tijera"];
  let posibilidad = aleatorio(0, pc.length-1);
  let jugadaPC = pc[posibilidad];
  if (jugadaPC === jugadaUsuario) {
    resultado =  "empate";
  } else if (
    (jugadaPC === "piedra" && jugadaUsuario === "tijera") ||
    (jugadaPC === "papel" && jugadaUsuario === "piedra") ||
    (jugadaPC === "tijera" && jugadaUsuario === "papel") 
  ) {
    resultado = "Gana PC";
  } else {
    resultado = "Gana Usuario";
  }
  console.log("jugadaPC", jugadaPC);
  console.log("jugadaUsuario", jugadaUsuario);
  return resultado
}

var jugadaUsuario = prompt("Introduzca un valor valor validp");

ganar(jugadaUsuario);

Aquí esta mi reto, para el reto quise generar el valor del jugador pc como aleatorio y el jugador user (nosotros) pueda ingresar el valor de numero en la función, 0 Piedra, 1 Papel y 2 Tijera, generar el resultado. Espero les guste. Saludos.

var user = 1;
piedra_papel_tijera( user);
function piedra_papel_tijera( user){
// 0 Piedra
// 1 Papel
// 2 Tijera

var pc = Math.round(Math.random()*2);


if (user == pc ){
    console.log('empate');
} else if(user == 0 && pc == 2) { 
    console.log('piedra - tijera');
    console.log('gana user');
} else if(user == 2 && pc == 1) { 
    console.log('tijera - papel');
    console.log('gana user');
} else if(user == 1 && pc == 0) { 
    console.log('Papel - piedra');
    console.log('gana user');
} else if(pc == 0 && user == 2) { 
    console.log('piedra - tijera');
    console.log('gana pc');
} else if(pc == 2 && user == 1) { 
    console.log('tijera - papel');
    console.log('gana pc');
} else if(pc == 1 && user == 0) { 
    console.log('Papel - piedra');
    console.log('gana pc');
} 

//console.log(pc);
//console.log(user);
}

Combiné el algoritmo de este reto con código HTML y CSS, este fue el resultado: Ver está página


Pueden ver el repositorio aquí

Espero les sirva mi aporte, yo lo primero que hice fue escribir en que orden se puede ganar el juego y en base a eso solo escribí las condiciones de victoria porque al no ser victoria pues obviamente iba a ser derrota, y una condición extra que fue la de si los dos elegían la misma opción que daría un empate.

<code> 


// papel > piedra > tijeras > papel 
var user;
var pc;

var win = "Ganaste, bien jugado";
var lose = "Perdiste, suerte para la próxima";
var tie = "Tu y la maquina quedaron empate, suerte para la próxima";

function game (user, pc){
      if (user == "papel" && pc == "piedra") {
            console.log(win);
      } else if (user == "piedra" && pc == "tijeras") {
            console.log(win);
      } else if (user == "tijeras" && pc == "papel") {
            console.log(win);
      } else if (user === pc) {
            console.log(tie);
      } else {
            console.log(lose);
      }
}

game("piedra", "papel");

Aqui mi programa del reto, cabe señalar que al principio me costo entender como comparar las variables, me ayude de los post de la comunidad, tuve en principio duda de cuantas comparaciones hacer, pero después de analizar un poco concluí en que solo eran necesarias las comparaciones de cuando gana el usuario y cuando empata todo lo demás es para que el CPU gane.

Esta es mi versión del juego de piedra, papel o tijera, he usado un array y generar un aleatorio para escoger la opción:

function jugarPiedraPapelTijera(valor){
    let juego = ["piedra","papel","tijera"]
    var index = Math.floor( Math.random()* 3);
    var cpu = juego[index]

    if (valor == cpu) {
        console.log("Empate 🙃 " + valor + " vs " + cpu)
    }else if (valor == "piedra" && cpu == "tijera"){
        console.log("Ganaste! 🥳 " + valor + " vs " + cpu)
        valor
    }else if (valor == "papel" && cpu == "piedra") {
        console.log ("Ganaste! 🥳 " + valor + " vs " + cpu)
        valor
    } else if (valor == "tijera" && cpu == "papel") {
        console.log ("Ganaste! 🥳 " + valor + " vs " + cpu)
        valor
    }else {
        console.log("Perdiste 😭 " + valor + " vs " + cpu)
        valor
    }
}

// tu jugada se pasa como un string
jugarPiedraPapelTijera("papel")

Ayer hice el reto y comenté. Hoy hice un nueva versión más corta. 😃

var piedra = "piedra";
var papel = "papel";
var tijera = "tijera";

function juego(jugador1, jugador2) {
  if (jugador1 === jugador2) {
    console.log("empate");
  }
  else if (jugador1 === piedra && jugador2 === tijera || jugador1 === papel && jugador2 === piedra || jugador1 === tijera && jugador2 === papel) {
    console.log("gana jugador 1");
  }
  else if (jugador1 === piedra && jugador2 === papel || jugador1 === papel && jugador2 === tijera || jugador1 === tijera && jugador2 === piedra) {
    console.log("gana jugador 2");
  }
  else {
    console.log("Debes ingresar uno de los tres valores establecidos");
  }
}

juego("tijera", "tijera"); // empate

Hola les comparto mi código, quería que el código escogiera una opción de manera random y solo lo conseguí utilizando un pequeño array con las opciones.

function game (user, cpu){
    if(user === cpu){
        console.log("escogí " + cpu + " Es un empate, vuelve a intentarlo");
    }
    else if(cpu === "piedra" && user === "papel") {
        console.log("escogí " + cpu + " Ganaste!!");
    }
    else if (cpu == "piedra" && user == " tijera") {
        console.log("Perdiste, escogi " + cpu + " sigue intentando.");
    }
    else if(cpu === "papel" && user === "tijera") {
        console.log("Escogí " + cpu + " Ganaste!!");
    }
    else if (cpu == "papel" && user == "piedra") {
        console.log("Perdiste, escogi " + cpu + " sigue intentando.");
    }
    else if(cpu === "tijera" && user === "piedra") {
        console.log("Escogí " + cpu + " Ganaste!!");
    }
    else if (cpu == "tijera" && user == "papel") {
        console.log("Perdiste, escogi " + cpu + " sigue intentando.");
    }
}

var pregunta = prompt("Escoge, Piedra, Papel o Tijera");
var user = pregunta.toLowerCase();

var option = ["piedra", "papel", "tijera"];
var cpu = option[Math.floor(Math.random()*3)];

game(user, cpu);

Se le puede agregar más código para solicitar datos con botones pero aún no lo hemos visto. Entonces por ahora es cambiar la variable “eleccion” de cada jugador para cada caso. Este es mi jueguito jejeje ✌🏽😎.

//Nombres de los jugadores
var jugadorA = "Arturo";
var jugadorB = "Andrea";

//Opciones a elegir en el juego
var piedra = "✊🏽 Piedra";
var papel = "✋🏽 Papel";
var tijera = "✌🏽 Tijera";

//Elección de cada jugador
var eleccionA = tijera;
var eleccionB = piedra;

//Ejecución del código
juego();



//Arbitro 👶🏽
function juego() {
 
  //Elecciones mostradas en pantalla
  console.log(jugadorA + ": " + eleccionA);
  console.log(jugadorB + ": " + eleccionB);


  //Piedra vs Papel
  if (eleccionA == piedra && eleccionB == papel) {
    console.log("Gana " + jugadorB);
  }

  //Piedra vs Tijera
  else if (eleccionA == piedra && eleccionB == tijera) {
    console.log("Gana " + jugadorA);
  }

  //Papel vs Piedra
  else if (eleccionA == papel && eleccionB == piedra) {
    console.log("Gana " + jugadorA);
  }

  //Papel vs Tijera
  else if (eleccionA == papel && eleccionB == tijera) {
    console.log("Gana " + jugadorB);
  }

  //Tijera vs Piedra
  else if (eleccionA == tijera && eleccionB == piedra) {
    console.log("Gana " + jugadorB);
  }

  //Tijera vs Papel
  else if (eleccionA == tijera && eleccionB == papel) {
    console.log("Gana " + jugadorA);
  }

  //Si sacan lo mismo o sacan una pistola 😀🙃
  else {
    console.log("Empate");
  }
 }

Lo hice con arrays para buscar otro camino.

Este es mi codigo, no supe como hacer que en la primera funcion me devolviera el resultado con las manos utilizadas, asi que hice otra funcion.

<code>

var Piedra = 1; 
var Papel = 2;
var Tijera = 3;
var jugador = null;
var computer = null;

function game (computer, jugador ){

    if (jugador === computer){
        console.log ("EMPATE!!!!");
    } else if (jugador === Piedra && computer === Tijera){
        console.log("JUGADOR GANA!!!!");
    } else if (jugador === Piedra && computer === Papel){
        console.log("COMPUTER GANA!!!!");
    } else if (jugador === Tijera && computer === Papel){
        console.log("JUGADOR GANA!!!!");
    } else if (jugador === Tijera && computer === Piedra){
        console.log("COMPUTER GANA!!!!");
    } else if (jugador === Papel && computer === Tijera){
        console.log("COMPUTER GANA!!!!");
    } else if (jugador === Papel && computer === Piedra){
        console.log("JUGADOR GANA!!!!");
    } else {
        console.log ("Ingrese los datos nuevamente");
    }
}

game (2, 1);

RETO CUMPLIDO… Tuve que hacer el diagrama de flujo 😓

var num = prompt("Escoge un numero piedra=1 papel=2 tijera=3")
var piedra = 1;
var papel = 2;
var tijera = 3;
var cpu = (Math.floor(Math.random()*(4-1)+1));

function game(){
    if(num == cpu){
        console.log("EMPATE")
    }else if(num== 1 && cpu == 2){
        console.log("Escogiste piedra y el cpu papel")
        console.log("PERDISTE")
    }
    else if(num== 1 && cpu == 3){
        console.log("Escogiste piedra y el cpu tijera")
        console.log("GANASTE")
    }
    else if(num== 2 && cpu == 1){
        console.log("Escogiste papel y el cpu piedra")
        console.log("GANASTE")
    }
    else if(num== 2 && cpu == 3){
        console.log("Escogiste papel y el cpu tijera")
        console.log("PERDISTE")
    }
    else if(num== 3 && cpu == 1){
        console.log("Escogiste tijera y el cpu piedra")
        console.log("PERDISTE")
    }
    else if(num== 3 && cpu == 2){
        console.log("Escogiste tijera y el cpu papel")
        console.log("GANASTE")
    }

}
game();```

Reto terminado, en mi caso lo realice incluyendo la opción que la maquina elija un a opción aleatoria dentro del un array con la función Math.random(), espero que les ayude y cualquier mejora seria de mucha ayuda. Gracias

Comparto mi solución, me costó bastante, me asusté.

var piedra = "piedra";
var papel = "papel";
var tijera = "tijera";


function juego(user,pc){
	if(user == pc){
        console.log("ES UN TREMENDO EMPATE !!!");
    } else if(user == "tijera"){
        if(pc == "piedra"){
            console.log("¡Ganó la PC! Buena suerte la próxima vez.");
        } else{
            console.log("¡Has ganado! Ya era hora...");
        }
	} else if (user == "piedra"){
        if(pc == "papel"){
            console.log("¡Ganó la PC! Buena suerte la próxima vez.");
        } else{
            console.log("¡Has ganado! Ya era hora...");
        }
    }else if (user == "papel"){
        if(pc == "tijera"){
            console.log("¡Ganó la PC! Buena suerte la próxima vez.");
        } else{
            console.log("¡Has ganado! Ya era hora...");
        }
    }
}

Con un poco más de juego… una f(x) random para que se juegue con rival

Yo hice mi reto, ayudamndome con el codigo de el siguinte

enlace:https://codepen.io/boomer1204/pen/pjPYXK

Sin embargo, le puse mi toque personal al html y al css, el resultado me gusta.

Mi codigo quedo asi:

Html y css:

<!DOCTYPE html>
<html lang=“en”>
<head>
<meta charset=“UTF-8” />
<link
href="https://fonts.googleapis.com/css?family=Muli&display=swap"
rel=“stylesheet”
/>
<meta name=“viewport” content=“width=device-width, initial-scale=1.0” />
<title>Piedra-Papel-Tijera</title>
</head>

<style>
body {
margin: 0px;
font-family: “Muli”, sans-serif;
}
header {
background: gray;
text-align: center;
height: 20vh;
}
header h1 {
margin: 0px;
}

.container {
  background: gray;
  width: 100%;
  height: 80vh;
  border: 0px;
}
.jugadas {
  display: flex;
  justify-content: center;
}
.jugadas__piedra {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #d9c5b2;
  width: 200px;
  height: 200px;
  margin: 20px;
}
.jugadas__papel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #d9c5b2;
  width: 200px;
  height: 200px;
  margin: 20px;
}
.jugadas__tijera {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #d9c5b2;
  width: 200px;
  height: 200px;
  margin: 20px;
}

button {
  border: none;
  border-radius: 100px;
  color: white;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  outline: none;
}
button:hover {
  transform: scale(1.25);
}
.elecciones {
  height: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* background: yellow; */
}
.eleccion__usuario {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  /* color: white; */
  text-align: center;
  font-size: 16px;
  width: 200px;
  height: 100px;
  background: #d9c5b2;
}

.eleccion__usuario h3 {
  margin: 0px;
}
.eleccion__usuario--content {
  font-size: 25px;
  font-weight: bold;
}
.eleccion__pc {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  text-align: center;
  font-size: 16px;
  width: 200px;
  height: 100px;
  background: #d9c5b2;
}
.eleccion__pc h3 {
  margin: 0px;
}
.eleccion__pc--content {
  font-size: 25px;
  font-weight: bold;
}
.eleccion__ganador {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  text-align: center;
  font-size: 16px;
  width: 200px;
  height: 100px;
  background: #ffba30;
  border: 5px solid #221d23;
}
.eleccion__ganador h3 {
  margin: 0px;
}
.eleccion__ganador--content {
  font-size: 25px;
  font-weight: bold;
}

</style>
<body>
<header>
<h1>Juguemos a Piedra, Papel o Tijera</h1>
<h3>Selecciona una opcion marcando un icono</h3>
</header>
<section class=“container”>
<section class=“jugadas”>
<div class=“jugadas__piedra”>
<h1>Piedra</h1>
<button id=“piedra”>
<img src="/Stone.png" width=“75px” height=“75px” alt=“Stone” />
</button>
</div>
<div class=“jugadas__papel”>
<h1>Papel</h1>
<button id=“papel”>
<img src="/Paper.png" width=“75px” height=“75px” alt=“papel” />
</button>
</div>
<div class=“jugadas__tijera”>
<h1>Tijera</h1>
<button id=“tijera”>
<img src="/Scissors.png" width=“75px” height=“75px” alt=“Scissor” />
</button>
</div>
</section>
<section class=“elecciones”>
<div class=“eleccion__usuario”>
<h3>Usted eligió:</h3>
<div class=“eleccion__usuario–content”>
<span id=“mySelection”></span>
</div>
</div>
<div class=“eleccion__pc”>
<h3>Computador eligió:</h3>
<div class=“eleccion__pc–content”>
<span id=“compSelection”></span>
</div>
</div>
<div class=“eleccion__ganador”>
<h3>El ganador es:</h3>
<div class=“eleccion__ganador–content”>
<span id=“winner”></span>
</div>
</div>
</section>
</section>
<script type=“text/javascript” src="/juegoppt.js"></script>
</body>
</html>

El js:

var mySelection, compSelection, winner;

mySelection = document.getElementById(“mySelection”);
compSelection = document.getElementById(“compSelection”);
winner = document.getElementById(“winner”);
piedraButton = document.getElementById(“piedra”);
papelButton = document.getElementById(“papel”);
scissorButton = document.getElementById(“tijera”);

piedraButton.addEventListener(“click”, function () {
play(1);
});

papelButton.addEventListener(“click”, function () {
play(2);
});

scissorButton.addEventListener(“click”, function () {
play(3);
});

var play = function (e) {
var myResponse = e;
var compResponse = compSelectionGenerator();

mySelection.innerHTML = translator(myResponse);
compSelection.innerHTML = translator(compResponse);

var winnerDecision = processWinner(myResponse, compResponse);
var winnerValue = translator(winnerDecision);

winner.innerHTML = winnerValue;
};

var compSelectionGenerator = function () {
return Math.floor(Math.random() * 3) + 1;
};

var translator = function (input) {
input = parseInt(input);
if (input === 0) {
return “Empate”;
} else if (input === 1) {
return “Piedra”;
} else if (input === 2) {
return “Papel”;
} else if (input === 3) {
return “Tijera”;
} else {
return “Please choose 1 for piedra, 2 for papel or 3 for tijera”;
}
};

var processWinner = function (myResp, compSelect) {
var diff = Math.abs(myResp - compSelect);

if (diff === 1) {
if (myResp > compSelect) {
return myResp;
} else {
return compSelect;
}
} else if (diff > 1) {
if (myResp < compSelect) {
return myResp;
} else {
return compSelect;
}
} else if (diff === 0) {
return 0;
}
};

var list = ["piedra", "papel", "tijeras"];

var a = list.indexOf(prompt("piedra, papel o tijeras"));
var b = list.indexOf(prompt("piedra, papel o tijeras"));

if (a > b) {
	alert("gana el jugador 1");
} else if (a < b ) {
	alert("gana el jugador 2");
} else {
	alert("empate");
}```
```js let juegoMaquina = ""; let juegoUser = ""; if ( juegoMaquina !== "Piedra" && juegoMaquina !== "Papel" && juegoMaquina !== "Tijera" && juegoUser !== "Piedra" && juegoUser !== "Papel" && juegoUser !== "Tijera" ) { console.log("Opcion incorrecta, aprenda a jugar"); } else { console.log(jugar(juegoMaquina, juegoUser)); } function jugar (juegoMaquina, juegoUser) { if (juegoMaquina === juegoUser) { return "Empatados"; } else if (juegoMaquina !== juegoUser) { if ( (juegoUser === "Tijera" && juegoMaquina === "Papel") || (juegoUser === "Piedra" && juegoMaquina === "Tijera") || (juegoUser === "Papel" && juegoMaquina === "Piedra") ) { return "Ganaste :D"; } else { return "Perdiste :("; } } }; ```
```js var tijera = 1; var papel = 2; var piedra =3; var nomTijera = "tijera"; var nomPapel = "papel"; var nomPiedra = "piedra"; function juego(jugador,cpu){ if (jugador === 1 && cpu === 1 ){ console.log("Jugador es "+ nomTijera + " cpu es "+ nomTijera); console.log(" es empate"); } else if (jugador === 1 && cpu === 2 ){ console.log("Jugador es "+ nomTijera + " cpu es "+ nomPapel); console.log("Jugador ganó"); } else if (jugador === 1 && cpu === 3 ){ console.log("Jugador es "+ nomTijera + " cpu es "+ nomPiedra); console.log(" Cpu ganó"); } else if (jugador === 2 && cpu === 2 ){ console.log("Jugador es "+ nomPapel + " cpu es "+ nomPapel); console.log(" es empate"); } else if (jugador === 2 && cpu === 1 ){ console.log("Jugador es "+ nomPapel + " cpu es "+ nomTijera); console.log(" Cpu ganó"); } else if (jugador === 2 && cpu === 3 ){ console.log("Jugador es "+ nomPapel + " cpu es "+ nomPiedra); console.log(" jugador ganó"); } else if (jugador === 3 && cpu === 3 ){ console.log("Jugador es "+ nomPiedra + " cpu es "+ nomPiedra); console.log(" es empate"); } else if (jugador === 3 && cpu === 1 ){ console.log("Jugador es "+ nomPiedra + " cpu es "+ nomTijera); console.log("Jugador ganó"); } else if (jugador === 3 && cpu === 2 ){ console.log("Jugador es "+ nomPiedra + " cpu es "+ nomPapel); console.log("Cpu ganó"); } else{ console.log("EROR, numeros incorrectos"); } return jugador, cpu; } juego (jugador,cpu); ```
function jugar(user, machine) {
machine = "papel";

if (machine == "papel" && user == "tijera" || machine == "piedra" && user == "papel" || machine == "tijera" && user == "piedra") {
    console.log("GANASTE 👍");
}else if (machine == "papel" && user == "piedra" || machine == "piedra" && user == "tijera"|| machine == "tijera" && user == "papel") {
    console.log("PERDISTE 😡");
} else if (machine == user ) {
    console.log("EMPATE 👍");
}else {
    console.log("el dato no es valido");
    
}
    
}
jugar("tijera"); // GANASTE 👍

Por favor corregirme si algo esta mal, les agradezco.
var first_option = “Rock”;
var second_option =“Paper”;
var third_option = “Scissors”;
var player1;
var player2;
function play(player1, player2){
if (player1=first_option && player2=third_option ||
player1=third_option && player2 === second_option ||
player1
=second_option && player2 ===first_option) {
console.log (“Ganó” + player1);
} if else (player1 === player2 ){
console.log (“Is a tie”);
} else {
console.log (“Ganó” + player2);
}

}
play(first_option, second_option)

Hola compañeros , he mejorado un poco el código de algún compañero que opinan?

var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijera";

var resultado = function(user, cpu){
    if(user != cpu){
        if(user === op1 && cpu === op3, console.log("Jugador Ganó con "+ op1) 
        || user === op2 && cpu === op1, console.log("Jugador Ganó con "+ op2) 
        || user === op3 && cpu === op2, console.log("Jugador Ganó con "+ op3))
        {
           
        }else{
            console.log("La CPU Gano!!")
        }
    }else if(user === cpu){
        console.log("Empate")
    }
};

resultado(op2,op1)

ahora si

//  tijeras = 1;
//  piedra = 2;
//  papel = 3;
var maquina = 1;

function rept (valor){
    if(valor === maquina){
        console.log ("Es un empate ");
    }else if(valor === 1){
       return rep = maquina === 2? "perdiste": "Ganaste"; 
    }else if(valor === 2){
        return rep = maquina === 3? "perdiste": "Ganaste";
    }else if(valor === 3){
        return rep = maquina === 1? "perdiste": "Ganaste";
    }}

Desafío ✊✋✌!


Buenas, comparto mi código del reto de piedra, papel o tijeras. Solo tome en cuenta las jugadas donde el jugador gana la partida, todo lo demás es lo contrario.

Hay dos métodos, pero veamos el más “sencillo” primero. El otro tampoco es que sea imposible.

var piedra = 1;

var papel = 2;

var tijera = 3;


//Método tradicional
function jugar(jugador, pc) {
    if (jugador == pc) {
        console.log("EMPATE");
    } else if (jugador == 1 && pc == 3) {
        console.log("GANASTE");
    } else if (jugador == 2 && pc == 1) {
        console.log("GANASTE");
    } else {
        console.log("PERDISTE");
    }
}


Sencillo y compacto, ¿verdad?.



Sin dar muchas vueltas, hay otro método con algebra, aunque es medio de espantar a las personas. Pero en verdad que viene bien algo de álgebra para estas cosas.

Ambos ejemplos tienen la misma cantidad de líneas de código. Solo que el de álgebra se restan los valores de ambos jugadores.

Nótese que el jugador gana con -2 y 1. Por último, el 0 es empate. 👀👇




//Método utilizando álgebra
function jugar(jugador, pc) {
    if (jugador == pc) {
        console.log("EMPATE");
    } else if (jugador - pc == 1) {
        console.log("GANASTE");
    } else if (jugador - pc == -2) {
        console.log("GANASTE");
    } else {
        console.log("PERDISTE");
    }
}

Espero les sea de utilidad! 👋

Aquí tenéis una alternativa de código sencillito, sin tener que asignarle un número a cada opción 😄 todo se basa en claves y valores (está explicado en el código)

const juego = function(user, cpu) {

    const opciones = {
        Piedra: "Tijeras",
        Papel: "Piedra",
        Tijeras: "Papel",
    /* (clave): "(valor)" */
    };

    if (user == cpu) {
        return "Empate";
    } 
    else if (cpu == opciones[user]) {
        return "Ganas!";
    }
    else {
        return "Pierdes";
    }
}

/* opciones[user] devuelve un valor según una clave, por lo que si el user escribió Piedra, opciones[user] devolverá el valor "Tijeras". Si es el mismo valor que el de la cpu, gana! */

Esta fue la solución que encontré para este reto. Gracias

var opt1 = "Piedra";
var opt2 = "Papel";
var opt3 = "Tijera";
var resultado = function (player, cpu) {
    if (player === opt1 && cpu === opt3){
        console.log("Gana el jugador");

    } else if (player === opt2 && cpu === opt1){
        console.log("Gana el jugador");

    } else if (player === opt3 && cpu === opt2){
        console.log("Gana el jugador");

    }else if (player === cpu) {
        console.log("Empate");
    }else {
        console.log("Pierde el jugador");
    }
}
console.log(resultado);

Se logro

Para esta actividad se agregó una función extra para crear dinamismo al momento de ejecutar el código este vaya variando en sus opciones. (Un aleatorio entre 1 - 3 para que los valores cambien tanto para el usuario como para la computadora)

¿Cómo funciona la función llamada aleatorio?

function aleatorio(max) {
  return Math.floor(Math.random() * max + 1);
}

Elementos a utilizar:

  • Math.random() que devuelve número aletorios entre 0 y 1.

  • Math.floor() devuelve el entero más próximo por debajo.

  • El criterio para la función será 3, inicialmente traerá los valores de 0 a 2 pero como se necesita de 1 a 3 es por eso que se le sumará 1.

Entonces funciona así, como Math.random() devuelve un numero aleatorio entre 0 y 1, supongamos que al ejecutarlo nos da 0.13786178 y el máximo que tenemos es 3 porque tenemos 3 opciones (piedra - papel o tijeras) al multiplicarlo por 3 daría 0.413158534 pero como no se quiere que la parte entera sea cero se le suma uno, dando como resultado 1.413158534 y como Math.floor(), que devuelve el entero por debajo más cercano daría para este caso 1.

La demás parte del código ya tiene que ver con validaciones, entonces está sería mi propuesta:

//Declaración de variables
var optComputador
var optPerson

//Función para crear opción aleatoria en la computadora
function aleatorio(max) {
  return Math.floor(Math.random() * max + 1);
}

//Asignar valores aleatorios a los participantes
optComputador = aleatorio(3);
optPerson = aleatorio(3);

//Función para validar el resultado del juego: 1. Piedra - 2. Papel - 3. Tijera
function game(opcPerson){

  if (opcPerson === optComputador){
      if (opcPerson === 1){
          console.log("Computadora: PIEDRA VS User: PIEDRA")
      }else if(opcPerson === 2){
          console.log("Computadora: PAPEL VS User: PAPEL")
      }else if(opcPerson === 3){
          console.log("Computadora: TIJERA VS User: TIJERA")
      }
    console.log("Empate");
    
  }else if((opcPerson === 1) && (optComputador === 2)){
      console.log("Computadora: PAPEL VS User: PIEDRA");
      console.log("Papel envuelve piedra, GANA Computadora");
      
  }else if((opcPerson === 1) && (optComputador === 3)){
      console.log("Computadora: TIJERA VS User: PIEDRA");
      console.log("Piedra daña tijera, GANA Usuario");
      
  }else if((opcPerson === 2) && (optComputador === 1)){
      console.log("Computadora: PIEDRA VS User: PAPEL");
      console.log("Papel envuelve piedra, GANA Usuario");
      
  }else if((opcPerson === 2) && (optComputador === 3)){
      console.log("Computadora: TIJERA VS User: PAPEL");
      console.log("Tijera corta papel, GANA Computadora");
      
  }else if((opcPerson === 3) && (optComputador === 1)){
      console.log("Computadora: PIEDRA VS User: TIJERA");
      console.log("Piedra daña tijera, GANA Computadora");
      
  }else if((opcPerson === 3) && (optComputador === 2)){
      console.log("Computadora: PAPEL VS User: TIJERA");
      console.log("Tijera corta papel, GANA Usuario");
      
  }else{
      console.log("Opción no válida");
  }
}

//Llamar función para jugar
game(optPerson);

console.log("*****************************************");
console.log("Realizado por Laura Serrano");

Les dejo Mi reto:

var opc1 = "Piedra";
var opc2 = "Papel";
var opc3 = "Tijera";

function resultado(user, cpu) {
        if ((user === opc1 && cpu === opc3)||(user === opc2 && cpu === opc1)) {
            console.log("El usuario Gana!");
        } else if ((user === opc1 && cpu === opc2)||(user === opc2 && cpu === opc3)) {
            console.log("La CPU gana");
        } else {
        console.log("Empate");
    }
}

Aquí está mi solución del reto.

var user
var cpu
console.log("1: Piedra, 2: Papel, 3: tijera")
function juego(user, cpu){
    if(user == cpu){
        console.log("Empate")
    }else if(user === 1 && cpu === 3){
        console.log("Ganaste")
    }else if(user === 2 && cpu === 1){
        console.log("Ganaste")
    }else if(user === 3 && cpu === 2){
        console.log("Ganaste")
    }else{
        console.log("Perdiste")
    }
}
juego(1,2)
juego(3,2)

practicando en la consola.

var puntos =10

if (puntos === 10) {
    alert ("felicidades has pasado👌 ");
 } else if (puntos > 10) {
    alert ("muy bien te has esforzado ✌️");
 } else {
    alert ("no lo has logrado sigue intentando y recuerda NUNCA PARES DE APRENDER");
 }

Mi código:

function jugar(jugador, pc){

    var resultado;
    
    if(jugador == pc){
        resultado = "Empate.";
    }
    else if(jugador == "piedra" && pc == "papel" || jugador == "papel" && pc == "tijeras" || jugador == "tijeras" && pc == "piedra"){
        resultado = "Perdiste.";
    }
    else{
        resultado = "Ganaste!";
    }
    return `${resultado} Usaste ${jugador} y la PC usó ${pc}`;
}

console.log(jugar("piedra", "papel"));

Explico los condicionales:
El primero comprueba si el input del jugador y del pc son iguales, si los son es un empate.
El segundo comprueba si se da al menos una de todas las combinaciones que nos harían perder, si se da; perdimos.
Si no se cumple ni el empate ni la derrota ganamos.

El return devuelve un template string con el resultado y las opciones elegidas

Resuelto ✔️✔️✔️

var jugador = "";
var cpu = "";

function resultado (jugador, cpu){
/*EMPATE*/
if(jugador===cpu){
        console.log("empate "+ jugador);
/*GANAR*/
    } else if (jugador == "piedra" && cpu == "tijera" || jugador == "tijera" && cpu == "papel" || jugador == "papel" && cpu == "piedra"){
        console.log("ganaste rey con trmenda "+ jugador);
/*PERDER*/
    } else if (jugador == "piedra" && cpu == "papel" || jugador == "tijera" && cpu == "piedra" || jugador == "papel" && cpu == "tijera"){
        console.log("perdiste :("); 
    }

   
}
/*PRUEBAS*/
resultado("tijera", "papel");
resultado ("piedra", "papel");

var op1 = “Piedra”;
var op2 = “Papel”;
var op3 = “Tijera”;

// use return para el codigo sea mas eficiente//

var resultado = function(user, cpu){
if(user != cpu){
if(user === op1 && cpu === op3)
return "el usuario GANO con "+ op1

    if(user === op2 && cpu === op1)
        return "el usuario GANO con " + op2

    if(user === op3 && cpu === op2)
        return "el usuario GANO con " + op3
}

return "Empate"

};

Esta es mi pequeña aportación

var jugador = "tijera";
var maquina = "tijera";

function jugar (jugador, maquina) {
    if (jugador == "piedra") {
        if (maquina == "piedra") {
            return "Empate";
        }   
        else if (maquina == "papel") {
            return "El jugador pierde";
        }
        else if (maquina =="tijera") {
            return "El jugador gana";
        }
    } else if ( jugador == "papel") {
        if (maquina == "piedra") {
            return "El jugador gana";
        }   
        else if (maquina == "papel") {
            return "Empate";
        }
        else if (maquina =="tijera") {
            return "El jugador pierde";
        }
    } else if ( jugador == "tijera") {
        if (maquina == "piedra") {
            return "El jugador pierde";
        }   
        else if (maquina == "papel") {
            return "El jugador gana";
        }
        else if (maquina =="tijera") {
            return "Empate";
        }
    }



}
var resultado = jugar (jugador, maquina);
console.log (resultado); 
      function  Aleatorio(min,max){
        return Math.floor(Math.random() * (max-min+1)+min)
      }
      
      function eleccion (jugada){
          let resultado=""


      if (jugada==1){
        resultado="Piedra 🥌"
      } else if (jugada==2) {
        resultado="Papel 🧻"
      } else if (jugada==3) {
        resultado="Tijera ✂"
      } else  {
        resultado="Mal Seleccionado"
      }
     
      return resultado



      }

        let=jugador=0
     
        let pc = Aleatorio(1,3)
      jugador=prompt("Elige: 1 para piedra, 2 para papel, 3 tijeras")

      alert("Pc elige: " + eleccion(pc))
      alert("Tu eliges: " + eleccion(jugador))



    if (pc==jugador) {
          alert("Empate")
      } else if (jugador ==1 && pc==3) {
          alert("Ganaste")
      } else if (jugador==2 && pc==1) {
        alert("Ganaste")
      } else if (jugador==3 && pc==2) {
        alert("Ganaste")  
      } else {
          alert("Perdiste")
      }

Aqui mi aporte, sigamos aprendiendo!!

var a='piedra', b='papel', c='tijera';
var opcion_pc = [a,b,c]             /*organizamos variables en un arreglo */

var tu_opcion=prompt('Ingresa tu opcion en letras minisculas','piedra, papel, tijera');
var result_pc = opcion_pc[Math.floor(Math.random()*opcion_pc.length)]       /*formato para seleccionar valores randomicos de una lista de strings */

function resultado(){
    
    console.log("Tu escogiste:" + tu_opcion);
    console.log("Tu laptop escogio:" +result_pc);

    if((tu_opcion=='piedra' && result_pc==b)||(tu_opcion=='papel' && result_pc==a)){
        console.log("Gana papel");
    }else if((tu_opcion=='piedra' && result_pc==c)||(tu_opcion=='tijera' && result_pc==a)){
        console.log("Gana piedra");
    }else if((tu_opcion=='papel' && result_pc==c)||(tu_opcion=='tijera' && result_pc==b)){
        console.log("Gana tijera");
    }else{
        console.log("Son iguales, estan empates!!");
    }

}

aquí mi solución:

var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijeras";

function juego (user, cpu){
    if (user === cpu){
        console.log("Empate")
    }
    else if(user != cpu){
        if (user === op1 && cpu === op3){
            console.log("Ganó el usuario")
        }
        else if (user === op2 && cpu === op1){
            console.log("Ganó el usuario")
        }
        else if (user === op3 && cpu === op2){
            console.log("Ganó el usuario")
        }
        else {
            console.log("Ganó el CPU")
        }
    }
}

var resultado = juego(op1,op2)

Lo hice de esta forma es mas largo, pero intenta evaluar todas las posibilidades, espero que les sirva.

var op1 = "Piedra";
var op2 = "Papel";
var op3 = "Tijera";

var resultado = function(usuario, cpu){
    if(usuario == op1 && cpu == op2){
        console.log('Gana CPU');
    }else if(usuario == op2 && cpu == op2){
        console.log('Empate');
    }else if(usuario == op3 && cpu == op2){
        console.log('Gana Usuario');
    }else if(usuario == op2 && cpu == op1){
        console.log('Gana Usuario');
    }else if(usuario == op2 && cpu == op3){
        console.log('Gana CPU');
    }else if(usuario == op3 && cpu == op1){
        console.log('Gana CPU');
    }else if(usuario == op3 && cpu == op2){
        console.log('Gana Usuario');
    }else if(usuario == op1 && cpu == op3){
        console.log('Gana Usuario');
    }else if(usuario == op1 && cpu == op1){
        console.log('Empate');
    }else if(usuario == op3 && cpu == op3){
        console.log('Empate');
    }
}

resultado(op1, op3)

My contribution!

function game(user,machine){
    if (user === "rock" && machine === "scissors" || user === "paper" && machine === "rock" || user === "scissors" && machine === "paper"){
        return "You win!"
    }
    else if ( user === machine){
        return "Draw!"
    }
    else {
        return "You lose!"
    }
}

console.log(game("paper","rock"))

Les comparto el codigo que hice para que sea mas interactivo

let jugador = 0;
let pc = 0;
let triunfos = 0;
let perdidas = 0;


function aleatorio(min, max)
{
    return Math.floor(Math.random()*(max-min+1)+1);
}

function eleccion(jugada)
{
    let resultado = ""
    if (jugada == 1)
    {
        resultado = "Piedra🥌";
    }
    else if (jugada == 2)
    {
        resultado = "Papel 📰";
    }
    else if(jugada == 3)
    {
        resultado = "Tijera ✂";
    }
    else
    {
        resultado = "Perdiste";
    }
    return resultado
}

while (triunfos < 3 && perdidas < 3)
{
    pc = aleatorio(1,3);
    jugador = prompt("Elige: 1 para pieda, 2 para papel, 3 para tijera");

    alert("PC elige: " + eleccion(pc))
    alert("Tu eliges: " + eleccion(jugador))

    //combate

    if(pc == jugador)
    {
        alert("Empate");
    } 
    else if ((jugador == 1 && pc == 3) || (jugador == 2 && pc == 1) || (jugador == 3 && pc == 2))
    {
        alert("Ganaste!!!!");
        triunfos = triunfos + 1;
    } 
    else
    {
        alert("Perdiste! 😢")
        perdidas = perdidas + 1;
    }
}

alert(`Ganaste ${triunfos} veces. Perdiste ${perdidas} veces.`)

Mi honrado aporte con lo aprendido en clase:

Yo me compliqué un poco para hacer un programa más detallado.

  • puse las elecciones en un objeto con valores asignados
// Piedra, papel y tijreas con sus respectivos valores
var armas = [{ name: "piedra", number: 1 }, 
            { name: "papel", number: 2 }, 
            { name: "tijera", number: 3 }];
  • Luego hice una función para obtener únicamente el nombre de un “arma” aleatoriamente.
// Obtiene un elemento de las armas
function obtenerEleccion(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
  }
  • La computadora hace su elección.
// Eleccion de la computadora
var eleccionComputadora = obtenerEleccion(armas);
var armaComputadora = eleccionComputadora.name;
var valorComputadora = eleccionComputadora.number;
  • Se le pide al usuario su arma.
// Eleccion usuario
var armaUsuario = prompt("Elije tu arma: ").toLowerCase();
var valorUsuario = obtenerValorArma(armas, armaUsuario);
  • La función usada arriba es para obtener el valor del arma que eligió el usuario, esta es la función
// Obtiene el valor asignado a un arma
function obtenerValorArma(arr, arma) {
    for (element in arr){
        if (arma == arr[element].name){
            return arr[element].number;
        }
    }
}
  • anteriormente, se le asignó un valor a cada “arma”, esto es, porque con la resta de cada probabilidad podemos determinar fácilmente el resultado.
    piedra = 1
    papel = 2
    tijera = 3
    probabilidades:
    1 - 1 -> 0 -> Empate
    1 - 2 -> -1 -> Pierde
    1 - 3 -> -2 -> Gana
    2 - 1 -> 1 -> Gana
    2 - 2 -> 0 -> Empate
    2 - 3 -> -1 -> Pierde
    3 - 1 -> 2 -> Pierde
    3 - 2 -> 1 -> Gana
    3 - 3 -> 0 -> Empate
// Obtener el resultado de la partida
function verResultado(valor1, valor2) {
    var substraction = valor1 - valor2;
    if (substraction == 0) {
        return "Empate";
    } else if (substraction == -1 || substraction == 2) {
        return "You Lose";
    } else if (substraction == -2 || substraction == 1) {
        return "You win";
    }
}
  • Se obtiene el resultado.
// Resultado de la partida
var result = verResultado(valorUsuario, valorComputadora);
  • Por último, se imprime el resultado.
// Imprimir elecciones y el resultado
console.log(`Elegiste : ${armaUsuario} \nLa Computadora eligio: ${armaComputadora}`);
console.log(result);

Si tienen recomendaciones para el código final se los agradecería mucho, como no sé cómo validar que el arma elegida por el usuario este dentro de las armas y en caso contrario volver a pedirle su arma.
Saludos🙋🏿‍♂️

Reto cumplido. 😄

const shapeRock = "PIEDRA"
const shapePaper = "PAPEL"
const shapeScissors = "TIJERA"

let move
let computer
let result

function start() {
  console.log("BIENVENIDOS AL JUEGO PIEDRA, PAPEL O TIJERA")
  console.log("Elija su jugada: ")
  console.log("1. PIEDRA", "\n2. PAPEL", "\n3. TIJERA")
  let select = prompt("del 1 al 3...")
  if (select == 1) {
    move = "PIEDRA"
  } else if (select == 2) {
    move = "PAPEL"
  } else if (select == 3) {
    move = "TIJERA"
  } else {
    console.log("Elige una opción permitida")
  }

  fight(move)
}

function fight(move) {
  
  computer = moveComputer()
  if(move == computer){
    result = "Empate..!"
  } else if (move == shapeRock && computer == shapeScissors) {
    result = "Ganaste..! :)"
  } else if (move == shapePaper && computer == shapeRock) {
    result = "Ganaste..! :)"
  } else if (move == shapeScissors && computer == shapePaper) {
    result = "Ganaste..! :)"
  } else {
    result = "Perdiste... :("
  }
  console.log("Tu jugada: "+move+ "\nEl computador jugó: "+ computer+ "\nResultado: " + result)
}
function moveComputer() {
  let moveRandom = getRandom(1, 4)
  if (moveRandom == 1) {
    computer = "PIEDRA"
  } else if (move == 2) {
    computer = "PAPEL"
  } else {
    computer = "TIJERA"
  }
  return computer
}

function getRandom(min, max) {
  return Math.trunc(Math.random() * (max - min) + min)
}

// inicialización 
start()

Hola, les dejo un ejemplo de como lo hice yo. generé una lista de las opciones y en base a eso hice un random para que el computador seleccione una opción de manera aleatoria.

var listaOpciones = ["Piedra", "Papel", "Tijera"]
var seleccionJugador = listaOpciones[0];
var seleccionComputador = listaOpciones[Math.floor(Math.random() * listaOpciones.length)];
console.log(seleccionComputador);
juega(seleccionJugador);

function juega(seleccion) {
    var esGanador = false;

    if(seleccion === seleccionComputador) {
        console.log("Empate");
    }
    else if (seleccion === "Piedra")
    {
        seleccionComputador === "Papel" ? console.log("Perdiste") : console.log("Ganaste");
    }
    else if (seleccion === "Papel")
    {
        seleccionComputador === "Tijera" ? console.log("Perdiste") : console.log("Ganaste");
    }
    else if (seleccion === "Tijera")
    {
        seleccionComputador === "Piedra" ? console.log("Perdiste") : console.log("Ganaste");
    }
    else 
    {
        console.log("No entendí tu seleccion");
    }
}

Buena buenas, tarde varios dias. pero queria hacer esta tarea con las herramientas aprendidas en esta clase! gracias profe

hola me costo mucho pero creo que esta bien si me se puede aportar algo mas solo comentenporfa
var pc;
var movpc;
var hum;
var movhum
function aleatorio (min,max){
return Math.random()*(max-min)+min;
}
pc= Math.floor(aleatorio(1,4));

if (pc1){
movpc=“piedra”;
}
if (pc
2){
movpc=“papel”;
}
if (pc3){
movpc=“tijeras”;
}
hum=parseInt(prompt(“porfavor seleccione una opcion \n 1.piedra. \n 2.papel. \n 3.tijeras.”));
if (hum
1){
movhum=“piedra”;
}
if (hum2){
movhu=“papel”;
}
if (hum
3){
movhum=“tijeras”;
}

if(movhum == “tijeras”
&& movpc == “papel” )
{console.log (“ganaste”);
}

else if (movhum == “piedra”
&& movpc == “tijeras”)
{console.log(“ganaste”);
}

else if ( movhum == “papel”
&& movpc == “piedra”)
{console.log (“ganaste”);
}

else if (movpc == movhum){
console.log (“empate”);
}

else{
console.log(“perdiste”)
movpc = “tijeras”}

Hola hice este codigo que les parece es con la funcion random

function getRandomItem(arr) {

    const array = ["Piedra","Papel","Tijera"];
    const randomIndex = Math.floor(Math.random() * array.length);

   
    const item = array[randomIndex];
    if (item===arr){
        console.log("You Win")
    }else{
        console.log("You lose")
    }
    return item;
}



const result = getRandomItem("Piedra");
console.log(result);