This forum is now read-only. Please use our new forums! Go to forums

banner
Close banner
0 points
Submitted by Felipe Arcos
over 10 years

Juego Piedra, papel o tijeras, con el código más claro

Como tengo algo de experiencia en programación, decidí hacerlo por mi cuenta y dejando el código más claro, ya que de la forma que proponen por aquí es más difícil de entender (comparaciones con el número generado aleatoriamente y demás).

Si alguien tiene alguna duda se la puedo resolver.

//Juego piedra papel o tijeras.

//Primera parte del juego, pide al usuario que elija entre piedra, papel o tijera.
var decisionUsuario = prompt("¿Piedra, papel o tijera?");

//Segunda parte del juego. El ordenador "decide" su elección de forma aleatoria.
var aleatorio = function() {
    var numero =  Math.floor((Math.random()*3)+1); 
    var respuesta;
    if (numero == 1) {
        respuesta = "Piedra";
    } else if (numero == 2) {
        respuesta = "Papel";
    } else {
        respuesta = "Tijera";
    }
    return respuesta;
};

var decisionOrdenador = aleatorio();
console.log ("Usuario: " +decisionUsuario + ", Ordenador: " +decisionOrdenador);

logicaJuego(decisionUsuario, decisionOrdenador);

//Tercera parte del juego. Se decide quién es el ganador
var logicaJuego = function(decisionUsuario, decisionOrdenador) {
    if (decisionUsuario == decisionOrdenador) {
        return console.log("Empate, los dos eligieron " +decisionUsuario);
    } else {
        if (decisionUsuario == "Piedra" && decisionOrdenador == "Papel") {
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el ordenador.");
        } 
        if (decisionUsuario == "Piedra" && decisionOrdenador == "Tijera") {
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el usuario");
        } 
        if (decisionUsuario == "Papel" && decisionOrdenador == "Tijera") { 
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el ordenador.");
         }
         if (decisionUsuario == "Papel" && decisionOrdenador == "Piedra"){
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el usuario");
        }
         if (decisionUsuario == "Tijera" && decisionOrdenador == "Piedra") {
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el ordenador.");
            }
         if (decisionUsuario == "Tijera" && decisionOrdenador == "Papel") {
            console.log(""+decisionUsuario +" vs " +decisionOrdenador + ", gana el usuario");
        }
    }
};

Answer 5256e2efabf8214ada0011c7

1 vote

Permalink

Hola compañero ;P. Hay algo que no tengo nada claro, ¿cómo hacés para decirle con la sentencia del if else, que tiene que ser un número “ENTRE” 0,34 y 0,66? Porque si uso por ejm…. if else computadorEscoge >=0,34 y despues en el else restante le mando lo que queda, es correcto? O está muy rebuscado? (En el ejm omití cosas si lo se)

points
Submitted by Fernando
over 10 years

4 comments

karengusmangutierres over 10 years

ami me sale malll me dice””” Uno de los rangos debe terminar en .33 “””

karengusmangutierres over 10 years

no entiendo ak se refiere

92043002637 over 8 years

por que me dice que logicaJuego no es una funcion.. quien me puede ayudar

92043002637 over 8 years

es muy urgente