No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Condicionales: If, Else, else if

14/29
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 鈥淏loque verdadero鈥, caso contrario (:), ejecuta el 鈥淏loque 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 4331

Preguntas 127

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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

隆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>```

Les comparto mis apuntes! 馃懜馃徑鉁

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.

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

Tambi茅n les comparto mis notas de la clase 馃槂

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(鈥淓mpate鈥)
}
else if (computadoraElije == 鈥減iedra鈥 && yoElijo == 鈥減apel鈥 ) {
console.log(鈥淕ana humano鈥)
}
else if (computadoraElije == 鈥減iedra鈥 && yoElijo == 鈥渢ijera鈥 ) {
console.log(鈥淕ana computadora鈥)
}
else if (computadoraElije == 鈥減apel鈥 && yoElijo == 鈥減iedra鈥 ) {
console.log(鈥淕ana computadora鈥)
}
else if (computadoraElije == 鈥減apel鈥 && yoElijo == 鈥渢ijera鈥 ) {
console.log(鈥淕ana humano鈥)
}
else if (computadoraElije == 鈥渢ijera鈥 && yoElijo == 鈥減apel鈥 ) {
console.log(鈥淕ana computadora鈥)
}
else if (computadoraElije == 鈥渢ijera鈥 && yoElijo == 鈥減iedra鈥 ) {
console.log(鈥淕ana humano鈥)
}
else {
console.log(鈥淎lgo salio mal y no se que pudo haber sido鈥)
}

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 鈥渓et鈥 o 鈥渃onst鈥.

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 = [鈥榩apel鈥, 鈥榩iedra鈥, 鈥榯ijera鈥橾
var randomoption = Math.round(Math.random()*2);
var piedra = 'piedra鈥
var papel = 'papel鈥
var tijera = 鈥榯ijera鈥

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(鈥楪anaste鈥);
}
else if (userselect == machine) {
alert(鈥楨sto es un empate鈥);
}
else {
alert(鈥楶erdiste鈥);
}

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 鈥渋f鈥:
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 鈥渋f 鈥 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 鈥渆lse 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')```

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>T煤</p>
                <img src="imagenes/piedra.png" alt="piedra">
                <p>Piedra</p>
            </div>
            <div id="papelPlayer1" class="container-figure--img hidden">
                <p>T煤</p>
                <img src="imagenes/papel.png" alt="papel">
                <p>Papel</p>
            </div>
            <div id="tijerasPlayer1" class="container-figure--img hidden">
                <p>T煤</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}`;
    }
}

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);

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 馃馃懆馃徏鈥嶐煉
*/```

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>

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鈥檓 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	

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.

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);

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(鈥減iedra鈥);
var papel = String(鈥減apel鈥);
var tijera = String(鈥渢ijera鈥);
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;
}
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

ser谩 tu primera vez xd

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 鈥渆leccion鈥 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");
  }
 }
var opcion;

function juguemos(opcion){
    if(opcion === "piedra"){
        console.log("ganaste")
    } else if(opcion === "papel"){
        console.log("perdiste")
    } 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=鈥渆n鈥>
<head>
<meta charset=鈥淯TF-8鈥 />
<link
href="https://fonts.googleapis.com/css?family=Muli&display=swap"
rel=鈥渟tylesheet鈥
/>
<meta name=鈥渧iewport鈥 content=鈥渨idth=device-width, initial-scale=1.0鈥 />
<title>Piedra-Papel-Tijera</title>
</head>

<style>
body {
margin: 0px;
font-family: 鈥淢uli鈥, 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=鈥渃ontainer鈥>
<section class=鈥渏ugadas鈥>
<div class=鈥渏ugadas__piedra鈥>
<h1>Piedra</h1>
<button id=鈥減iedra鈥>
<img src="/Stone.png" width=鈥75px鈥 height=鈥75px鈥 alt=鈥淪tone鈥 />
</button>
</div>
<div class=鈥渏ugadas__papel鈥>
<h1>Papel</h1>
<button id=鈥減apel鈥>
<img src="/Paper.png" width=鈥75px鈥 height=鈥75px鈥 alt=鈥減apel鈥 />
</button>
</div>
<div class=鈥渏ugadas__tijera鈥>
<h1>Tijera</h1>
<button id=鈥渢ijera鈥>
<img src="/Scissors.png" width=鈥75px鈥 height=鈥75px鈥 alt=鈥淪cissor鈥 />
</button>
</div>
</section>
<section class=鈥渆lecciones鈥>
<div class=鈥渆leccion__usuario鈥>
<h3>Usted eligi贸:</h3>
<div class=鈥渆leccion__usuario鈥揷ontent鈥>
<span id=鈥渕ySelection鈥></span>
</div>
</div>
<div class=鈥渆leccion__pc鈥>
<h3>Computador eligi贸:</h3>
<div class=鈥渆leccion__pc鈥揷ontent鈥>
<span id=鈥渃ompSelection鈥></span>
</div>
</div>
<div class=鈥渆leccion__ganador鈥>
<h3>El ganador es:</h3>
<div class=鈥渆leccion__ganador鈥揷ontent鈥>
<span id=鈥渨inner鈥></span>
</div>
</div>
</section>
</section>
<script type=鈥渢ext/javascript鈥 src="/juegoppt.js"></script>
</body>
</html>

El js:

var mySelection, compSelection, winner;

mySelection = document.getElementById(鈥渕ySelection鈥);
compSelection = document.getElementById(鈥渃ompSelection鈥);
winner = document.getElementById(鈥渨inner鈥);
piedraButton = document.getElementById(鈥減iedra鈥);
papelButton = document.getElementById(鈥減apel鈥);
scissorButton = document.getElementById(鈥渢ijera鈥);

piedraButton.addEventListener(鈥渃lick鈥, function () {
play(1);
});

papelButton.addEventListener(鈥渃lick鈥, function () {
play(2);
});

scissorButton.addEventListener(鈥渃lick鈥, 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 鈥淓mpate鈥;
} else if (input === 1) {
return 鈥淧iedra鈥;
} else if (input === 2) {
return 鈥淧apel鈥;
} else if (input === 3) {
return 鈥淭ijera鈥;
} else {
return 鈥淧lease 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");
}```

Se logro

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 = 鈥淧iedra鈥;
var op2 = 鈥淧apel鈥;
var op3 = 鈥淭ijera鈥;

// 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 鈥渁rma鈥 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 鈥渁rma鈥, 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");
    }
}

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! 馃槂

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=鈥減iedra鈥;
}
if (pc
2){
movpc=鈥減apel鈥;
}
if (pc3){
movpc=鈥渢ijeras鈥;
}
hum=parseInt(prompt(鈥減orfavor seleccione una opcion \n 1.piedra. \n 2.papel. \n 3.tijeras.鈥));
if (hum
1){
movhum=鈥減iedra鈥;
}
if (hum2){
movhu=鈥減apel鈥;
}
if (hum
3){
movhum=鈥渢ijeras鈥;
}

if(movhum == 鈥渢ijeras鈥
&& movpc == 鈥減apel鈥 )
{console.log (鈥済anaste鈥);
}

else if (movhum == 鈥減iedra鈥
&& movpc == 鈥渢ijeras鈥)
{console.log(鈥済anaste鈥);
}

else if ( movhum == 鈥減apel鈥
&& movpc == 鈥減iedra鈥)
{console.log (鈥済anaste鈥);
}

else if (movpc == movhum){
console.log (鈥渆mpate鈥);
}

else{
console.log(鈥減erdiste鈥)
movpc = 鈥渢ijeras鈥潁

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);

sera un reto fuerte apenas voy aprendiendo cada tema

var jugada1 = picachu;
var jugada2 = charmander;
var jugada3 = volvasor;
var player;
var pc;
Jugada()
function Jugada (){
if (player ===jugada1 && pc == jugada2) {
console.log(ganaste)
}else if (player ===jugada2 && pc == jugada3){
console.log(ganaste)
} else if(player ===jugada3 && pc == jugada1){
console.log(ganaste)
} else {
console.log(perdiste)
}
}

Aqu铆 mi soluci贸n al reto, est谩 sencillo, lo 煤nico que agregu茅 que no hemos visto hasta el momento en el curso, fue una funci贸n random para que la pc seleccione su opci贸n, y la funci贸n prompt para pedir valores. Estoy haciendo que 1=piedra, 2=papel y 3=tijeras. Se aceptan cr铆ticas, dudas y/o comentarios. 馃槂

var pc;
var humano;

function jugar(humano){
    humano = parseInt(humano);
    pc = Math.floor((Math.random() * (3 - 1 + 1)) + 1);
    if ( (humano === 1 && pc === 3) || 
       ( humano === 3 && pc === 2) || 
       ( humano === 2 && pc === 1)){
        console.log("Usted ha ganado, humano")
    }
    else if ((pc === 1 && humano === 3) || 
            (pc === 3 && humano === 2) || 
            (pc === 2 && humano === 1)){
                console.log('Mean machine ha ganado, jajajaja');
            }
    else if (pc === humano ){
        console.log('Es un empate');
    }
    else {
        console.log('Ingresa valores correctos humano!!!');
    }
}

console.log("Selecciona 1-piedra, 2-papel, 3-tijeras: ");
humano=prompt('Escriba su selecci贸n: ');
jugar(humano);


us茅 lo aprendido hasta el momento

function resultado(humano ,maquina){
if (humano === maquina){
console.log(鈥渆mpate鈥);
// opciones con piedra

} else if (humano === 鈥減iedra鈥 && maquina === 鈥減apel鈥){
console.log (鈥淢aquina gana | papel gana a piedra鈥);
} else if(humano === 鈥減iedra鈥 && maquina === 鈥渢ijera鈥){
console.log(鈥淗umano gana | piedra gana a tijera鈥);
// opciones humano con piedra

} else if(humano === 鈥減apel鈥 && maquina === 鈥渢ijera鈥){
console.log(鈥淢aquina gana | tijera gana a papel鈥);
} else if(humano === 鈥減apel鈥 && maquina === 鈥減iedra鈥){
console.log(鈥淗umano gana | papel gana a piedra鈥);
// opciones humano con papel

} else if(humano === 鈥渢ijera鈥 && maquina === 鈥減iedra鈥){
console.log(鈥淢aquina gana | piedra gana a tijera鈥);
} else if(humano === 鈥渢ijera鈥 && maquina === 鈥減apel鈥){
console.log(鈥淗umano gana | tijera gana a papel鈥);
}
}
// el humano siempre es primero

resultado(鈥減apel鈥,鈥減iedra鈥);

** Est谩 feo pero funciona 馃槀**

var Us = "Tijera";
var CPU = "Papel";

if (Us == "Piedra" && CPU == "Papel"){
    console.log("El jugador Pierde!");
} else if (Us == "Papel" && CPU == "Piedra"){
    console.log("El jugador Gana!");
} else if (Us == "Tijera" && CPU == "Papel"){
    console.log("El jugador Gana!");
} else if (Us == "Papel" && CPU == "Tijera"){
    console.log("El jugador Pierde!");
} else if (Us == "Piedra" && CPU == "Tijera"){
    console.log("El jugador Gana!");
} else if (Us == "Tijera" && CPU == "Piedra"){
    console.log("El jugador Pierde!");
} else if (Us == CPU){
    console.log("Es un empate!");
} else {
    console.log("Error");
}

Esta es mi soluci贸n a la tarea, s茅 que se puede ahorrar algunas lineas de c贸digo pero por ahora quise hacer con la mayor铆a de opciones que nos ense帽贸 el profe!

asi lo hice

//codigo juego piedra papel o tijera

//delcaro las variables
var piedra= "piedra";
var papel = "papel";
var tijera = "tijera";


//creo un arreglo para las variables  que el pc elige
var pc =["piedra","papel","tijera"];


//funcion donde el juego inicia
function juego(objeto){
   var seleccionPc = pc.length
    
   //realizamo la comparacion con el resultado que de al azar para el pc
   if(objeto === "piedra" && pc[Math.floor(Math.random()* seleccionPc)] === "tijera"){
    console.log("ganaste")
    }else if(objeto === "papel" && pc[Math.floor(Math.random()* seleccionPc)] === "piedra"){
        console.log("ganaste")
    }else if(objeto === "tijera" && pc[Math.floor(Math.random()* seleccionPc)] === "papel"){
        console.log("ganaste")
    }else{
        console.log ("Perdiste")
    }
}

//llamamos la funcion y le enviamos la varible elegida
juego(piedra);

Se debe agregar la opcion para el usuario puede ingresar la opcion segun quiera y que la maquina elija aleatoriamente.

let op1 ="Rock";
let op2 ="Paper";
let op3 ="Scissors";
let j1= op1
let j2 =op2

function Game (j1,j2){
    if (j1===j2){
        console.log("It is a tied")
    }
    else if((j1 ===op1 && j2===op2)||(j1 ===op2 && j2===op3)||(j1 ===op3 && j2===op1)){
        console.log("lost  with "+ j1);
    }
    else if ((j2 ===op1 && j1===op2)||(j2 ===op2 && j1===op3)||(j2 ===op3 && j1===op1)){
        console.log ("You win with  " + j1);
    }
    else {
        console.log("Enter a avaible option")
    }
    
};
Game(j1,j2)

este es mi aporte

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

function juego (usuario, cpu) {
    if ( usuario == 1 && cpu == 3 || usuario == 2 && cpu == 1 || usuario == 3 && cpu == 2  ) {

        console.log("ganaste")
        
    }else if(usuario === cpu){
        console.log("empataste")
    }else{
        console.log("perdiste")
    }

}

Yo lo hice as铆 馃槂

let jugador1 = 鈥減apel鈥;
let jugador2 = 鈥減apel鈥;

if (jugador1===jugador2) {

console.log("empate")

}
else if (jugador1 === 鈥減iedra鈥 && jugador2 === 鈥渢ijera鈥 || jugador1 === 鈥減apel鈥
&& jugador2 === 鈥減iedra鈥 || jugador1 === 鈥渢ijera鈥 && jugador2 === 鈥減apel鈥){
console.log(鈥淕anaste鈥)

}
else {

console.log("perdiste")

}